mirror of
				https://github.com/community-scripts/ProxmoxVE.git
				synced 2025-11-04 10:22:50 +00:00 
			
		
		
		
	Compare commits
	
		
			875 Commits
		
	
	
		
			2025-08-05
			...
			2025-09-24
		
	
	| Author | SHA1 | Date | |
|---|---|---|---|
| 
						 | 
					7fd08cbe69 | ||
| 
						 | 
					285447b67f | ||
| 
						 | 
					b394cdf6e0 | ||
| 
						 | 
					ab2a6ed38e | ||
| 
						 | 
					f8e109c529 | ||
| 
						 | 
					46e4bc3a04 | ||
| 
						 | 
					d0a1f305c7 | ||
| 
						 | 
					6948e1f695 | ||
| 
						 | 
					8c860da4ed | ||
| 
						 | 
					d32e9fad59 | ||
| 
						 | 
					9096a388c7 | ||
| 
						 | 
					9f0efc27df | ||
| 
						 | 
					06ca6e2087 | ||
| 
						 | 
					8c48ea6718 | ||
| 
						 | 
					b626e705eb | ||
| 
						 | 
					f103d09c09 | ||
| 
						 | 
					82a7d252ab | ||
| 
						 | 
					48af77e928 | ||
| 
						 | 
					d24308a409 | ||
| 
						 | 
					584365fff1 | ||
| 
						 | 
					95c54dccd7 | ||
| 
						 | 
					eb28463d86 | ||
| 
						 | 
					bddde99252 | ||
| 
						 | 
					f1f8c1b279 | ||
| 
						 | 
					37a0a4add9 | ||
| 
						 | 
					02cede3f5d | ||
| 
						 | 
					42a7d57a42 | ||
| 
						 | 
					53b5f0d1fe | ||
| 
						 | 
					4a56d8d9aa | ||
| 
						 | 
					f819188a5e | ||
| 
						 | 
					4d6e3e5977 | ||
| 
						 | 
					d6fc527200 | ||
| 
						 | 
					c103c3b03d | ||
| 
						 | 
					2d290cb27f | ||
| 
						 | 
					883efd1cd2 | ||
| 
						 | 
					1f40670ea0 | ||
| 
						 | 
					cec4e2d5c1 | ||
| 
						 | 
					1fafb3f661 | ||
| 
						 | 
					b56b053e8b | ||
| 
						 | 
					21f98835dc | ||
| 
						 | 
					ab455d7748 | ||
| 
						 | 
					5382fa1dbd | ||
| 
						 | 
					6fa1938360 | ||
| 
						 | 
					2a2df5b5cc | ||
| 
						 | 
					f99d582eb5 | ||
| 
						 | 
					d3f24ae5b2 | ||
| 
						 | 
					25e89f7bac | ||
| 
						 | 
					2686753448 | ||
| 
						 | 
					19678e2534 | ||
| 
						 | 
					1ac8f90281 | ||
| 
						 | 
					7cd3e40f9c | ||
| 
						 | 
					42191bdb5a | ||
| 
						 | 
					aab1a9bce5 | ||
| 
						 | 
					208226065b | ||
| 
						 | 
					54e62749be | ||
| 
						 | 
					2a8e2e62cd | ||
| 
						 | 
					b15d7be4c3 | ||
| 
						 | 
					e208bc110b | ||
| 
						 | 
					b26ad61a33 | ||
| 
						 | 
					5beaec9514 | ||
| 
						 | 
					3a668870b7 | ||
| 
						 | 
					3266962630 | ||
| 
						 | 
					2a3f5d7b47 | ||
| 
						 | 
					fb4c3cf9e9 | ||
| 
						 | 
					e96ea4eb40 | ||
| 
						 | 
					dfbe5f03ce | ||
| 
						 | 
					9c53c70f6b | ||
| 
						 | 
					a3c7f468ef | ||
| 
						 | 
					605f7a0330 | ||
| 
						 | 
					306627378e | ||
| 
						 | 
					0e464cb192 | ||
| 
						 | 
					277f6ce7d1 | ||
| 
						 | 
					a6d6f79943 | ||
| 
						 | 
					a7ced850ab | ||
| 
						 | 
					eadca5f81f | ||
| 
						 | 
					5ab375fd89 | ||
| 
						 | 
					2dc95b6b22 | ||
| 
						 | 
					57dd3d5a44 | ||
| 
						 | 
					25ddf48190 | ||
| 
						 | 
					01b6bec1fe | ||
| 
						 | 
					d1ff8201b1 | ||
| 
						 | 
					c5c5ba1ede | ||
| 
						 | 
					e3aabd81a3 | ||
| 
						 | 
					4713941415 | ||
| 
						 | 
					adda76f587 | ||
| 
						 | 
					cf597b6a26 | ||
| 
						 | 
					20e8730a34 | ||
| 
						 | 
					9ce9de8e84 | ||
| 
						 | 
					ac3f969016 | ||
| 
						 | 
					c0597842f8 | ||
| 
						 | 
					667d354059 | ||
| 
						 | 
					d56c1e2f50 | ||
| 
						 | 
					3dfbc2d6ea | ||
| 
						 | 
					31b33d370e | ||
| 
						 | 
					d4d4c0e07a | ||
| 
						 | 
					aded4d5809 | ||
| 
						 | 
					c00308524b | ||
| 
						 | 
					fef7786714 | ||
| 
						 | 
					0dfd337a9a | ||
| 
						 | 
					d99862fa24 | ||
| 
						 | 
					ac08d385c0 | ||
| 
						 | 
					7a9de76acb | ||
| 
						 | 
					35f3f043a7 | ||
| 
						 | 
					4276df26d7 | ||
| 
						 | 
					5fec573533 | ||
| 
						 | 
					ebd269a808 | ||
| 
						 | 
					532c0a95bb | ||
| 
						 | 
					c078b11aa9 | ||
| 
						 | 
					ab8b025824 | ||
| 
						 | 
					e2044a0572 | ||
| 
						 | 
					59e65eaba3 | ||
| 
						 | 
					a2306d6b32 | ||
| 
						 | 
					3e71af1895 | ||
| 
						 | 
					8a3b41867b | ||
| 
						 | 
					b4b9efeff2 | ||
| 
						 | 
					5e2168b2d1 | ||
| 
						 | 
					c00c1deb79 | ||
| 
						 | 
					37e3739bd2 | ||
| 
						 | 
					f5eda37397 | ||
| 
						 | 
					9e42c801f1 | ||
| 
						 | 
					e4d6dfc885 | ||
| 
						 | 
					14894f84b6 | ||
| 
						 | 
					b5f70e6e77 | ||
| 
						 | 
					2919ce16f1 | ||
| 
						 | 
					38cf6b2f46 | ||
| 
						 | 
					c390fb925d | ||
| 
						 | 
					a28fdac3f0 | ||
| 
						 | 
					41b27b31dc | ||
| 
						 | 
					7ef8afe4d2 | ||
| 
						 | 
					694d9c203e | ||
| 
						 | 
					76dcc45e9f | ||
| 
						 | 
					a0952e9f69 | ||
| 
						 | 
					3bd6b6e540 | ||
| 
						 | 
					61be53cc26 | ||
| 
						 | 
					02eda516df | ||
| 
						 | 
					25213fabaa | ||
| 
						 | 
					ad8a4f63c4 | ||
| 
						 | 
					bcce0e20c1 | ||
| 
						 | 
					515c4073c4 | ||
| 
						 | 
					30e22ff661 | ||
| 
						 | 
					8265abfb20 | ||
| 
						 | 
					b40d061f3e | ||
| 
						 | 
					efe598d6ec | ||
| 
						 | 
					82caa8769e | ||
| 
						 | 
					7961023f8c | ||
| 
						 | 
					ea58fdb7e0 | ||
| 
						 | 
					238895534a | ||
| 
						 | 
					cc1c2f84ca | ||
| 
						 | 
					3aff0d9d7e | ||
| 
						 | 
					7cd332680a | ||
| 
						 | 
					382e679842 | ||
| 
						 | 
					a3b5f798de | ||
| 
						 | 
					c22630c887 | ||
| 
						 | 
					542f260f31 | ||
| 
						 | 
					a40cc130bd | ||
| 
						 | 
					7311f1b843 | ||
| 
						 | 
					acd9bb1357 | ||
| 
						 | 
					e2e2459bfd | ||
| 
						 | 
					caeba37a2e | ||
| 
						 | 
					44a8c70437 | ||
| 
						 | 
					1860f4b2ee | ||
| 
						 | 
					bf0bac1523 | ||
| 
						 | 
					b6bfe9a4b6 | ||
| 
						 | 
					634386ea50 | ||
| 
						 | 
					020c8a76c1 | ||
| 
						 | 
					8f738e2d26 | ||
| 
						 | 
					e5e7547eca | ||
| 
						 | 
					a383aa5679 | ||
| 
						 | 
					ce68253564 | ||
| 
						 | 
					65e561dcbe | ||
| 
						 | 
					dffb291a4f | ||
| 
						 | 
					f3bcb3211c | ||
| 
						 | 
					7c22fe5f46 | ||
| 
						 | 
					600e739005 | ||
| 
						 | 
					31be78878f | ||
| 
						 | 
					e47d62d575 | ||
| 
						 | 
					ec58d6c622 | ||
| 
						 | 
					bac2b6eade | ||
| 
						 | 
					bb289203c6 | ||
| 
						 | 
					fe97056d19 | ||
| 
						 | 
					65ba9192d9 | ||
| 
						 | 
					8a096b9e6e | ||
| 
						 | 
					1c6efa528b | ||
| 
						 | 
					89c3410f6f | ||
| 
						 | 
					34b1d70762 | ||
| 
						 | 
					1860847153 | ||
| 
						 | 
					58905bf94d | ||
| 
						 | 
					7d1788a079 | ||
| 
						 | 
					83e04257d9 | ||
| 
						 | 
					11c33e34d2 | ||
| 
						 | 
					52df77cab5 | ||
| 
						 | 
					17f6264a03 | ||
| 
						 | 
					9463b0b808 | ||
| 
						 | 
					eba83f3848 | ||
| 
						 | 
					e3f6ea73c3 | ||
| 
						 | 
					06247e742c | ||
| 
						 | 
					4606782d6b | ||
| 
						 | 
					a988acf2d5 | ||
| 
						 | 
					5f44007372 | ||
| 
						 | 
					8b87272e38 | ||
| 
						 | 
					ceccf08f69 | ||
| 
						 | 
					5a80cd7e02 | ||
| 
						 | 
					d617a49766 | ||
| 
						 | 
					7c0d79c115 | ||
| 
						 | 
					0d4a508543 | ||
| 
						 | 
					f979dd2277 | ||
| 
						 | 
					87de220511 | ||
| 
						 | 
					481e70b0aa | ||
| 
						 | 
					6c3a16e579 | ||
| 
						 | 
					394f91c994 | ||
| 
						 | 
					63a268d6c5 | ||
| 
						 | 
					9ee6e23a59 | ||
| 
						 | 
					eceb1cd53c | ||
| 
						 | 
					719c55655d | ||
| 
						 | 
					aeb15c7ea1 | ||
| 
						 | 
					0c7a366782 | ||
| 
						 | 
					93a3a572d4 | ||
| 
						 | 
					8b2645a529 | ||
| 
						 | 
					b72e132699 | ||
| 
						 | 
					f4df8e2ccc | ||
| 
						 | 
					f03f004226 | ||
| 
						 | 
					b13c840bda | ||
| 
						 | 
					ce90647bda | ||
| 
						 | 
					164e487090 | ||
| 
						 | 
					a4660adedd | ||
| 
						 | 
					9352eec854 | ||
| 
						 | 
					4478f8f6e0 | ||
| 
						 | 
					d69cbcd941 | ||
| 
						 | 
					affcfd06cf | ||
| 
						 | 
					b94b088c19 | ||
| 
						 | 
					5385382a88 | ||
| 
						 | 
					d06ad37a22 | ||
| 
						 | 
					72c7d4199b | ||
| 
						 | 
					2e75ced83f | ||
| 
						 | 
					9a28ce0263 | ||
| 
						 | 
					9ed2507bdc | ||
| 
						 | 
					c617870c2b | ||
| 
						 | 
					eb71d21ea3 | ||
| 
						 | 
					762452b2b3 | ||
| 
						 | 
					31cd3e3119 | ||
| 
						 | 
					c25dba9212 | ||
| 
						 | 
					52cefe4a00 | ||
| 
						 | 
					7b8fcab242 | ||
| 
						 | 
					b733e8b5ea | ||
| 
						 | 
					4a4e67a3cf | ||
| 
						 | 
					b00feea00d | ||
| 
						 | 
					c250cec418 | ||
| 
						 | 
					a0af0f5196 | ||
| 
						 | 
					2f0b6e10ab | ||
| 
						 | 
					a41364d91d | ||
| 
						 | 
					e580a5d9c1 | ||
| 
						 | 
					9d059b2a13 | ||
| 
						 | 
					6e32eebdf0 | ||
| 
						 | 
					7f3ebd4296 | ||
| 
						 | 
					0c4d55bd78 | ||
| 
						 | 
					8f05be3f6b | ||
| 
						 | 
					e06cd4b28c | ||
| 
						 | 
					b9242b3232 | ||
| 
						 | 
					63f6d772ea | ||
| 
						 | 
					652df1f370 | ||
| 
						 | 
					f4b5baf308 | ||
| 
						 | 
					cc36fd5434 | ||
| 
						 | 
					3e182978ad | ||
| 
						 | 
					e7adf1a9b5 | ||
| 
						 | 
					36fb86eaf8 | ||
| 
						 | 
					495c47224e | ||
| 
						 | 
					7af71384b4 | ||
| 
						 | 
					e318152ee3 | ||
| 
						 | 
					17dc7c90a1 | ||
| 
						 | 
					226a5bce8f | ||
| 
						 | 
					ffd2ed01b9 | ||
| 
						 | 
					3348e2fff0 | ||
| 
						 | 
					def41f66f4 | ||
| 
						 | 
					02a1a732f8 | ||
| 
						 | 
					2494af7e1c | ||
| 
						 | 
					0c4711d99f | ||
| 
						 | 
					039f73a5ed | ||
| 
						 | 
					74b58d5b10 | ||
| 
						 | 
					61044104a2 | ||
| 
						 | 
					fac612077a | ||
| 
						 | 
					135b3ff964 | ||
| 
						 | 
					393b853119 | ||
| 
						 | 
					6bb2938e34 | ||
| 
						 | 
					fbf16fd54d | ||
| 
						 | 
					d6d4fd034f | ||
| 
						 | 
					aa4999dac6 | ||
| 
						 | 
					b6c0b50e79 | ||
| 
						 | 
					0f07f1927e | ||
| 
						 | 
					4493d86e51 | ||
| 
						 | 
					fbfeeeb88f | ||
| 
						 | 
					2366111bba | ||
| 
						 | 
					5fb42b87f1 | ||
| 
						 | 
					500c35c58d | ||
| 
						 | 
					ca3446c90e | ||
| 
						 | 
					4c3d42d5d1 | ||
| 
						 | 
					299a10efe8 | ||
| 
						 | 
					7adac2a342 | ||
| 
						 | 
					eb58b10d75 | ||
| 
						 | 
					5e46d81c45 | ||
| 
						 | 
					2963926c45 | ||
| 
						 | 
					d9a0b863a8 | ||
| 
						 | 
					db6369f3c6 | ||
| 
						 | 
					d450e263f0 | ||
| 
						 | 
					462960d9bf | ||
| 
						 | 
					8ea4829e8a | ||
| 
						 | 
					c5d23dc883 | ||
| 
						 | 
					3dc973e4ac | ||
| 
						 | 
					751f488f9e | ||
| 
						 | 
					0ed4363247 | ||
| 
						 | 
					e77612c27e | ||
| 
						 | 
					59c8e214af | ||
| 
						 | 
					c790f03a6b | ||
| 
						 | 
					54d4d58b15 | ||
| 
						 | 
					889a58c00e | ||
| 
						 | 
					e9a5d7587a | ||
| 
						 | 
					6f84046741 | ||
| 
						 | 
					ff96351db8 | ||
| 
						 | 
					1b632199b3 | ||
| 
						 | 
					9fb02a93b4 | ||
| 
						 | 
					3aa56651d8 | ||
| 
						 | 
					17d4c59041 | ||
| 
						 | 
					2bfb35779b | ||
| 
						 | 
					83b93390c9 | ||
| 
						 | 
					7ce47ad414 | ||
| 
						 | 
					646e0c31f4 | ||
| 
						 | 
					0c7e200a94 | ||
| 
						 | 
					a9b02b3e9c | ||
| 
						 | 
					b62adc2c5c | ||
| 
						 | 
					3438b046e5 | ||
| 
						 | 
					cbd6d6d0f3 | ||
| 
						 | 
					cf6c429c57 | ||
| 
						 | 
					bbe71cbbb9 | ||
| 
						 | 
					9b6a736c8c | ||
| 
						 | 
					c395ccc270 | ||
| 
						 | 
					3dd72e08e9 | ||
| 
						 | 
					1d989bea73 | ||
| 
						 | 
					f881b88344 | ||
| 
						 | 
					06dbad83ef | ||
| 
						 | 
					7ff966b042 | ||
| 
						 | 
					62264f37a6 | ||
| 
						 | 
					bf05dabc4c | ||
| 
						 | 
					bc229d9738 | ||
| 
						 | 
					969b08caa8 | ||
| 
						 | 
					c1c43ed2cb | ||
| 
						 | 
					e74767d1a4 | ||
| 
						 | 
					e9e17f4f51 | ||
| 
						 | 
					2c1b15a40e | ||
| 
						 | 
					a4bfaf1646 | ||
| 
						 | 
					6fa12cc814 | ||
| 
						 | 
					d314168a37 | ||
| 
						 | 
					d6ad11c5c2 | ||
| 
						 | 
					534592b44a | ||
| 
						 | 
					d9b6b58b36 | ||
| 
						 | 
					298eb7e83d | ||
| 
						 | 
					c2dd1e413f | ||
| 
						 | 
					a4f1766408 | ||
| 
						 | 
					a24169e9b8 | ||
| 
						 | 
					45a2163e66 | ||
| 
						 | 
					2fc3e62d60 | ||
| 
						 | 
					210b846d61 | ||
| 
						 | 
					b04cfb65f7 | ||
| 
						 | 
					6a2fc4083b | ||
| 
						 | 
					f7f53943c2 | ||
| 
						 | 
					31f4d9b16c | ||
| 
						 | 
					cd4cd5eec1 | ||
| 
						 | 
					8a7eeee727 | ||
| 
						 | 
					be5d65f421 | ||
| 
						 | 
					591af3f109 | ||
| 
						 | 
					a3e0df9de1 | ||
| 
						 | 
					596699d07e | ||
| 
						 | 
					b2275b44c2 | ||
| 
						 | 
					737842fb1e | ||
| 
						 | 
					646cb2bc30 | ||
| 
						 | 
					4599bfe052 | ||
| 
						 | 
					bb85b1d4ac | ||
| 
						 | 
					57ae4a48a7 | ||
| 
						 | 
					06e8460851 | ||
| 
						 | 
					9713c95bf4 | ||
| 
						 | 
					705748bba5 | ||
| 
						 | 
					022f079821 | ||
| 
						 | 
					80d75731a8 | ||
| 
						 | 
					227721a72f | ||
| 
						 | 
					5572a7a0ab | ||
| 
						 | 
					6a69185a2d | ||
| 
						 | 
					77441b6189 | ||
| 
						 | 
					4aa337c2f2 | ||
| 
						 | 
					4bd2f6866a | ||
| 
						 | 
					377de80103 | ||
| 
						 | 
					1c62d4614e | ||
| 
						 | 
					a91f7410a4 | ||
| 
						 | 
					528c0a8de5 | ||
| 
						 | 
					988bd3ef19 | ||
| 
						 | 
					99d9664ae4 | ||
| 
						 | 
					09649eb5b1 | ||
| 
						 | 
					5c49ba784a | ||
| 
						 | 
					469f959911 | ||
| 
						 | 
					7504c4b7e9 | ||
| 
						 | 
					9a6047393d | ||
| 
						 | 
					dec2ef817a | ||
| 
						 | 
					54a9bc8841 | ||
| 
						 | 
					8def7c0f0a | ||
| 
						 | 
					13cbc2756b | ||
| 
						 | 
					933928c4ee | ||
| 
						 | 
					2beaab0d88 | ||
| 
						 | 
					560ed60745 | ||
| 
						 | 
					46febb33a9 | ||
| 
						 | 
					ddd8e0ee68 | ||
| 
						 | 
					be255263c6 | ||
| 
						 | 
					c8d969d38a | ||
| 
						 | 
					96511325ab | ||
| 
						 | 
					bc545df207 | ||
| 
						 | 
					36bf265fc6 | ||
| 
						 | 
					892ad29c60 | ||
| 
						 | 
					a5d02b5459 | ||
| 
						 | 
					3ccf9924a1 | ||
| 
						 | 
					953bbd7978 | ||
| 
						 | 
					4228cb99db | ||
| 
						 | 
					f7791fe2ff | ||
| 
						 | 
					616c736428 | ||
| 
						 | 
					ede5f35f39 | ||
| 
						 | 
					b73bfdf7fd | ||
| 
						 | 
					9305a4ca85 | ||
| 
						 | 
					54b59e24ca | ||
| 
						 | 
					d57c613535 | ||
| 
						 | 
					f02525af8a | ||
| 
						 | 
					f19659bea0 | ||
| 
						 | 
					9cfb549dca | ||
| 
						 | 
					ba09cbd9cc | ||
| 
						 | 
					bc4d09b073 | ||
| 
						 | 
					fb2d91abe7 | ||
| 
						 | 
					5146385f4c | ||
| 
						 | 
					346a8e140c | ||
| 
						 | 
					42aa8f8868 | ||
| 
						 | 
					459772162f | ||
| 
						 | 
					1d65650d28 | ||
| 
						 | 
					a2099bc195 | ||
| 
						 | 
					896545ab1b | ||
| 
						 | 
					522f427677 | ||
| 
						 | 
					5d70455d93 | ||
| 
						 | 
					01a91d8b4f | ||
| 
						 | 
					f66a60ee47 | ||
| 
						 | 
					b4e74b2a17 | ||
| 
						 | 
					644e5900d9 | ||
| 
						 | 
					3f3f536ebe | ||
| 
						 | 
					baa39d05a5 | ||
| 
						 | 
					a85bca7326 | ||
| 
						 | 
					6defba8ab3 | ||
| 
						 | 
					59f6329e85 | ||
| 
						 | 
					856c724b5d | ||
| 
						 | 
					67a20a9b4a | ||
| 
						 | 
					27cd66f48a | ||
| 
						 | 
					d25a12c87e | ||
| 
						 | 
					e24315c50b | ||
| 
						 | 
					753ed67b50 | ||
| 
						 | 
					d6e498050f | ||
| 
						 | 
					4a69a7b39f | ||
| 
						 | 
					1dcde93b4a | ||
| 
						 | 
					663c6570f4 | ||
| 
						 | 
					6a17e25871 | ||
| 
						 | 
					e609552cec | ||
| 
						 | 
					bd4b781c9e | ||
| 
						 | 
					7eb6715a1f | ||
| 
						 | 
					aa0190978f | ||
| 
						 | 
					e0f5e588e0 | ||
| 
						 | 
					3949e2e049 | ||
| 
						 | 
					ab4560b879 | ||
| 
						 | 
					b8f854e7ad | ||
| 
						 | 
					ea1c5b4561 | ||
| 
						 | 
					957eea7a0f | ||
| 
						 | 
					476fcedfe0 | ||
| 
						 | 
					d590e91597 | ||
| 
						 | 
					8c796a0870 | ||
| 
						 | 
					b57efdb78a | ||
| 
						 | 
					2cc3ce1ea1 | ||
| 
						 | 
					468defcd97 | ||
| 
						 | 
					78398309c0 | ||
| 
						 | 
					08d1d7be62 | ||
| 
						 | 
					05a4fcd471 | ||
| 
						 | 
					36acf4aaae | ||
| 
						 | 
					4182815b4c | ||
| 
						 | 
					73a0910239 | ||
| 
						 | 
					bd6626e919 | ||
| 
						 | 
					3ad6cdf85a | ||
| 
						 | 
					732bb75e9b | ||
| 
						 | 
					d372b45a95 | ||
| 
						 | 
					df564ace13 | ||
| 
						 | 
					d2b28413eb | ||
| 
						 | 
					b93a30ffb0 | ||
| 
						 | 
					a4044b1cfd | ||
| 
						 | 
					83eb2da451 | ||
| 
						 | 
					9fda9f34c5 | ||
| 
						 | 
					3715ea5946 | ||
| 
						 | 
					de2d8d0e75 | ||
| 
						 | 
					9f6abbe572 | ||
| 
						 | 
					d90a071d88 | ||
| 
						 | 
					69dd06b107 | ||
| 
						 | 
					2be054a004 | ||
| 
						 | 
					a2fcd3992e | ||
| 
						 | 
					9a92df420e | ||
| 
						 | 
					c6864c74bc | ||
| 
						 | 
					941457b392 | ||
| 
						 | 
					e84ea56a8f | ||
| 
						 | 
					0d36d64454 | ||
| 
						 | 
					74b2407c53 | ||
| 
						 | 
					b97331282f | ||
| 
						 | 
					fed5ebd9c8 | ||
| 
						 | 
					be4a6f1a4f | ||
| 
						 | 
					b383d43d9c | ||
| 
						 | 
					54b676b529 | ||
| 
						 | 
					d465ca87f2 | ||
| 
						 | 
					e32c2b7dea | ||
| 
						 | 
					444cbc2aa1 | ||
| 
						 | 
					497622832e | ||
| 
						 | 
					f36ac8831e | ||
| 
						 | 
					66049f400c | ||
| 
						 | 
					8daa235a88 | ||
| 
						 | 
					072595c8fb | ||
| 
						 | 
					85f8e5cd73 | ||
| 
						 | 
					07fbcf57d4 | ||
| 
						 | 
					f09c5db961 | ||
| 
						 | 
					c1e93d7d79 | ||
| 
						 | 
					292e48f4b4 | ||
| 
						 | 
					1d8b8c87bd | ||
| 
						 | 
					acfcf98273 | ||
| 
						 | 
					5bb15dedae | ||
| 
						 | 
					07394b9a7d | ||
| 
						 | 
					1fce2de5c1 | ||
| 
						 | 
					88579d4be3 | ||
| 
						 | 
					e7ccf9a512 | ||
| 
						 | 
					52a9ad733d | ||
| 
						 | 
					23f65d0eb7 | ||
| 
						 | 
					aece852e10 | ||
| 
						 | 
					d7dea7cc5d | ||
| 
						 | 
					5cd24b503c | ||
| 
						 | 
					2e5db6a283 | ||
| 
						 | 
					32f6a76426 | ||
| 
						 | 
					5d526717ef | ||
| 
						 | 
					287265d554 | ||
| 
						 | 
					e72f248918 | ||
| 
						 | 
					c207d65b1b | ||
| 
						 | 
					fb1d5d5a33 | ||
| 
						 | 
					ed5dfa6eef | ||
| 
						 | 
					8314e59973 | ||
| 
						 | 
					b73c50399d | ||
| 
						 | 
					50feb0d846 | ||
| 
						 | 
					4773649706 | ||
| 
						 | 
					ebb5d8f2c4 | ||
| 
						 | 
					0555dbd93c | ||
| 
						 | 
					e63bc92368 | ||
| 
						 | 
					a74b7c4763 | ||
| 
						 | 
					73178f5ff4 | ||
| 
						 | 
					0358111f5f | ||
| 
						 | 
					7346e7b1ab | ||
| 
						 | 
					4add8e8273 | ||
| 
						 | 
					49f1f7b1e2 | ||
| 
						 | 
					e5a6a5f1c0 | ||
| 
						 | 
					19365b5083 | ||
| 
						 | 
					12d3457002 | ||
| 
						 | 
					18abecbf9b | ||
| 
						 | 
					2ead98c480 | ||
| 
						 | 
					265321b0c0 | ||
| 
						 | 
					bae22ebf82 | ||
| 
						 | 
					c80f136871 | ||
| 
						 | 
					faf4fbd0fd | ||
| 
						 | 
					41e8958ab9 | ||
| 
						 | 
					cdc546f879 | ||
| 
						 | 
					4ded6585a2 | ||
| 
						 | 
					2892b85a6f | ||
| 
						 | 
					e28ab86797 | ||
| 
						 | 
					2c3193ebb3 | ||
| 
						 | 
					96959ffdb0 | ||
| 
						 | 
					13fbf25ecd | ||
| 
						 | 
					21d2159f22 | ||
| 
						 | 
					a42ceeac98 | ||
| 
						 | 
					6e7ad44d36 | ||
| 
						 | 
					9ea852ffad | ||
| 
						 | 
					d4bd7a6fda | ||
| 
						 | 
					316f4043d4 | ||
| 
						 | 
					f799c90712 | ||
| 
						 | 
					7de8934105 | ||
| 
						 | 
					15dedc1e16 | ||
| 
						 | 
					13f46d2c58 | ||
| 
						 | 
					ff7e7a6e10 | ||
| 
						 | 
					c49519a7de | ||
| 
						 | 
					8ce4776a87 | ||
| 
						 | 
					9cda1a8680 | ||
| 
						 | 
					c9b5e27d74 | ||
| 
						 | 
					70ec048aa9 | ||
| 
						 | 
					89af0c466b | ||
| 
						 | 
					93a1710e20 | ||
| 
						 | 
					91a5c9c48f | ||
| 
						 | 
					e85353856b | ||
| 
						 | 
					bf99523a94 | ||
| 
						 | 
					c1b3321801 | ||
| 
						 | 
					beb9189c72 | ||
| 
						 | 
					186c82d156 | ||
| 
						 | 
					9d431458ca | ||
| 
						 | 
					9c86eea347 | ||
| 
						 | 
					e20af295f0 | ||
| 
						 | 
					68832d71fa | ||
| 
						 | 
					2e13483f19 | ||
| 
						 | 
					c7643ae88c | ||
| 
						 | 
					f16f7a130a | ||
| 
						 | 
					94a8fe7132 | ||
| 
						 | 
					059d297305 | ||
| 
						 | 
					2bd2a763a1 | ||
| 
						 | 
					452ba92a6f | ||
| 
						 | 
					d27a875987 | ||
| 
						 | 
					14418411f6 | ||
| 
						 | 
					f13c8ff3ce | ||
| 
						 | 
					28dc145811 | ||
| 
						 | 
					170543bb66 | ||
| 
						 | 
					c783024ef0 | ||
| 
						 | 
					19403a627b | ||
| 
						 | 
					cc08395a1d | ||
| 
						 | 
					d5093a3d9d | ||
| 
						 | 
					52c4f3e0c2 | ||
| 
						 | 
					76a4ec9e06 | ||
| 
						 | 
					bebf6f65aa | ||
| 
						 | 
					34582c4dc4 | ||
| 
						 | 
					4495878c4f | ||
| 
						 | 
					3c33e8b826 | ||
| 
						 | 
					be6cc7ddbb | ||
| 
						 | 
					615049ce5c | ||
| 
						 | 
					f9e5c46b21 | ||
| 
						 | 
					913102d66f | ||
| 
						 | 
					07628f3b76 | ||
| 
						 | 
					291d364158 | ||
| 
						 | 
					98c4a2ccae | ||
| 
						 | 
					c60098d8eb | ||
| 
						 | 
					7df1dbaf17 | ||
| 
						 | 
					304c90a1af | ||
| 
						 | 
					01fe1b1f62 | ||
| 
						 | 
					fd85e71fcf | ||
| 
						 | 
					66c03ce1b4 | ||
| 
						 | 
					067f9eb209 | ||
| 
						 | 
					cd3dbc864f | ||
| 
						 | 
					f42f06343d | ||
| 
						 | 
					e46648ecdc | ||
| 
						 | 
					206751f517 | ||
| 
						 | 
					6a06afcbb9 | ||
| 
						 | 
					bd3e93215b | ||
| 
						 | 
					94b9aa4025 | ||
| 
						 | 
					36523dfd33 | ||
| 
						 | 
					618fa65bc2 | ||
| 
						 | 
					1dd417fdaa | ||
| 
						 | 
					4480a70ceb | ||
| 
						 | 
					5d423888d9 | ||
| 
						 | 
					81876d6992 | ||
| 
						 | 
					b777d74dce | ||
| 
						 | 
					c904da6b94 | ||
| 
						 | 
					4591b58e66 | ||
| 
						 | 
					8f7cd0bff9 | ||
| 
						 | 
					60318fd77b | ||
| 
						 | 
					50c41cec72 | ||
| 
						 | 
					ef2e9803d0 | ||
| 
						 | 
					e428a05b45 | ||
| 
						 | 
					37e5f7272e | ||
| 
						 | 
					5560c4eb12 | ||
| 
						 | 
					be6e2e3cb1 | ||
| 
						 | 
					7086a15321 | ||
| 
						 | 
					23f29b14fe | ||
| 
						 | 
					9aafb65a98 | ||
| 
						 | 
					296f4577d0 | ||
| 
						 | 
					1ea1429874 | ||
| 
						 | 
					3f70f92fbb | ||
| 
						 | 
					23c6994835 | ||
| 
						 | 
					70cd362d3e | ||
| 
						 | 
					aed25098e5 | ||
| 
						 | 
					a79392149e | ||
| 
						 | 
					f32647a3d3 | ||
| 
						 | 
					bb3c77f1b6 | ||
| 
						 | 
					66a582dd09 | ||
| 
						 | 
					06eb76c5d9 | ||
| 
						 | 
					a37f921aff | ||
| 
						 | 
					5c7e221efa | ||
| 
						 | 
					7e00889967 | ||
| 
						 | 
					f1d855e331 | ||
| 
						 | 
					a33bbd603d | ||
| 
						 | 
					472ad02d44 | ||
| 
						 | 
					aed2fbc4b1 | ||
| 
						 | 
					dabb49d7eb | ||
| 
						 | 
					61b7b96780 | ||
| 
						 | 
					a72885b4c1 | ||
| 
						 | 
					58fe2df6b4 | ||
| 
						 | 
					5c8bd4b124 | ||
| 
						 | 
					b6d7ad7c38 | ||
| 
						 | 
					dd4d518052 | ||
| 
						 | 
					a99650f969 | ||
| 
						 | 
					842d73de82 | ||
| 
						 | 
					65f731d88b | ||
| 
						 | 
					363685d3d3 | ||
| 
						 | 
					ff77960aa6 | ||
| 
						 | 
					8d4a81d28e | ||
| 
						 | 
					faf10a9d5b | ||
| 
						 | 
					1b931becaa | ||
| 
						 | 
					905198116d | ||
| 
						 | 
					8d65b4624f | ||
| 
						 | 
					4e17190721 | ||
| 
						 | 
					9337e2de3c | ||
| 
						 | 
					c7a7ea763b | ||
| 
						 | 
					ce71992dd6 | ||
| 
						 | 
					f68b80fe4a | ||
| 
						 | 
					79adb4ef9b | ||
| 
						 | 
					8dda5ac31f | ||
| 
						 | 
					7d901bc594 | ||
| 
						 | 
					b6dce8cff1 | ||
| 
						 | 
					1b43202a79 | ||
| 
						 | 
					66687c0d21 | ||
| 
						 | 
					39b9cfcffc | ||
| 
						 | 
					24f4d2f488 | ||
| 
						 | 
					ee74400626 | ||
| 
						 | 
					032709e107 | ||
| 
						 | 
					65d60fbf1e | ||
| 
						 | 
					c7b80448dc | ||
| 
						 | 
					d7a60f6027 | ||
| 
						 | 
					241ae98c0b | ||
| 
						 | 
					63f24a8e61 | ||
| 
						 | 
					1cb87c4087 | ||
| 
						 | 
					5c22f9775e | ||
| 
						 | 
					a403da9f47 | ||
| 
						 | 
					4ce7335482 | ||
| 
						 | 
					bc52b1a7d7 | ||
| 
						 | 
					1c5ff8b26a | ||
| 
						 | 
					967b2a313f | ||
| 
						 | 
					50410acf8d | ||
| 
						 | 
					ab07afb7bd | ||
| 
						 | 
					eee083c7e0 | ||
| 
						 | 
					31ef36d744 | ||
| 
						 | 
					13afa93ddf | ||
| 
						 | 
					7c631eec00 | ||
| 
						 | 
					82d1a872c7 | ||
| 
						 | 
					0c23782485 | ||
| 
						 | 
					ef7c774a24 | ||
| 
						 | 
					c12ec76181 | ||
| 
						 | 
					a805e40b04 | ||
| 
						 | 
					727b713893 | ||
| 
						 | 
					5cedb8469e | ||
| 
						 | 
					c612a4daa8 | ||
| 
						 | 
					87b7166924 | ||
| 
						 | 
					9b9faf7a53 | ||
| 
						 | 
					51a1d3c0ef | ||
| 
						 | 
					8b1c2d6e68 | ||
| 
						 | 
					21c2ef2915 | ||
| 
						 | 
					6796e609d0 | ||
| 
						 | 
					723ac08abb | ||
| 
						 | 
					35c4c363a0 | ||
| 
						 | 
					32f99aee54 | ||
| 
						 | 
					1803ea0323 | ||
| 
						 | 
					fcf14a93c2 | ||
| 
						 | 
					549e1ee01e | ||
| 
						 | 
					c4b7966303 | ||
| 
						 | 
					2ed4d91f3c | ||
| 
						 | 
					6a5685505a | ||
| 
						 | 
					7cc1eaa259 | ||
| 
						 | 
					0db53c98e0 | ||
| 
						 | 
					0faf32c4d0 | ||
| 
						 | 
					5c564b4bd1 | ||
| 
						 | 
					5b81fc1aaa | ||
| 
						 | 
					047c7fe53c | ||
| 
						 | 
					c759269f0a | ||
| 
						 | 
					7540314f53 | ||
| 
						 | 
					8d73af0106 | ||
| 
						 | 
					f1cdef1f9b | ||
| 
						 | 
					79f3662636 | ||
| 
						 | 
					c43e5318ae | ||
| 
						 | 
					7e32903f10 | ||
| 
						 | 
					ba5c318276 | ||
| 
						 | 
					634fcb5abb | ||
| 
						 | 
					5d29a4f11c | ||
| 
						 | 
					cf62139e07 | ||
| 
						 | 
					716f1f05ec | ||
| 
						 | 
					47d773d088 | ||
| 
						 | 
					f9eb0cfa40 | ||
| 
						 | 
					2b164f8281 | ||
| 
						 | 
					6937ca1c67 | ||
| 
						 | 
					af6c1ae680 | ||
| 
						 | 
					75335f3362 | ||
| 
						 | 
					d0dfe1f3a6 | ||
| 
						 | 
					0ebc6b94ab | ||
| 
						 | 
					bf110c1814 | ||
| 
						 | 
					0d7de4f292 | ||
| 
						 | 
					f7ca7b28df | ||
| 
						 | 
					27b79a23b6 | ||
| 
						 | 
					49fbe38981 | ||
| 
						 | 
					0cd7985f8a | ||
| 
						 | 
					428fae66c3 | ||
| 
						 | 
					18c57600c6 | ||
| 
						 | 
					68d2d3c52c | ||
| 
						 | 
					76f9232c3a | ||
| 
						 | 
					4258d44a7d | ||
| 
						 | 
					c60f04e229 | ||
| 
						 | 
					6b93869e52 | ||
| 
						 | 
					c3cfdc1efa | ||
| 
						 | 
					33678fde1b | ||
| 
						 | 
					3dfdfeb2fa | ||
| 
						 | 
					305d3603ef | ||
| 
						 | 
					00138323b9 | ||
| 
						 | 
					1d50632019 | ||
| 
						 | 
					8883ba6b60 | ||
| 
						 | 
					7b06f611ad | ||
| 
						 | 
					412919670c | ||
| 
						 | 
					77ac07efd7 | ||
| 
						 | 
					55def0d441 | ||
| 
						 | 
					70a01abbd8 | ||
| 
						 | 
					d5b0209453 | ||
| 
						 | 
					755da8bdc3 | ||
| 
						 | 
					9228cd06e3 | ||
| 
						 | 
					49579e8558 | ||
| 
						 | 
					030a977209 | ||
| 
						 | 
					b8176dc7b3 | ||
| 
						 | 
					cd0625cba6 | ||
| 
						 | 
					73e131ecf8 | ||
| 
						 | 
					a0d6082b95 | ||
| 
						 | 
					70ccaf6835 | ||
| 
						 | 
					05b58decc2 | ||
| 
						 | 
					ff1b7cc81d | ||
| 
						 | 
					a2bbc2174a | ||
| 
						 | 
					a8a44a4d51 | ||
| 
						 | 
					ed620e8258 | ||
| 
						 | 
					1fc667088c | ||
| 
						 | 
					d89055a5cd | ||
| 
						 | 
					4ecd019e15 | ||
| 
						 | 
					e3a31aa47e | ||
| 
						 | 
					ed936528d2 | ||
| 
						 | 
					6f24de7d63 | ||
| 
						 | 
					54de40ed53 | ||
| 
						 | 
					872cd289ff | ||
| 
						 | 
					9c37ac385c | ||
| 
						 | 
					575ad61c93 | ||
| 
						 | 
					1773cc5507 | ||
| 
						 | 
					11b19fdeab | ||
| 
						 | 
					5e6081fbea | ||
| 
						 | 
					e2a310dd3a | ||
| 
						 | 
					d934d1b51b | ||
| 
						 | 
					6e3c08142d | ||
| 
						 | 
					a41497f90a | ||
| 
						 | 
					c54025f8de | ||
| 
						 | 
					a1eb53841d | ||
| 
						 | 
					6c4c3ffa39 | ||
| 
						 | 
					78f695f397 | ||
| 
						 | 
					4b0d24ed2e | ||
| 
						 | 
					705d66e7c6 | ||
| 
						 | 
					c4703527dc | ||
| 
						 | 
					9b607c60b4 | ||
| 
						 | 
					4717852019 | ||
| 
						 | 
					ab9c57ccf9 | ||
| 
						 | 
					dce77d12c7 | ||
| 
						 | 
					1f35b649cc | ||
| 
						 | 
					5938a9aceb | ||
| 
						 | 
					3b76211c12 | ||
| 
						 | 
					7221a0759d | ||
| 
						 | 
					a750932b3a | ||
| 
						 | 
					a4de1efae8 | ||
| 
						 | 
					f7570cb40c | ||
| 
						 | 
					10471b88aa | ||
| 
						 | 
					04a83cce10 | ||
| 
						 | 
					f9e26f4f7c | ||
| 
						 | 
					ed6baa1158 | ||
| 
						 | 
					a7cc93af09 | ||
| 
						 | 
					a494ed5872 | ||
| 
						 | 
					ede517a560 | ||
| 
						 | 
					bd41b236df | ||
| 
						 | 
					229c7ce4b3 | ||
| 
						 | 
					cc8381d7f7 | ||
| 
						 | 
					dc5b9be9ae | ||
| 
						 | 
					993aff59d7 | ||
| 
						 | 
					f3844c664c | ||
| 
						 | 
					47b3f71992 | ||
| 
						 | 
					09c815e935 | ||
| 
						 | 
					f59d4960f1 | ||
| 
						 | 
					c53d1d004a | ||
| 
						 | 
					bbdda06297 | ||
| 
						 | 
					daab80aaf4 | ||
| 
						 | 
					9250f9fae9 | 
							
								
								
									
										10
									
								
								.github/ISSUE_TEMPLATE/bug_report.yml
									
									
									
										generated
									
									
										vendored
									
									
								
							
							
						
						
									
										10
									
								
								.github/ISSUE_TEMPLATE/bug_report.yml
									
									
									
										generated
									
									
										vendored
									
									
								
							@@ -60,13 +60,21 @@ body:
 | 
				
			|||||||
        - Alpine
 | 
					        - Alpine
 | 
				
			||||||
        - Debian 11
 | 
					        - Debian 11
 | 
				
			||||||
        - Debian 12
 | 
					        - Debian 12
 | 
				
			||||||
        - Ubuntu 20.04
 | 
					        - Debian 13
 | 
				
			||||||
        - Ubuntu 22.04
 | 
					        - Ubuntu 22.04
 | 
				
			||||||
        - Ubuntu 24.04
 | 
					        - Ubuntu 24.04
 | 
				
			||||||
        - Ubuntu 24.10
 | 
					        - Ubuntu 24.10
 | 
				
			||||||
    validations:
 | 
					    validations:
 | 
				
			||||||
      required: true
 | 
					      required: true
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  - type: input
 | 
				
			||||||
 | 
					    id: pve_version
 | 
				
			||||||
 | 
					    attributes:
 | 
				
			||||||
 | 
					      label: 📈 Which Proxmox version are you on?
 | 
				
			||||||
 | 
					      placeholder: "run pveversion in your PVE node console"
 | 
				
			||||||
 | 
					    validations:
 | 
				
			||||||
 | 
					      required: true
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  - type: textarea
 | 
					  - type: textarea
 | 
				
			||||||
    id: issue_description
 | 
					    id: issue_description
 | 
				
			||||||
    attributes:
 | 
					    attributes:
 | 
				
			||||||
 
 | 
				
			|||||||
							
								
								
									
										966
									
								
								CHANGELOG.md
									
									
									
									
									
								
							
							
						
						
									
										966
									
								
								CHANGELOG.md
									
									
									
									
									
								
							@@ -10,8 +10,974 @@
 | 
				
			|||||||
> [!CAUTION]
 | 
					> [!CAUTION]
 | 
				
			||||||
Exercise vigilance regarding copycat or coat-tailing sites that seek to exploit the project's popularity for potentially malicious purposes.
 | 
					Exercise vigilance regarding copycat or coat-tailing sites that seek to exploit the project's popularity for potentially malicious purposes.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					## 2025-09-25
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					## 2025-09-24
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					### 🆕 New Scripts
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  - Add Script: Joplin Server ([#7879](https://github.com/community-scripts/ProxmoxVE/pull/7879))
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					### 🚀 Updated Scripts
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  - #### 🐞 Bug Fixes
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    - Monica: Fix dependencies [@tremor021](https://github.com/tremor021) ([#7877](https://github.com/community-scripts/ProxmoxVE/pull/7877))
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					### 🌐 Website
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  - #### 📝 Script Information
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    - Update name in lxc-delete.json to 'PVE LXC Deletion' [@michelroegl-brunner](https://github.com/michelroegl-brunner) ([#7872](https://github.com/community-scripts/ProxmoxVE/pull/7872))
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					## 2025-09-23
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					### 🆕 New Scripts
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  - UpSnap ([#7825](https://github.com/community-scripts/ProxmoxVE/pull/7825))
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					### 🚀 Updated Scripts
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  - #### 🐞 Bug Fixes
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    - tools.func: Check for /usr/local/bin in PATH during yq setup [@vhsdream](https://github.com/vhsdream) ([#7856](https://github.com/community-scripts/ProxmoxVE/pull/7856))
 | 
				
			||||||
 | 
					    - BookLore: increase RAM [@vhsdream](https://github.com/vhsdream) ([#7855](https://github.com/community-scripts/ProxmoxVE/pull/7855))
 | 
				
			||||||
 | 
					    - Bump Immich to v1.143.1 [@vhsdream](https://github.com/vhsdream) ([#7864](https://github.com/community-scripts/ProxmoxVE/pull/7864))
 | 
				
			||||||
 | 
					    - zabbix: Remove not exist admin credentials from output [@MickLesk](https://github.com/MickLesk) ([#7849](https://github.com/community-scripts/ProxmoxVE/pull/7849))
 | 
				
			||||||
 | 
					    - Suppress wrong errors from uv shell integration in setup_uv [@MickLesk](https://github.com/MickLesk) ([#7822](https://github.com/community-scripts/ProxmoxVE/pull/7822))
 | 
				
			||||||
 | 
					    - Refactor Caddyfile configuration for headscale-admin [@MickLesk](https://github.com/MickLesk) ([#7821](https://github.com/community-scripts/ProxmoxVE/pull/7821))
 | 
				
			||||||
 | 
					    - Improve subscription element removal (mobile) in post-pve script [@MickLesk](https://github.com/MickLesk) ([#7814](https://github.com/community-scripts/ProxmoxVE/pull/7814))
 | 
				
			||||||
 | 
					    - Blocky: Fix release fetching [@tremor021](https://github.com/tremor021) ([#7807](https://github.com/community-scripts/ProxmoxVE/pull/7807))
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  - #### ✨ New Features
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    - Improve globaleaks install ensuring install can proceed without user … [@evilaliv3](https://github.com/evilaliv3) ([#7860](https://github.com/community-scripts/ProxmoxVE/pull/7860))
 | 
				
			||||||
 | 
					    - Manage My Damn Life: use NodeJS 22 [@vhsdream](https://github.com/vhsdream) ([#7861](https://github.com/community-scripts/ProxmoxVE/pull/7861))
 | 
				
			||||||
 | 
					    - VM: Increase pv & xz functions (HA OS / Umbrel OS) [@MickLesk](https://github.com/MickLesk) ([#7838](https://github.com/community-scripts/ProxmoxVE/pull/7838))
 | 
				
			||||||
 | 
					    - Tandoor: update for newer dependencies (psql) + bump nodejs to 22 [@MickLesk](https://github.com/MickLesk) ([#7826](https://github.com/community-scripts/ProxmoxVE/pull/7826))
 | 
				
			||||||
 | 
					    - Update Monica and Outline to use Node.js 22 [@MickLesk](https://github.com/MickLesk) ([#7833](https://github.com/community-scripts/ProxmoxVE/pull/7833))
 | 
				
			||||||
 | 
					    - Update Zabbix install for Debian 13 and agent selection [@MickLesk](https://github.com/MickLesk) ([#7819](https://github.com/community-scripts/ProxmoxVE/pull/7819))
 | 
				
			||||||
 | 
					    - tracktor: bump to debian 13 | feature bump [@CrazyWolf13](https://github.com/CrazyWolf13) ([#7818](https://github.com/community-scripts/ProxmoxVE/pull/7818))
 | 
				
			||||||
 | 
					    - LiteLLM: Bump to Debian 13 & add deps [@MickLesk](https://github.com/MickLesk) ([#7815](https://github.com/community-scripts/ProxmoxVE/pull/7815))
 | 
				
			||||||
 | 
					    - Immich: bump to v1.143.0 [@vhsdream](https://github.com/vhsdream) ([#7801](https://github.com/community-scripts/ProxmoxVE/pull/7801))
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					### 🧰 Maintenance
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  - #### 📂 Github
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    - gh: remove ai autolabel test [@MickLesk](https://github.com/MickLesk) ([#7817](https://github.com/community-scripts/ProxmoxVE/pull/7817))
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					### 🌐 Website
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  - #### 📝 Script Information
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    - OpenWebUI: Add information about Ollama [@tremor021](https://github.com/tremor021) ([#7843](https://github.com/community-scripts/ProxmoxVE/pull/7843))
 | 
				
			||||||
 | 
					    - cosmos: add info note for configuration file [@MickLesk](https://github.com/MickLesk) ([#7824](https://github.com/community-scripts/ProxmoxVE/pull/7824))
 | 
				
			||||||
 | 
					    - ElementSynapse: add note for Bridge Install Methods [@MickLesk](https://github.com/MickLesk) ([#7820](https://github.com/community-scripts/ProxmoxVE/pull/7820))
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					## 2025-09-22
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					### 🚀 Updated Scripts
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  - #### 🐞 Bug Fixes
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    - [core]: Update detection of current running subshell [@tremor021](https://github.com/tremor021) ([#7796](https://github.com/community-scripts/ProxmoxVE/pull/7796))
 | 
				
			||||||
 | 
					    - Paymenter: Installation and update fixes [@tremor021](https://github.com/tremor021) ([#7792](https://github.com/community-scripts/ProxmoxVE/pull/7792))
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					## 2025-09-21
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					### 🚀 Updated Scripts
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  - #### 🐞 Bug Fixes
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    - fix openwebui update and installer [@HeedfulCrayon](https://github.com/HeedfulCrayon) ([#7788](https://github.com/community-scripts/ProxmoxVE/pull/7788))
 | 
				
			||||||
 | 
					    - tracktor: add: cleanup before upgrade [@CrazyWolf13](https://github.com/CrazyWolf13) ([#7782](https://github.com/community-scripts/ProxmoxVE/pull/7782))
 | 
				
			||||||
 | 
					    - Fix regex to extract MySQL version correctly [@MickLesk](https://github.com/MickLesk) ([#7774](https://github.com/community-scripts/ProxmoxVE/pull/7774))
 | 
				
			||||||
 | 
					    - Update Ollama Installer in OpenWebUI to resume downloads if interrupted [@HeedfulCrayon](https://github.com/HeedfulCrayon) ([#7779](https://github.com/community-scripts/ProxmoxVE/pull/7779))
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  - #### ✨ New Features
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    - Implement clean install option in tools.func (fetch_and_deploy_gh_release) [@MickLesk](https://github.com/MickLesk) ([#7785](https://github.com/community-scripts/ProxmoxVE/pull/7785))
 | 
				
			||||||
 | 
					    - caddy: modify disk size and implement xCaddy update [@MickLesk](https://github.com/MickLesk) ([#7775](https://github.com/community-scripts/ProxmoxVE/pull/7775))
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					### 🌐 Website
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  - #### 📝 Script Information
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    - Harmonize  and shorten JSON Names for PVE/PBS/PMG [@MickLesk](https://github.com/MickLesk) ([#7773](https://github.com/community-scripts/ProxmoxVE/pull/7773))
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					## 2025-09-20
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					### 🚀 Updated Scripts
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  - checkmk.sh Update: Revert old Pr  [@michelroegl-brunner](https://github.com/michelroegl-brunner) ([#7765](https://github.com/community-scripts/ProxmoxVE/pull/7765))
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  - #### 🐞 Bug Fixes
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    - Wazuh: Increase HDD size [@tremor021](https://github.com/tremor021) ([#7759](https://github.com/community-scripts/ProxmoxVE/pull/7759))
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					### 🧰 Maintenance
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  - #### 📂 Github
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    - Add Debian 13 in bug report template [@michelroegl-brunner](https://github.com/michelroegl-brunner) ([#7757](https://github.com/community-scripts/ProxmoxVE/pull/7757))
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					## 2025-09-19
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					### 🆕 New Scripts
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  - Tunarr ([#7735](https://github.com/community-scripts/ProxmoxVE/pull/7735))
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					### 🚀 Updated Scripts
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  - #### 🐞 Bug Fixes
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    - SigNoz: Fix wrong URL for Zookeeper [@tremor021](https://github.com/tremor021) ([#7742](https://github.com/community-scripts/ProxmoxVE/pull/7742))
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					## 2025-09-18
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					### 🆕 New Scripts
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  - Alpine-Caddy [@tremor021](https://github.com/tremor021) ([#7711](https://github.com/community-scripts/ProxmoxVE/pull/7711))
 | 
				
			||||||
 | 
					- pve-tool: execute.sh by @jeroenzwart [@MickLesk](https://github.com/MickLesk) ([#7708](https://github.com/community-scripts/ProxmoxVE/pull/7708))
 | 
				
			||||||
 | 
					- GlobaLeaks ([#7707](https://github.com/community-scripts/ProxmoxVE/pull/7707))
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					### 🚀 Updated Scripts
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  - #### 🐞 Bug Fixes
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    - Delay chmod after updating beszel [@CrazyWolf13](https://github.com/CrazyWolf13) ([#7725](https://github.com/community-scripts/ProxmoxVE/pull/7725))
 | 
				
			||||||
 | 
					    - Remove redundant globaleaks configuration [@evilaliv3](https://github.com/evilaliv3) ([#7723](https://github.com/community-scripts/ProxmoxVE/pull/7723))
 | 
				
			||||||
 | 
					    - Gatus: check for GO path before update [@vhsdream](https://github.com/vhsdream) ([#7705](https://github.com/community-scripts/ProxmoxVE/pull/7705))
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  - #### ✨ New Features
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    - Cloudflared: Bump to Debian 13 [@MickLesk](https://github.com/MickLesk) ([#7719](https://github.com/community-scripts/ProxmoxVE/pull/7719))
 | 
				
			||||||
 | 
					    - AdGuard Home: Bump to Debian 13 [@MickLesk](https://github.com/MickLesk) ([#7720](https://github.com/community-scripts/ProxmoxVE/pull/7720))
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  - #### 🔧 Refactor
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    - Immich: Debian Trixie [@vhsdream](https://github.com/vhsdream) ([#7728](https://github.com/community-scripts/ProxmoxVE/pull/7728))
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					### 🌐 Website
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  - #### 📝 Script Information
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    - Add Warning for Containerized Home Assistant [@ZaxLofful](https://github.com/ZaxLofful) ([#7704](https://github.com/community-scripts/ProxmoxVE/pull/7704))
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					## 2025-09-17
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					### 🚀 Updated Scripts
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  - #### 🐞 Bug Fixes
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    - beszel: fix: binary permission after upgrade [@CrazyWolf13](https://github.com/CrazyWolf13) ([#7697](https://github.com/community-scripts/ProxmoxVE/pull/7697))
 | 
				
			||||||
 | 
					    - RabbitMQ: Update repositories [@tremor021](https://github.com/tremor021) ([#7689](https://github.com/community-scripts/ProxmoxVE/pull/7689))
 | 
				
			||||||
 | 
					    - Komodo: Add docker compose pull for actually updating docker container [@hanneshier](https://github.com/hanneshier) ([#7682](https://github.com/community-scripts/ProxmoxVE/pull/7682))
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  - #### ✨ New Features
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    - Debian-LXC: Bump to Debian 13 Trixie [@MickLesk](https://github.com/MickLesk) ([#7683](https://github.com/community-scripts/ProxmoxVE/pull/7683))
 | 
				
			||||||
 | 
					    - Bump Immich to v1.142.1 [@vhsdream](https://github.com/vhsdream) ([#7675](https://github.com/community-scripts/ProxmoxVE/pull/7675))
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  - #### 🔧 Refactor
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    - Refactor: Grist [@tremor021](https://github.com/tremor021) ([#7681](https://github.com/community-scripts/ProxmoxVE/pull/7681))
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					### 🧰 Maintenance
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  - #### 📂 Github
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    - Improve: SECURITY.md for clarity and detail + Adding PVE9 as supported [@MickLesk](https://github.com/MickLesk) ([#7690](https://github.com/community-scripts/ProxmoxVE/pull/7690))
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					## 2025-09-16
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					### 🚀 Updated Scripts
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  - Improve OpenWrt VM boot and readiness check [@MickLesk](https://github.com/MickLesk) ([#7669](https://github.com/community-scripts/ProxmoxVE/pull/7669))
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  - #### 🐞 Bug Fixes
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    - hortusfox: fix update check [@MickLesk](https://github.com/MickLesk) ([#7667](https://github.com/community-scripts/ProxmoxVE/pull/7667))
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					## 2025-09-15
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					### 🆕 New Scripts
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  - SigNoz ([#7648](https://github.com/community-scripts/ProxmoxVE/pull/7648))
 | 
				
			||||||
 | 
					- Scraparr ([#7644](https://github.com/community-scripts/ProxmoxVE/pull/7644))
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					### 🚀 Updated Scripts
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  - #### 🐞 Bug Fixes
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    - vm: move pv installation into ensure_pv function [@MickLesk](https://github.com/MickLesk) ([#7642](https://github.com/community-scripts/ProxmoxVE/pull/7642))
 | 
				
			||||||
 | 
					    - Cloudflare-DDNS: Fix the IP6_PROVIDER variable [@hugodantas](https://github.com/hugodantas) ([#7660](https://github.com/community-scripts/ProxmoxVE/pull/7660))
 | 
				
			||||||
 | 
					    - Wikijs: Bump Node.js version to 22 [@MickLesk](https://github.com/MickLesk) ([#7643](https://github.com/community-scripts/ProxmoxVE/pull/7643))
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					## 2025-09-14
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					## 2025-09-13
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					### 🚀 Updated Scripts
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  - #### 🐞 Bug Fixes
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    - Palmr: hotfix #7622 [@vhsdream](https://github.com/vhsdream) ([#7625](https://github.com/community-scripts/ProxmoxVE/pull/7625))
 | 
				
			||||||
 | 
					    - ollama: fix: ccurl continue on interrupts [@CrazyWolf13](https://github.com/CrazyWolf13) ([#7620](https://github.com/community-scripts/ProxmoxVE/pull/7620))
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  - #### 🔧 Refactor
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    - pdm: refactor for beta version [@CrazyWolf13](https://github.com/CrazyWolf13) ([#7619](https://github.com/community-scripts/ProxmoxVE/pull/7619))
 | 
				
			||||||
 | 
					    - Immich: bump to v1.142.0 [@vhsdream](https://github.com/vhsdream) ([#7594](https://github.com/community-scripts/ProxmoxVE/pull/7594))
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					### 🌐 Website
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  - fix: tagline grammar [@jonathanwuki](https://github.com/jonathanwuki) ([#7621](https://github.com/community-scripts/ProxmoxVE/pull/7621))
 | 
				
			||||||
 | 
					- fix: grammar/capitalization for links and taglines [@jonathanwuki](https://github.com/jonathanwuki) ([#7609](https://github.com/community-scripts/ProxmoxVE/pull/7609))
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					## 2025-09-12
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					### 🆕 New Scripts
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  - Stylus ([#7588](https://github.com/community-scripts/ProxmoxVE/pull/7588))
 | 
				
			||||||
 | 
					- UHF ([#7589](https://github.com/community-scripts/ProxmoxVE/pull/7589))
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					### 🚀 Updated Scripts
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  - #### 🐞 Bug Fixes
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    - Tweak: post-pve-install: create folder if Not exist  [@JVKeller](https://github.com/JVKeller) ([#7598](https://github.com/community-scripts/ProxmoxVE/pull/7598))
 | 
				
			||||||
 | 
					    - Update openwebui.sh [@webmogul1](https://github.com/webmogul1) ([#7582](https://github.com/community-scripts/ProxmoxVE/pull/7582))
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  - #### ✨ New Features
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    - [core]: add fallback if mariadb upstream unreachable [@MickLesk](https://github.com/MickLesk) ([#7599](https://github.com/community-scripts/ProxmoxVE/pull/7599))
 | 
				
			||||||
 | 
					    - ESPHome: Increase default disk size [@tremor021](https://github.com/tremor021) ([#7600](https://github.com/community-scripts/ProxmoxVE/pull/7600))
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					## 2025-09-11
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					### 🆕 New Scripts
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  - telegraf ([#7576](https://github.com/community-scripts/ProxmoxVE/pull/7576))
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					### 🚀 Updated Scripts
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  - [core] Sort tools.func functions alphabeticaly [@tremor021](https://github.com/tremor021) ([#7569](https://github.com/community-scripts/ProxmoxVE/pull/7569))
 | 
				
			||||||
 | 
					- mobile subscription nag fix [@dvino](https://github.com/dvino) ([#7567](https://github.com/community-scripts/ProxmoxVE/pull/7567))
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  - #### 🐞 Bug Fixes
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    - alpine-install: switch to using GitHub to fetch tools when using GitHub [@burritosoftware](https://github.com/burritosoftware) ([#7566](https://github.com/community-scripts/ProxmoxVE/pull/7566))
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					### 🌐 Website
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  - #### 🐞 Bug Fixes
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    - Add margin-bottom to Most Viewed Scripts header to unifi UI [@BramSuurdje](https://github.com/BramSuurdje) ([#7572](https://github.com/community-scripts/ProxmoxVE/pull/7572))
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  - #### 📝 Script Information
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    - Fix frontend url [@r1cebank](https://github.com/r1cebank) ([#7578](https://github.com/community-scripts/ProxmoxVE/pull/7578))
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					## 2025-09-10
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					### 🆕 New Scripts
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  - Autocaliweb ([#7515](https://github.com/community-scripts/ProxmoxVE/pull/7515))
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					### 🚀 Updated Scripts
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  - #### 🐞 Bug Fixes
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    - Palmr: fix #7556 [@vhsdream](https://github.com/vhsdream) ([#7558](https://github.com/community-scripts/ProxmoxVE/pull/7558))
 | 
				
			||||||
 | 
					    - Wizarr: Fix DB migrations [@vhsdream](https://github.com/vhsdream) ([#7552](https://github.com/community-scripts/ProxmoxVE/pull/7552))
 | 
				
			||||||
 | 
					    - fix: pmg - split no-nag script into separate config files [@MickLesk](https://github.com/MickLesk) ([#7540](https://github.com/community-scripts/ProxmoxVE/pull/7540))
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  - #### ✨ New Features
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    - Update Palmr to Support new v3.2.1 [@vhsdream](https://github.com/vhsdream) ([#7526](https://github.com/community-scripts/ProxmoxVE/pull/7526))
 | 
				
			||||||
 | 
					    - add external installer warnings and user confirmation in several LXC's [@MickLesk](https://github.com/MickLesk) ([#7539](https://github.com/community-scripts/ProxmoxVE/pull/7539))
 | 
				
			||||||
 | 
					    - Booklore: Add Bookdrop location to .env [@michelroegl-brunner](https://github.com/michelroegl-brunner) ([#7533](https://github.com/community-scripts/ProxmoxVE/pull/7533))
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  - #### 🔧 Refactor
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    - Refactor: audiobookshelf [@MickLesk](https://github.com/MickLesk) ([#7538](https://github.com/community-scripts/ProxmoxVE/pull/7538))
 | 
				
			||||||
 | 
					    - Refactor: Blocky [@MickLesk](https://github.com/MickLesk) ([#7537](https://github.com/community-scripts/ProxmoxVE/pull/7537))
 | 
				
			||||||
 | 
					    - Improve npmplus credential retrieval and messaging [@MickLesk](https://github.com/MickLesk) ([#7532](https://github.com/community-scripts/ProxmoxVE/pull/7532))
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					### 🌐 Website
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  - #### 💥 Breaking Changes
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    - Remove Pingvin Share [@CrazyWolf13](https://github.com/CrazyWolf13) ([#7553](https://github.com/community-scripts/ProxmoxVE/pull/7553))
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  - #### 📝 Script Information
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    - set updateable to true for several lxc JSON-configs [@MickLesk](https://github.com/MickLesk) ([#7534](https://github.com/community-scripts/ProxmoxVE/pull/7534))
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					## 2025-09-09
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					### 🚀 Updated Scripts
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  - #### 🐞 Bug Fixes
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    - Tududi: v0.81 [@vhsdream](https://github.com/vhsdream) ([#7517](https://github.com/community-scripts/ProxmoxVE/pull/7517))
 | 
				
			||||||
 | 
					    - WGDashboard: Revert back to old update method [@tremor021](https://github.com/tremor021) ([#7500](https://github.com/community-scripts/ProxmoxVE/pull/7500))
 | 
				
			||||||
 | 
					    - AdventureLog: remove folder during update process [@MickLesk](https://github.com/MickLesk) ([#7507](https://github.com/community-scripts/ProxmoxVE/pull/7507))
 | 
				
			||||||
 | 
					    - PLANKA: Fix backup and restore commands [@tremor021](https://github.com/tremor021) ([#7505](https://github.com/community-scripts/ProxmoxVE/pull/7505))
 | 
				
			||||||
 | 
					    - Recyclarr: Suppress config creation output [@tremor021](https://github.com/tremor021) ([#7502](https://github.com/community-scripts/ProxmoxVE/pull/7502))
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  - #### 🔧 Refactor
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    - Pulse: standardise install/update with Pulse repo script [@vhsdream](https://github.com/vhsdream) ([#7519](https://github.com/community-scripts/ProxmoxVE/pull/7519))
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					### 🌐 Website
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  - #### 🐞 Bug Fixes
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    - Refactor GitHubStarsButton to wrap in Link component for external navigation [@BramSuurdje](https://github.com/BramSuurdje) ([#7492](https://github.com/community-scripts/ProxmoxVE/pull/7492))
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  - #### ✨ New Features
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    - Bump vite from 7.0.0 to 7.1.5 in /frontend [@dependabot[bot]](https://github.com/dependabot[bot]) ([#7522](https://github.com/community-scripts/ProxmoxVE/pull/7522))
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  - #### 📝 Script Information
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    - swizzin: Change category from nvr to media [@MickLesk](https://github.com/MickLesk) ([#7511](https://github.com/community-scripts/ProxmoxVE/pull/7511))
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					## 2025-09-08
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					### 🚀 Updated Scripts
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  - #### 🐞 Bug Fixes
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    - CT's: fix missing variable declaration (actualBudget, openziti, umlautadaptarr) [@MickLesk](https://github.com/MickLesk) ([#7483](https://github.com/community-scripts/ProxmoxVE/pull/7483))
 | 
				
			||||||
 | 
					    - karakeep: fix service file [@CrazyWolf13](https://github.com/CrazyWolf13) ([#7482](https://github.com/community-scripts/ProxmoxVE/pull/7482))
 | 
				
			||||||
 | 
					    - Update searxng-install.sh [@sebguy](https://github.com/sebguy) ([#7469](https://github.com/community-scripts/ProxmoxVE/pull/7469))
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  - #### ✨ New Features
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    - Immich: bump to version 1.141.1 [@vhsdream](https://github.com/vhsdream) ([#7418](https://github.com/community-scripts/ProxmoxVE/pull/7418))
 | 
				
			||||||
 | 
					    - [core]: switch all base_settings to variables [@MickLesk](https://github.com/MickLesk) ([#7479](https://github.com/community-scripts/ProxmoxVE/pull/7479))
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  - #### 💥 Breaking Changes
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    - RustDesk Server: Update the credentials info [@tremor021](https://github.com/tremor021) ([#7473](https://github.com/community-scripts/ProxmoxVE/pull/7473))
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					### 🌐 Website
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  - #### 🐞 Bug Fixes
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    - Format numerical values in DataFetcher component for better readability [@BramSuurdje](https://github.com/BramSuurdje) ([#7477](https://github.com/community-scripts/ProxmoxVE/pull/7477))
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  - #### ✨ New Features
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    - feat: enhance github stars button to be better looking and more compact [@BramSuurdje](https://github.com/BramSuurdje) ([#7464](https://github.com/community-scripts/ProxmoxVE/pull/7464))
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					## 2025-09-07
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					### 🚀 Updated Scripts
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  - #### 🐞 Bug Fixes
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    - Update ExecStart path for karakeep service [@CrazyWolf13](https://github.com/CrazyWolf13) ([#7460](https://github.com/community-scripts/ProxmoxVE/pull/7460))
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					## 2025-09-06
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					### 🆕 New Scripts
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  - Resilio Sync ([#7442](https://github.com/community-scripts/ProxmoxVE/pull/7442))
 | 
				
			||||||
 | 
					- leantime ([#7414](https://github.com/community-scripts/ProxmoxVE/pull/7414))
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					### 🚀 Updated Scripts
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  - use debian source for direct installation of MQTT [@EtlamGit](https://github.com/EtlamGit) ([#7423](https://github.com/community-scripts/ProxmoxVE/pull/7423))
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  - #### ✨ New Features
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    - feat: added mobile ui subscription nag removal [@ivan-penchev](https://github.com/ivan-penchev) ([#7164](https://github.com/community-scripts/ProxmoxVE/pull/7164))
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					### 🌐 Website
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  - #### 📝 Script Information
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    - MediaManager Configuration Path [@austinpilz](https://github.com/austinpilz) ([#7408](https://github.com/community-scripts/ProxmoxVE/pull/7408))
 | 
				
			||||||
 | 
					    - Paperless-NGX: Remove default credentials from json [@tremor021](https://github.com/tremor021) ([#7403](https://github.com/community-scripts/ProxmoxVE/pull/7403))
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					## 2025-09-05
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					### 🚀 Updated Scripts
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  - Tududi: Pin version to 0.80 [@vhsdream](https://github.com/vhsdream) ([#7420](https://github.com/community-scripts/ProxmoxVE/pull/7420))
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  - #### 🐞 Bug Fixes
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    - AdventureLog: Update dependencies [@tremor021](https://github.com/tremor021) ([#7404](https://github.com/community-scripts/ProxmoxVE/pull/7404))
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					### 🌐 Website
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  - refactor: Enhance ScriptAccordion and Sidebar components to support selectedCategory state [@BramSuurdje](https://github.com/BramSuurdje) ([#7405](https://github.com/community-scripts/ProxmoxVE/pull/7405))
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					## 2025-09-04
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					### 🚀 Updated Scripts
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  - #### 🐞 Bug Fixes
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    - fix: Syntax error in Immich scripts [@henworth](https://github.com/henworth) ([#7398](https://github.com/community-scripts/ProxmoxVE/pull/7398))
 | 
				
			||||||
 | 
					    - Netdata: Fix pve_check for 8 [@MickLesk](https://github.com/MickLesk) ([#7392](https://github.com/community-scripts/ProxmoxVE/pull/7392))
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  - #### 🔧 Refactor
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    - Immich: pin compiled photo library revisions [@vhsdream](https://github.com/vhsdream) ([#7395](https://github.com/community-scripts/ProxmoxVE/pull/7395))
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					## 2025-09-03
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					### 🚀 Updated Scripts
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  - #### 🐞 Bug Fixes
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    - Element-Synapse: Increase HDD size [@tremor021](https://github.com/tremor021) ([#7384](https://github.com/community-scripts/ProxmoxVE/pull/7384))
 | 
				
			||||||
 | 
					    - Wizarr: fix uv lock issue; use correct output suppression [@vhsdream](https://github.com/vhsdream) ([#7378](https://github.com/community-scripts/ProxmoxVE/pull/7378))
 | 
				
			||||||
 | 
					    - Netbox: Fix missing directory [@tremor021](https://github.com/tremor021) ([#7374](https://github.com/community-scripts/ProxmoxVE/pull/7374))
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  - #### 🔧 Refactor
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    - Enhanced IP-Tag installation script with interactive configuration, improved VM IP detection, and better visual indicators [@DesertGamer](https://github.com/DesertGamer) ([#7366](https://github.com/community-scripts/ProxmoxVE/pull/7366))
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					### 🌐 Website
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  - #### 🐞 Bug Fixes
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    - Fix navigation [@BramSuurdje](https://github.com/BramSuurdje) ([#7376](https://github.com/community-scripts/ProxmoxVE/pull/7376))
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					## 2025-09-02
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					### 🚀 Updated Scripts
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  - Increase default disk size for Apt-Cacher-NG [@MickLesk](https://github.com/MickLesk) ([#7352](https://github.com/community-scripts/ProxmoxVE/pull/7352))
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  - #### 🐞 Bug Fixes
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    - Snipe-IT: Fix Nginx configuration [@tremor021](https://github.com/tremor021) ([#7358](https://github.com/community-scripts/ProxmoxVE/pull/7358))
 | 
				
			||||||
 | 
					    - booklore: remove folder before update [@MickLesk](https://github.com/MickLesk) ([#7351](https://github.com/community-scripts/ProxmoxVE/pull/7351))
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  - #### ✨ New Features
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    - Immich: bump version to 1.140.1 [@vhsdream](https://github.com/vhsdream) ([#7349](https://github.com/community-scripts/ProxmoxVE/pull/7349))
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					### 🌐 Website
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  - #### 📝 Script Information
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    - pbs: increase note on website for ipv6 [@MickLesk](https://github.com/MickLesk) ([#7339](https://github.com/community-scripts/ProxmoxVE/pull/7339))
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					## 2025-09-01
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					### 🚀 Updated Scripts
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  - #### 🐞 Bug Fixes
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    - Update configarr.sh to mv backep up .env correctly [@finkerle](https://github.com/finkerle) ([#7323](https://github.com/community-scripts/ProxmoxVE/pull/7323))
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  - #### ✨ New Features
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    - Refactor + Feature Bump: HomeAssistant OS [@MickLesk](https://github.com/MickLesk) ([#7336](https://github.com/community-scripts/ProxmoxVE/pull/7336))
 | 
				
			||||||
 | 
					    - UmbrelOS: Refactor / use q35 / better import [@MickLesk](https://github.com/MickLesk) ([#7329](https://github.com/community-scripts/ProxmoxVE/pull/7329))
 | 
				
			||||||
 | 
					    - Harmonize GH Release Check (excl. Pre-Releases & Migrate old "_version.txt" [@MickLesk](https://github.com/MickLesk) ([#7328](https://github.com/community-scripts/ProxmoxVE/pull/7328))
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					### 🌐 Website
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  - Bump next from 15.2.4 to 15.5.2 in /frontend [@dependabot[bot]](https://github.com/dependabot[bot]) ([#7309](https://github.com/community-scripts/ProxmoxVE/pull/7309))
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  - #### 📝 Script Information
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    - booklore: add note for start-up in frontend [@MickLesk](https://github.com/MickLesk) ([#7331](https://github.com/community-scripts/ProxmoxVE/pull/7331))
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					## 2025-08-31
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					### 🚀 Updated Scripts
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  - #### 🐞 Bug Fixes
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    - n8n: Increase disk size [@tremor021](https://github.com/tremor021) ([#7320](https://github.com/community-scripts/ProxmoxVE/pull/7320))
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					## 2025-08-30
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					### 🚀 Updated Scripts
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  - Immich: bump version to 1.140.0 [@vhsdream](https://github.com/vhsdream) ([#7275](https://github.com/community-scripts/ProxmoxVE/pull/7275))
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  - #### 🔧 Refactor
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    - Refactor gitea-mirror env-file [@CrazyWolf13](https://github.com/CrazyWolf13) ([#7240](https://github.com/community-scripts/ProxmoxVE/pull/7240))
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					## 2025-08-29
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					### 🚀 Updated Scripts
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  - #### 🐞 Bug Fixes
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    - fix version check for pocket-id migration [@MickLesk](https://github.com/MickLesk) ([#7298](https://github.com/community-scripts/ProxmoxVE/pull/7298))
 | 
				
			||||||
 | 
					    - fix: remove file creation at release fetching and version checking logic [@MickLesk](https://github.com/MickLesk) ([#7299](https://github.com/community-scripts/ProxmoxVE/pull/7299))
 | 
				
			||||||
 | 
					    - Zitadel: Fix initial setup [@tremor021](https://github.com/tremor021) ([#7284](https://github.com/community-scripts/ProxmoxVE/pull/7284))
 | 
				
			||||||
 | 
					    - post-pbs: increase enterprise recognition [@MickLesk](https://github.com/MickLesk) ([#7280](https://github.com/community-scripts/ProxmoxVE/pull/7280))
 | 
				
			||||||
 | 
					    - Fix typo where install mode was changed instead of pinned version [@Brandsma](https://github.com/Brandsma) ([#7277](https://github.com/community-scripts/ProxmoxVE/pull/7277))
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  - #### ✨ New Features
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    - [core]: feature - check_for_gh_release - version pinning [@MickLesk](https://github.com/MickLesk) ([#7279](https://github.com/community-scripts/ProxmoxVE/pull/7279))
 | 
				
			||||||
 | 
					    - [feat]: migrate all update_scripts to new version helper (gh) [@MickLesk](https://github.com/MickLesk) ([#7262](https://github.com/community-scripts/ProxmoxVE/pull/7262))
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					## 2025-08-28
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					### 🆕 New Scripts
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  - MediaManager ([#7238](https://github.com/community-scripts/ProxmoxVE/pull/7238))
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					### 🚀 Updated Scripts
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  - #### 🐞 Bug Fixes
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    - MMDL: add build-essential as dep [@vhsdream](https://github.com/vhsdream) ([#7266](https://github.com/community-scripts/ProxmoxVE/pull/7266))
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  - #### ✨ New Features
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    - add support for multiple ip addresses in monitor-all.sh [@moshekv](https://github.com/moshekv) ([#7244](https://github.com/community-scripts/ProxmoxVE/pull/7244))
 | 
				
			||||||
 | 
					    - [core]: feature - check_for_gh_release as update-handler [@MickLesk](https://github.com/MickLesk) ([#7254](https://github.com/community-scripts/ProxmoxVE/pull/7254))
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  - #### 💥 Breaking Changes
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    - Flaresolverr: Pin to 3.3.25 (Python Issue) [@MickLesk](https://github.com/MickLesk) ([#7248](https://github.com/community-scripts/ProxmoxVE/pull/7248))
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					### 🌐 Website
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  - #### 📝 Script Information
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    - Keycloak: Update website [@tremor021](https://github.com/tremor021) ([#7256](https://github.com/community-scripts/ProxmoxVE/pull/7256))
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					## 2025-08-27
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					### 🚀 Updated Scripts
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  - #### 🐞 Bug Fixes
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    - searxng: improve installation [@MickLesk](https://github.com/MickLesk) ([#7233](https://github.com/community-scripts/ProxmoxVE/pull/7233))
 | 
				
			||||||
 | 
					    - Homebox: Fix Update Script [@MickLesk](https://github.com/MickLesk) ([#7232](https://github.com/community-scripts/ProxmoxVE/pull/7232))
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					## 2025-08-26
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					### 🆕 New Scripts
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  - tracktor ([#7190](https://github.com/community-scripts/ProxmoxVE/pull/7190))
 | 
				
			||||||
 | 
					- PBS: Upgrade Script for v4 [@MickLesk](https://github.com/MickLesk) ([#7214](https://github.com/community-scripts/ProxmoxVE/pull/7214))
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					### 🚀 Updated Scripts
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  - #### ✨ New Features
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    - Refactor: Post-PBS-Script [@MickLesk](https://github.com/MickLesk) ([#7213](https://github.com/community-scripts/ProxmoxVE/pull/7213))
 | 
				
			||||||
 | 
					    - Refactor: Post-PMG-Script [@MickLesk](https://github.com/MickLesk) ([#7212](https://github.com/community-scripts/ProxmoxVE/pull/7212))
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					### 🌐 Website
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  - #### 📝 Script Information
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    - [website] Update documentation URLs [@tremor021](https://github.com/tremor021) ([#7201](https://github.com/community-scripts/ProxmoxVE/pull/7201))
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					## 2025-08-25
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					### 🆕 New Scripts
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  - Alpine-RustDesk Server [@tremor021](https://github.com/tremor021) ([#7191](https://github.com/community-scripts/ProxmoxVE/pull/7191))
 | 
				
			||||||
 | 
					- Alpine-Redlib ([#7178](https://github.com/community-scripts/ProxmoxVE/pull/7178))
 | 
				
			||||||
 | 
					- healthchecks ([#7177](https://github.com/community-scripts/ProxmoxVE/pull/7177))
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					### 🚀 Updated Scripts
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  - #### 🐞 Bug Fixes
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    - FileBrowser Quantum: safer update (tmp download + atomic replace + arch autodetect) [@CommanderPaladin](https://github.com/CommanderPaladin) ([#7174](https://github.com/community-scripts/ProxmoxVE/pull/7174))
 | 
				
			||||||
 | 
					    - Immich: bump to v1.139.4 [@vhsdream](https://github.com/vhsdream) ([#7138](https://github.com/community-scripts/ProxmoxVE/pull/7138))
 | 
				
			||||||
 | 
					    - Komodo: Fix compose.env path [@tremor021](https://github.com/tremor021) ([#7202](https://github.com/community-scripts/ProxmoxVE/pull/7202))
 | 
				
			||||||
 | 
					    - Komodo: Fix update procedure and missing env var [@tremor021](https://github.com/tremor021) ([#7198](https://github.com/community-scripts/ProxmoxVE/pull/7198))
 | 
				
			||||||
 | 
					    - SnipeIT: Update nginx config to v8.3 [@tremor021](https://github.com/tremor021) ([#7171](https://github.com/community-scripts/ProxmoxVE/pull/7171))
 | 
				
			||||||
 | 
					    - Lidarr: Fix RELEASE variable fetching [@tremor021](https://github.com/tremor021) ([#7162](https://github.com/community-scripts/ProxmoxVE/pull/7162))
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  - #### ✨ New Features
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    - Komodo: Generate admin users password [@tremor021](https://github.com/tremor021) ([#7193](https://github.com/community-scripts/ProxmoxVE/pull/7193))
 | 
				
			||||||
 | 
					    - [core]: uv uses now "update-shell" command [@MickLesk](https://github.com/MickLesk) ([#7172](https://github.com/community-scripts/ProxmoxVE/pull/7172))
 | 
				
			||||||
 | 
					    - [core]: tools.func - better verbose for postgresql [@MickLesk](https://github.com/MickLesk) ([#7173](https://github.com/community-scripts/ProxmoxVE/pull/7173))
 | 
				
			||||||
 | 
					    - n8n: Force update to NodeJS v22 [@tremor021](https://github.com/tremor021) ([#7176](https://github.com/community-scripts/ProxmoxVE/pull/7176))
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					### 🌐 Website
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  - #### 📝 Script Information
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    - 2FAuth: Fix website and docs URLs [@tremor021](https://github.com/tremor021) ([#7199](https://github.com/community-scripts/ProxmoxVE/pull/7199))
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					## 2025-08-24
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					### 🚀 Updated Scripts
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  - Kasm: Fix install log parsing [@tremor021](https://github.com/tremor021) ([#7140](https://github.com/community-scripts/ProxmoxVE/pull/7140))
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  - #### 🐞 Bug Fixes
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    - BookLore: Fix Nginx config [@tremor021](https://github.com/tremor021) ([#7155](https://github.com/community-scripts/ProxmoxVE/pull/7155))
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  - #### ✨ New Features
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    - Syncthing: Switch to v2 stable repository [@tremor021](https://github.com/tremor021) ([#7150](https://github.com/community-scripts/ProxmoxVE/pull/7150))
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					## 2025-08-23
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					### 🚀 Updated Scripts
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  - #### 🐞 Bug Fixes
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    - qBittorrent: Fix file names [@tremor021](https://github.com/tremor021) ([#7136](https://github.com/community-scripts/ProxmoxVE/pull/7136))
 | 
				
			||||||
 | 
					    - Tandoor: Fix env path [@tremor021](https://github.com/tremor021) ([#7130](https://github.com/community-scripts/ProxmoxVE/pull/7130))
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  - #### 💥 Breaking Changes
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    - Immich: v1.139.2 [@vhsdream](https://github.com/vhsdream) ([#7116](https://github.com/community-scripts/ProxmoxVE/pull/7116))
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  - #### 🔧 Refactor
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    - Refactor: Pf2eTools [@tremor021](https://github.com/tremor021) ([#7096](https://github.com/community-scripts/ProxmoxVE/pull/7096))
 | 
				
			||||||
 | 
					    - Refactor: Prowlarr [@tremor021](https://github.com/tremor021) ([#7091](https://github.com/community-scripts/ProxmoxVE/pull/7091))
 | 
				
			||||||
 | 
					    - Refactor: Radarr [@tremor021](https://github.com/tremor021) ([#7088](https://github.com/community-scripts/ProxmoxVE/pull/7088))
 | 
				
			||||||
 | 
					    - Refactor: Snipe-IT [@tremor021](https://github.com/tremor021) ([#7081](https://github.com/community-scripts/ProxmoxVE/pull/7081))
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					## 2025-08-22
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					### 🚀 Updated Scripts
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  - Refactor: Prometheus [@tremor021](https://github.com/tremor021) ([#7093](https://github.com/community-scripts/ProxmoxVE/pull/7093))
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  - #### 🐞 Bug Fixes
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    - paperless: nltk fix [@MickLesk](https://github.com/MickLesk) ([#7098](https://github.com/community-scripts/ProxmoxVE/pull/7098))
 | 
				
			||||||
 | 
					    - Tududi Fix: use correct tag parsing for release during update check [@vhsdream](https://github.com/vhsdream) ([#7072](https://github.com/community-scripts/ProxmoxVE/pull/7072))
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  - #### 🔧 Refactor
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    - Refactor: phpIPAM [@tremor021](https://github.com/tremor021) ([#7095](https://github.com/community-scripts/ProxmoxVE/pull/7095))
 | 
				
			||||||
 | 
					    - Refactor: Prometheus Paperless NGX Exporter [@tremor021](https://github.com/tremor021) ([#7092](https://github.com/community-scripts/ProxmoxVE/pull/7092))
 | 
				
			||||||
 | 
					    - Refactor: PS5-MQTT [@tremor021](https://github.com/tremor021) ([#7090](https://github.com/community-scripts/ProxmoxVE/pull/7090))
 | 
				
			||||||
 | 
					    - Refactor: qBittorrent [@tremor021](https://github.com/tremor021) ([#7089](https://github.com/community-scripts/ProxmoxVE/pull/7089))
 | 
				
			||||||
 | 
					    - Refactor: RDTClient [@tremor021](https://github.com/tremor021) ([#7086](https://github.com/community-scripts/ProxmoxVE/pull/7086))
 | 
				
			||||||
 | 
					    - Refactor: Recyclarr [@tremor021](https://github.com/tremor021) ([#7085](https://github.com/community-scripts/ProxmoxVE/pull/7085))
 | 
				
			||||||
 | 
					    - Refactor: RevealJS [@tremor021](https://github.com/tremor021) ([#7084](https://github.com/community-scripts/ProxmoxVE/pull/7084))
 | 
				
			||||||
 | 
					    - Refactor: Rclone [@tremor021](https://github.com/tremor021) ([#7087](https://github.com/community-scripts/ProxmoxVE/pull/7087))
 | 
				
			||||||
 | 
					    - Refactor: Semaphore [@tremor021](https://github.com/tremor021) ([#7083](https://github.com/community-scripts/ProxmoxVE/pull/7083))
 | 
				
			||||||
 | 
					    - Refactor: Silverbullet [@tremor021](https://github.com/tremor021) ([#7082](https://github.com/community-scripts/ProxmoxVE/pull/7082))
 | 
				
			||||||
 | 
					    - Refactor: Plant-it [@tremor021](https://github.com/tremor021) ([#7094](https://github.com/community-scripts/ProxmoxVE/pull/7094))
 | 
				
			||||||
 | 
					    - Refactor: TasmoAdmin [@tremor021](https://github.com/tremor021) ([#7080](https://github.com/community-scripts/ProxmoxVE/pull/7080))
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					## 2025-08-21
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					### 🆕 New Scripts
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  - LiteLLM ([#7052](https://github.com/community-scripts/ProxmoxVE/pull/7052))
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					### 🚀 Updated Scripts
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  - #### 🐞 Bug Fixes
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    - tianji: add uv deps [@MickLesk](https://github.com/MickLesk) ([#7066](https://github.com/community-scripts/ProxmoxVE/pull/7066))
 | 
				
			||||||
 | 
					    - Zitadel: installer for v4 [@MickLesk](https://github.com/MickLesk) ([#7058](https://github.com/community-scripts/ProxmoxVE/pull/7058))
 | 
				
			||||||
 | 
					    - Paperless-NGX: create direction for nltk [@MickLesk](https://github.com/MickLesk) ([#7064](https://github.com/community-scripts/ProxmoxVE/pull/7064))
 | 
				
			||||||
 | 
					    - Immich: hotfix - revert 7035 [@vhsdream](https://github.com/vhsdream) ([#7054](https://github.com/community-scripts/ProxmoxVE/pull/7054))
 | 
				
			||||||
 | 
					    - duplicati: fix release pattern [@MickLesk](https://github.com/MickLesk) ([#7049](https://github.com/community-scripts/ProxmoxVE/pull/7049))
 | 
				
			||||||
 | 
					    - technitiumdns: fix unbound variable [@MickLesk](https://github.com/MickLesk) ([#7047](https://github.com/community-scripts/ProxmoxVE/pull/7047))
 | 
				
			||||||
 | 
					    - [core]: improve binary globbing for gh releases [@MickLesk](https://github.com/MickLesk) ([#7044](https://github.com/community-scripts/ProxmoxVE/pull/7044))
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					## 2025-08-20
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					### 🚀 Updated Scripts
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  - #### 🐞 Bug Fixes
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    - Post-Install, change pve-test for trixie [@MickLesk](https://github.com/MickLesk) ([#7031](https://github.com/community-scripts/ProxmoxVE/pull/7031))
 | 
				
			||||||
 | 
					    - Immich: fix small issue with immich-admin "start" script [@vhsdream](https://github.com/vhsdream) ([#7035](https://github.com/community-scripts/ProxmoxVE/pull/7035))
 | 
				
			||||||
 | 
					    - WasteBin: Small fixes [@tremor021](https://github.com/tremor021) ([#7018](https://github.com/community-scripts/ProxmoxVE/pull/7018))
 | 
				
			||||||
 | 
					    - Komga: Fix update [@tremor021](https://github.com/tremor021) ([#7027](https://github.com/community-scripts/ProxmoxVE/pull/7027))
 | 
				
			||||||
 | 
					    - Barcode Buddy: Fix missing dependency [@tremor021](https://github.com/tremor021) ([#7020](https://github.com/community-scripts/ProxmoxVE/pull/7020))
 | 
				
			||||||
 | 
					    - PBS: ifupdown2 reload [@MickLesk](https://github.com/MickLesk) ([#7013](https://github.com/community-scripts/ProxmoxVE/pull/7013))
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  - #### ✨ New Features
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    - Feature: Netdata support PVE9 (Debian 13 Trixie) [@MickLesk](https://github.com/MickLesk) ([#7012](https://github.com/community-scripts/ProxmoxVE/pull/7012))
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  - #### 🔧 Refactor
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    - Refactor: RustDesk Server [@tremor021](https://github.com/tremor021) ([#7008](https://github.com/community-scripts/ProxmoxVE/pull/7008))
 | 
				
			||||||
 | 
					    - ghost: fix: verbose [@CrazyWolf13](https://github.com/CrazyWolf13) ([#7023](https://github.com/community-scripts/ProxmoxVE/pull/7023))
 | 
				
			||||||
 | 
					    - Refactor: Paperless-ngx [@MickLesk](https://github.com/MickLesk) ([#6938](https://github.com/community-scripts/ProxmoxVE/pull/6938))
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					## 2025-08-19
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					### 🆕 New Scripts
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  - Debian 13 VM [@MickLesk](https://github.com/MickLesk) ([#6970](https://github.com/community-scripts/ProxmoxVE/pull/6970))
 | 
				
			||||||
 | 
					- Swizzin ([#6962](https://github.com/community-scripts/ProxmoxVE/pull/6962))
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					### 🚀 Updated Scripts
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  - #### 🐞 Bug Fixes
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    - [core]: create_lxc - fix offline issue with alpine packages [@MickLesk](https://github.com/MickLesk) ([#6994](https://github.com/community-scripts/ProxmoxVE/pull/6994))
 | 
				
			||||||
 | 
					    - OpenObserve: Fix release fetching [@tremor021](https://github.com/tremor021) ([#6961](https://github.com/community-scripts/ProxmoxVE/pull/6961))
 | 
				
			||||||
 | 
					    - Update hev-socks5-server-install.sh [@iAzamat2](https://github.com/iAzamat2) ([#6953](https://github.com/community-scripts/ProxmoxVE/pull/6953))
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  - #### ✨ New Features
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    - Refactor: Glances (+ Feature Bump) [@MickLesk](https://github.com/MickLesk) ([#6976](https://github.com/community-scripts/ProxmoxVE/pull/6976))
 | 
				
			||||||
 | 
					    - [core]: add new features to create_lxc [@MickLesk](https://github.com/MickLesk) ([#6979](https://github.com/community-scripts/ProxmoxVE/pull/6979))
 | 
				
			||||||
 | 
					    - [core]: extend setup_uv to work with alpine [@MickLesk](https://github.com/MickLesk) ([#6978](https://github.com/community-scripts/ProxmoxVE/pull/6978))
 | 
				
			||||||
 | 
					    - Immich: Bump version to 1.138.1 [@vhsdream](https://github.com/vhsdream) ([#6984](https://github.com/community-scripts/ProxmoxVE/pull/6984))
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  - #### 🔧 Refactor
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    - Refactor: Tdarr [@MickLesk](https://github.com/MickLesk) ([#6969](https://github.com/community-scripts/ProxmoxVE/pull/6969))
 | 
				
			||||||
 | 
					    - Refactor: The Lounge [@tremor021](https://github.com/tremor021) ([#6958](https://github.com/community-scripts/ProxmoxVE/pull/6958))
 | 
				
			||||||
 | 
					    - Refactor: TeddyCloud [@tremor021](https://github.com/tremor021) ([#6963](https://github.com/community-scripts/ProxmoxVE/pull/6963))
 | 
				
			||||||
 | 
					    - Refactor: Technitium DNS [@tremor021](https://github.com/tremor021) ([#6968](https://github.com/community-scripts/ProxmoxVE/pull/6968))
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					### 🌐 Website
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  - #### 📝 Script Information
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    - [web]: update logos from reactive-resume & slskd [@MickLesk](https://github.com/MickLesk) ([#6990](https://github.com/community-scripts/ProxmoxVE/pull/6990))
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					## 2025-08-18
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					### 🆕 New Scripts
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  - CopyParty [@MickLesk](https://github.com/MickLesk) ([#6929](https://github.com/community-scripts/ProxmoxVE/pull/6929))
 | 
				
			||||||
 | 
					- Twingate-Connector ([#6921](https://github.com/community-scripts/ProxmoxVE/pull/6921))
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					### 🚀 Updated Scripts
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  - #### 🐞 Bug Fixes
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    - Keycloak: fix update function [@MickLesk](https://github.com/MickLesk) ([#6943](https://github.com/community-scripts/ProxmoxVE/pull/6943))
 | 
				
			||||||
 | 
					    - Immich: add message to indicate image-processing library update check [@vhsdream](https://github.com/vhsdream) ([#6935](https://github.com/community-scripts/ProxmoxVE/pull/6935))
 | 
				
			||||||
 | 
					    - fix(uptimekuma): unbound env variable [@vidonnus](https://github.com/vidonnus) ([#6922](https://github.com/community-scripts/ProxmoxVE/pull/6922))
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  - #### 🔧 Refactor
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    - Refactor: Traefik [@tremor021](https://github.com/tremor021) ([#6940](https://github.com/community-scripts/ProxmoxVE/pull/6940))
 | 
				
			||||||
 | 
					    - Refactor: Traccar [@tremor021](https://github.com/tremor021) ([#6942](https://github.com/community-scripts/ProxmoxVE/pull/6942))
 | 
				
			||||||
 | 
					    - Refactor: Umami [@tremor021](https://github.com/tremor021) ([#6939](https://github.com/community-scripts/ProxmoxVE/pull/6939))
 | 
				
			||||||
 | 
					    - Refactor: GoMFT [@tremor021](https://github.com/tremor021) ([#6916](https://github.com/community-scripts/ProxmoxVE/pull/6916))
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					### 🌐 Website
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  - #### 📝 Script Information
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    - OpenWRT: add info for VLAN-aware in frontend [@MickLesk](https://github.com/MickLesk) ([#6944](https://github.com/community-scripts/ProxmoxVE/pull/6944))
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					## 2025-08-17
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					## 2025-08-16
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					### 🚀 Updated Scripts
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  - #### 🐞 Bug Fixes
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    - Wireguard: Fix WGDashboard not updating [@tremor021](https://github.com/tremor021) ([#6898](https://github.com/community-scripts/ProxmoxVE/pull/6898))
 | 
				
			||||||
 | 
					    - Tandoor Images Fix [@WarLord185](https://github.com/WarLord185) ([#6892](https://github.com/community-scripts/ProxmoxVE/pull/6892))
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  - #### 🔧 Refactor
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    - Refactor: Uptime Kuma [@tremor021](https://github.com/tremor021) ([#6902](https://github.com/community-scripts/ProxmoxVE/pull/6902))
 | 
				
			||||||
 | 
					    - Refactor: Wallos [@tremor021](https://github.com/tremor021) ([#6900](https://github.com/community-scripts/ProxmoxVE/pull/6900))
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					## 2025-08-15
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					### 🚀 Updated Scripts
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  - #### 🐞 Bug Fixes
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    - Immich: pin Vectorchord release; adjust extension update commands [@vhsdream](https://github.com/vhsdream) ([#6878](https://github.com/community-scripts/ProxmoxVE/pull/6878))
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  - #### ✨ New Features
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    - Bump Immich to v1.138.0 [@vhsdream](https://github.com/vhsdream) ([#6813](https://github.com/community-scripts/ProxmoxVE/pull/6813))
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  - #### 🔧 Refactor
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    - Refactor: Wavelog [@tremor021](https://github.com/tremor021) ([#6869](https://github.com/community-scripts/ProxmoxVE/pull/6869))
 | 
				
			||||||
 | 
					    - Refactor: WatchYourLAN [@tremor021](https://github.com/tremor021) ([#6871](https://github.com/community-scripts/ProxmoxVE/pull/6871))
 | 
				
			||||||
 | 
					    - Refactor: Watcharr [@tremor021](https://github.com/tremor021) ([#6872](https://github.com/community-scripts/ProxmoxVE/pull/6872))
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					### 🌐 Website
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  - #### 📝 Script Information
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    - Add missing default user & pass for RabbitMQ [@hbenyoussef](https://github.com/hbenyoussef) ([#6883](https://github.com/community-scripts/ProxmoxVE/pull/6883))
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					## 2025-08-14
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					### 🚀 Updated Scripts
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  - #### 🐞 Bug Fixes
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    - Bugfix Searxng Redis replaced with Valkey in installscript  [@elvito](https://github.com/elvito) ([#6831](https://github.com/community-scripts/ProxmoxVE/pull/6831))
 | 
				
			||||||
 | 
					    - Spoolman: Use environment variables to control host and port [@tremor021](https://github.com/tremor021) ([#6825](https://github.com/community-scripts/ProxmoxVE/pull/6825))
 | 
				
			||||||
 | 
					    - Pulse: v4.3.2+ [@vhsdream](https://github.com/vhsdream) ([#6859](https://github.com/community-scripts/ProxmoxVE/pull/6859))
 | 
				
			||||||
 | 
					    - rustdeskserver: fix API version file [@steadfasterX](https://github.com/steadfasterX) ([#6847](https://github.com/community-scripts/ProxmoxVE/pull/6847))
 | 
				
			||||||
 | 
					    - Immich: quickfix #6836 [@vhsdream](https://github.com/vhsdream) ([#6848](https://github.com/community-scripts/ProxmoxVE/pull/6848))
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  - #### 🔧 Refactor
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    - Refactor: WikiJS [@tremor021](https://github.com/tremor021) ([#6840](https://github.com/community-scripts/ProxmoxVE/pull/6840))
 | 
				
			||||||
 | 
					    - Refactor: Zoraxy [@tremor021](https://github.com/tremor021) ([#6823](https://github.com/community-scripts/ProxmoxVE/pull/6823))
 | 
				
			||||||
 | 
					    - Refactor: Zitadel [@tremor021](https://github.com/tremor021) ([#6826](https://github.com/community-scripts/ProxmoxVE/pull/6826))
 | 
				
			||||||
 | 
					    - Refactor: WordPress [@tremor021](https://github.com/tremor021) ([#6837](https://github.com/community-scripts/ProxmoxVE/pull/6837))
 | 
				
			||||||
 | 
					    - Refactor: WireGuard [@tremor021](https://github.com/tremor021) ([#6839](https://github.com/community-scripts/ProxmoxVE/pull/6839))
 | 
				
			||||||
 | 
					    - Refactor: yt-dlp-webui [@tremor021](https://github.com/tremor021) ([#6832](https://github.com/community-scripts/ProxmoxVE/pull/6832))
 | 
				
			||||||
 | 
					    - Refactor: Zipline [@tremor021](https://github.com/tremor021) ([#6829](https://github.com/community-scripts/ProxmoxVE/pull/6829))
 | 
				
			||||||
 | 
					    - Refactor: Zot-Registry [@tremor021](https://github.com/tremor021) ([#6822](https://github.com/community-scripts/ProxmoxVE/pull/6822))
 | 
				
			||||||
 | 
					    - Refactor: Zwave-JS-UI [@tremor021](https://github.com/tremor021) ([#6820](https://github.com/community-scripts/ProxmoxVE/pull/6820))
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					### 🧰 Maintenance
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  - #### 📂 Github
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    - ProxmoxVE svg logo [@LuisPalacios](https://github.com/LuisPalacios) ([#6846](https://github.com/community-scripts/ProxmoxVE/pull/6846))
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					## 2025-08-13
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					### 🚀 Updated Scripts
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  - #### 🐞 Bug Fixes
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    - emby: fix update output [@MickLesk](https://github.com/MickLesk) ([#6791](https://github.com/community-scripts/ProxmoxVE/pull/6791))
 | 
				
			||||||
 | 
					    - archivebox: fix wrong formatted uv command [@MickLesk](https://github.com/MickLesk) ([#6794](https://github.com/community-scripts/ProxmoxVE/pull/6794))
 | 
				
			||||||
 | 
					    - Outline: Fixes for install and update procedures [@tremor021](https://github.com/tremor021) ([#6806](https://github.com/community-scripts/ProxmoxVE/pull/6806))
 | 
				
			||||||
 | 
					    - Palmr: fix release version parsing // increase RAM [@vhsdream](https://github.com/vhsdream) ([#6800](https://github.com/community-scripts/ProxmoxVE/pull/6800))
 | 
				
			||||||
 | 
					    - myspeed: fix update process if no data exist [@MickLesk](https://github.com/MickLesk) ([#6795](https://github.com/community-scripts/ProxmoxVE/pull/6795))
 | 
				
			||||||
 | 
					    - crafty-controller: fix update output [@MickLesk](https://github.com/MickLesk) ([#6793](https://github.com/community-scripts/ProxmoxVE/pull/6793))
 | 
				
			||||||
 | 
					    - GLPI: Fix timezone command [@tremor021](https://github.com/tremor021) ([#6783](https://github.com/community-scripts/ProxmoxVE/pull/6783))
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  - #### ✨ New Features
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    - Docker LXC: Add Portainer info [@tremor021](https://github.com/tremor021) ([#6803](https://github.com/community-scripts/ProxmoxVE/pull/6803))
 | 
				
			||||||
 | 
					    - AgentDVR: Added update function [@tremor021](https://github.com/tremor021) ([#6804](https://github.com/community-scripts/ProxmoxVE/pull/6804))
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					## 2025-08-12
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					### 🚀 Updated Scripts
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  - #### 🐞 Bug Fixes
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    - Pulse: binary path changed AGAIN; other fixes [@vhsdream](https://github.com/vhsdream) ([#6770](https://github.com/community-scripts/ProxmoxVE/pull/6770))
 | 
				
			||||||
 | 
					    - fix alpine syncthing config not being created [@GamerHun1238](https://github.com/GamerHun1238) ([#6773](https://github.com/community-scripts/ProxmoxVE/pull/6773))
 | 
				
			||||||
 | 
					    - change owner of hortusfox directory [@snow2k9](https://github.com/snow2k9) ([#6763](https://github.com/community-scripts/ProxmoxVE/pull/6763))
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					## 2025-08-11
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					### 🚀 Updated Scripts
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  - Reactive Resume: use new release parsing; other fixes [@vhsdream](https://github.com/vhsdream) ([#6744](https://github.com/community-scripts/ProxmoxVE/pull/6744))
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					## 2025-08-10
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					### 🚀 Updated Scripts
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  - Fix/thinpool detection as it allows to delete active thinpool with different name than "data" [@onethree7](https://github.com/onethree7) ([#6730](https://github.com/community-scripts/ProxmoxVE/pull/6730))
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  - #### 🐞 Bug Fixes
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    - Pulse: fix binary path [@vhsdream](https://github.com/vhsdream) ([#6740](https://github.com/community-scripts/ProxmoxVE/pull/6740))
 | 
				
			||||||
 | 
					    - Karakeep: chromium fix [@vhsdream](https://github.com/vhsdream) ([#6729](https://github.com/community-scripts/ProxmoxVE/pull/6729))
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					## 2025-08-09
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					### 🚀 Updated Scripts
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  - Paperless-AI: increase HDD Space to 20G [@MickLesk](https://github.com/MickLesk) ([#6716](https://github.com/community-scripts/ProxmoxVE/pull/6716))
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  - #### 🐞 Bug Fixes
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    - vaultwarden: increase disk space [@CrazyWolf13](https://github.com/CrazyWolf13) ([#6712](https://github.com/community-scripts/ProxmoxVE/pull/6712))
 | 
				
			||||||
 | 
					    - Fix: Bazarr requirements.txt file not parse-able by UV [@Xerovoxx98](https://github.com/Xerovoxx98) ([#6701](https://github.com/community-scripts/ProxmoxVE/pull/6701))
 | 
				
			||||||
 | 
					    - Improve backup of adventurelog folder [@ThomasDetemmerman](https://github.com/ThomasDetemmerman) ([#6653](https://github.com/community-scripts/ProxmoxVE/pull/6653))
 | 
				
			||||||
 | 
					    - HomeBox: Fixes for update procedure [@tremor021](https://github.com/tremor021) ([#6702](https://github.com/community-scripts/ProxmoxVE/pull/6702))
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  - #### 🔧 Refactor
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    - Refactor: Tianji [@MickLesk](https://github.com/MickLesk) ([#6662](https://github.com/community-scripts/ProxmoxVE/pull/6662))
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					## 2025-08-08
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					### 🆕 New Scripts
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  - Palmr ([#6642](https://github.com/community-scripts/ProxmoxVE/pull/6642))
 | 
				
			||||||
 | 
					- HortusFox ([#6641](https://github.com/community-scripts/ProxmoxVE/pull/6641))
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					### 🚀 Updated Scripts
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  - #### 🐞 Bug Fixes
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    - Unifi: Update libssl dependency [@tremor021](https://github.com/tremor021) ([#6680](https://github.com/community-scripts/ProxmoxVE/pull/6680))
 | 
				
			||||||
 | 
					    - HomeBox: Fix checking for existing install [@tremor021](https://github.com/tremor021) ([#6677](https://github.com/community-scripts/ProxmoxVE/pull/6677))
 | 
				
			||||||
 | 
					    - Immich: unpin libvips revision [@vhsdream](https://github.com/vhsdream) ([#6669](https://github.com/community-scripts/ProxmoxVE/pull/6669))
 | 
				
			||||||
 | 
					    - Meilisearch: fix wrong path switch [@MickLesk](https://github.com/MickLesk) ([#6668](https://github.com/community-scripts/ProxmoxVE/pull/6668))
 | 
				
			||||||
 | 
					    - MariaDB: fix "feedback" (statistical informations) whiptail  [@MickLesk](https://github.com/MickLesk) ([#6657](https://github.com/community-scripts/ProxmoxVE/pull/6657))
 | 
				
			||||||
 | 
					    - Karakeep: workaround/fix for #6593 [@vhsdream](https://github.com/vhsdream) ([#6648](https://github.com/community-scripts/ProxmoxVE/pull/6648))
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  - #### ✨ New Features
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    - Feature: FSTrim (Filesystem Trim) - Log / LVM Check / ZFS [@MickLesk](https://github.com/MickLesk) ([#6660](https://github.com/community-scripts/ProxmoxVE/pull/6660))
 | 
				
			||||||
 | 
					    - IP Tag: Allow installation on PVE 9.x [@webhdx](https://github.com/webhdx) ([#6679](https://github.com/community-scripts/ProxmoxVE/pull/6679))
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  - #### 🔧 Refactor
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    - Refactor: Alpine IT-Tools [@tremor021](https://github.com/tremor021) ([#6579](https://github.com/community-scripts/ProxmoxVE/pull/6579))
 | 
				
			||||||
 | 
					    - Refactor: ArchiveBox [@MickLesk](https://github.com/MickLesk) ([#6670](https://github.com/community-scripts/ProxmoxVE/pull/6670))
 | 
				
			||||||
 | 
					    - Refactor: Bazarr [@MickLesk](https://github.com/MickLesk) ([#6663](https://github.com/community-scripts/ProxmoxVE/pull/6663))
 | 
				
			||||||
 | 
					    - Refactor: Kometa [@MickLesk](https://github.com/MickLesk) ([#6673](https://github.com/community-scripts/ProxmoxVE/pull/6673))
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					## 2025-08-07
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					### 🚀 Updated Scripts
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  - #### 🐞 Bug Fixes
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    - Commafeed: Fix Backup Handling while Update [@MickLesk](https://github.com/MickLesk) ([#6629](https://github.com/community-scripts/ProxmoxVE/pull/6629))
 | 
				
			||||||
 | 
					    - VictoriaMetrics: Fix release fetching [@tremor021](https://github.com/tremor021) ([#6632](https://github.com/community-scripts/ProxmoxVE/pull/6632))
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  - #### ✨ New Features
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    - Feature: Post-PVE-Script (PVE9 Support + some Features) [@MickLesk](https://github.com/MickLesk) ([#6626](https://github.com/community-scripts/ProxmoxVE/pull/6626))
 | 
				
			||||||
 | 
					    - Feature: Clean-LXC now supports Alpine based containers [@MickLesk](https://github.com/MickLesk) ([#6628](https://github.com/community-scripts/ProxmoxVE/pull/6628))
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  - #### 🔧 Refactor
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    - Refactor: Tandoor v2  [@MickLesk](https://github.com/MickLesk) ([#6635](https://github.com/community-scripts/ProxmoxVE/pull/6635))
 | 
				
			||||||
 | 
					    - Refactor: Paymenter [@tremor021](https://github.com/tremor021) ([#6589](https://github.com/community-scripts/ProxmoxVE/pull/6589))
 | 
				
			||||||
 | 
					
 | 
				
			||||||
## 2025-08-06
 | 
					## 2025-08-06
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					### 🚀 Updated Scripts
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  - #### 🐞 Bug Fixes
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    - [core] better y/N handling for ressource check [@MickLesk](https://github.com/MickLesk) ([#6608](https://github.com/community-scripts/ProxmoxVE/pull/6608))
 | 
				
			||||||
 | 
					    - fix: update Pulse scripts for v4 Go rewrite support [@rcourtman](https://github.com/rcourtman) ([#6574](https://github.com/community-scripts/ProxmoxVE/pull/6574))
 | 
				
			||||||
 | 
					    - OpenProject: Fix missing apt update [@tremor021](https://github.com/tremor021) ([#6598](https://github.com/community-scripts/ProxmoxVE/pull/6598))
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  - #### ✨ New Features
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    - PVE9: Remove Beta Whiptail / add correct version check [@MickLesk](https://github.com/MickLesk) ([#6599](https://github.com/community-scripts/ProxmoxVE/pull/6599))
 | 
				
			||||||
 | 
					
 | 
				
			||||||
## 2025-08-05
 | 
					## 2025-08-05
 | 
				
			||||||
 | 
					
 | 
				
			||||||
### 🚀 Updated Scripts
 | 
					### 🚀 Updated Scripts
 | 
				
			||||||
 
 | 
				
			|||||||
							
								
								
									
										54
									
								
								SECURITY.md
									
									
									
									
									
								
							
							
						
						
									
										54
									
								
								SECURITY.md
									
									
									
									
									
								
							@@ -1,24 +1,64 @@
 | 
				
			|||||||
 | 
					# Security Policy
 | 
				
			||||||
 | 
					
 | 
				
			||||||
## Supported Versions
 | 
					## Supported Versions
 | 
				
			||||||
This project currently supports the following versions of Proxmox VE:
 | 
					
 | 
				
			||||||
 | 
					This project currently supports the following versions of Proxmox VE (PVE):
 | 
				
			||||||
 | 
					
 | 
				
			||||||
| Version | Supported          |
 | 
					| Version | Supported          |
 | 
				
			||||||
| ------- | ------------------ |
 | 
					| ------- | ------------------ |
 | 
				
			||||||
 | 
					| 9.0.x   | :white_check_mark: |
 | 
				
			||||||
| 8.4.x   | :white_check_mark: |
 | 
					| 8.4.x   | :white_check_mark: |
 | 
				
			||||||
| 8.3.x   | :white_check_mark: |
 | 
					| 8.3.x   | :white_check_mark: |
 | 
				
			||||||
| 8.2.x   | :white_check_mark: |
 | 
					| 8.2.x   | :white_check_mark: |
 | 
				
			||||||
| 8.1.x   | :white_check_mark: |
 | 
					| 8.1.x   | :white_check_mark: |
 | 
				
			||||||
| 8.0.x   | Limited support* ❕| 
 | 
					| 8.0.x   | Limited support* ❕ |
 | 
				
			||||||
| < 8.0   | :x:                |
 | 
					| < 8.0   | :x:                |
 | 
				
			||||||
 | 
					
 | 
				
			||||||
*Version 8.0.x has limited support. Security updates may not be provided for all issues in this version.
 | 
					*Version 8.0.x has limited support. Security updates may not be provided for all issues affecting this version.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					---
 | 
				
			||||||
 | 
					
 | 
				
			||||||
## Reporting a Vulnerability
 | 
					## Reporting a Vulnerability
 | 
				
			||||||
 | 
					
 | 
				
			||||||
Security vulnerabilities shouldn’t be reported publicly to prevent potential exploitation. Instead, please report any vulnerabilities privately by reaching out directly to us. You can either join our [Discord server](https://discord.gg/jsYVk5JBxq) and send a direct message to a maintainer or contact us via email at contact@community-scripts.org. Be sure to include a detailed description of the vulnerability and the steps to reproduce it. Thank you for helping us keep our project secure!
 | 
					Security vulnerabilities must not be reported publicly to avoid potential exploitation.  
 | 
				
			||||||
 | 
					Instead, please report them privately via one of the following channels:
 | 
				
			||||||
 | 
					
 | 
				
			||||||
Once a vulnerability has been reported, the project maintainers will review it and acknowledge the report within 7 business days. We will then work to address the vulnerability and provide a fix as soon as possible. Depending on the severity of the issue, a patch may be released immediately or included in the next scheduled update.
 | 
					- **Discord**: Join our [Discord server](https://discord.gg/jsYVk5JBxq) and send a direct message to a maintainer.  
 | 
				
			||||||
 | 
					- **Email**: Write to us at **contact@community-scripts.org** with the subject line:  
 | 
				
			||||||
 | 
					  `Vulnerability Report - <Project/Script Name>`.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
Please note that not all reported vulnerabilities may be accepted. The project maintainers reserve the right to decline a vulnerability report if it is deemed to be a low-risk issue or if it conflicts with the project's design or architecture. In such cases, we will provide an explanation for the decision.
 | 
					When reporting a vulnerability, please provide:
 | 
				
			||||||
 | 
					
 | 
				
			||||||
If you have any questions or concerns about this security policy, please don't hesitate to contact the project maintainers.
 | 
					- A clear description of the issue  
 | 
				
			||||||
 | 
					- Steps to reproduce the vulnerability  
 | 
				
			||||||
 | 
					- Affected versions or environments  
 | 
				
			||||||
 | 
					- (Optional) Suggested fixes or workarounds  
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					---
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					## Response Process
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					1. **Acknowledgment**  
 | 
				
			||||||
 | 
					   - We will review and acknowledge your report within **7 business days**.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					2. **Assessment**  
 | 
				
			||||||
 | 
					   - The maintainers will verify the issue and classify its severity.  
 | 
				
			||||||
 | 
					   - Depending on impact, a patch may be released immediately or scheduled for the next update.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					3. **Resolution**  
 | 
				
			||||||
 | 
					   - Critical security fixes will be prioritized.  
 | 
				
			||||||
 | 
					   - Non-critical issues may be deferred or declined with an explanation.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					---
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					## Disclaimer
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					Not all reported issues will be treated as vulnerabilities.  
 | 
				
			||||||
 | 
					Reports may be declined if they are deemed:  
 | 
				
			||||||
 | 
					- Low-risk  
 | 
				
			||||||
 | 
					- Out of project scope  
 | 
				
			||||||
 | 
					- Conflicting with intended design or architecture  
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					---
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					If you have any questions or concerns about this security policy, please reach out to the maintainers through the contact options above.
 | 
				
			||||||
 
 | 
				
			|||||||
							
								
								
									
										14
									
								
								ct/2fauth.sh
									
									
									
									
									
								
							
							
						
						
									
										14
									
								
								ct/2fauth.sh
									
									
									
									
									
								
							@@ -28,12 +28,7 @@ function update_script() {
 | 
				
			|||||||
    msg_error "No ${APP} Installation Found!"
 | 
					    msg_error "No ${APP} Installation Found!"
 | 
				
			||||||
    exit
 | 
					    exit
 | 
				
			||||||
  fi
 | 
					  fi
 | 
				
			||||||
  if ! command -v jq &>/dev/null; then
 | 
					  if check_for_gh_release "2fauth" "Bubka/2FAuth"; then
 | 
				
			||||||
    $STD apt-get install -y jq
 | 
					 | 
				
			||||||
  fi
 | 
					 | 
				
			||||||
  RELEASE=$(curl -fsSL https://api.github.com/repos/Bubka/2FAuth/releases/latest | jq -r '.tag_name' | sed 's/^v//')
 | 
					 | 
				
			||||||
  if [[ "${RELEASE}" != "$(cat ~/.2fauth 2>/dev/null)" ]] || [[ ! -f ~/.2fauth ]]; then
 | 
					 | 
				
			||||||
    msg_info "Updating $APP to ${RELEASE}"
 | 
					 | 
				
			||||||
    $STD apt-get update
 | 
					    $STD apt-get update
 | 
				
			||||||
    $STD apt-get -y upgrade
 | 
					    $STD apt-get -y upgrade
 | 
				
			||||||
 | 
					
 | 
				
			||||||
@@ -64,18 +59,13 @@ function update_script() {
 | 
				
			|||||||
    $STD systemctl restart nginx
 | 
					    $STD systemctl restart nginx
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    msg_info "Cleaning Up"
 | 
					    msg_info "Cleaning Up"
 | 
				
			||||||
    rm -rf "v${RELEASE}.zip"
 | 
					 | 
				
			||||||
    if dpkg -l | grep -q 'php8.2'; then
 | 
					    if dpkg -l | grep -q 'php8.2'; then
 | 
				
			||||||
      $STD apt-get remove --purge -y php8.2*
 | 
					      $STD apt-get remove --purge -y php8.2*
 | 
				
			||||||
    fi
 | 
					    fi
 | 
				
			||||||
    $STD apt-get -y autoremove
 | 
					    $STD apt-get -y autoremove
 | 
				
			||||||
    $STD apt-get -y autoclean
 | 
					    $STD apt-get -y autoclean
 | 
				
			||||||
    msg_ok "Cleanup Completed"
 | 
					    msg_ok "Cleanup Completed"
 | 
				
			||||||
 | 
					    msg_ok "Updated Successfully"
 | 
				
			||||||
    echo "${RELEASE}" >/opt/2fauth_version.txt
 | 
					 | 
				
			||||||
    msg_ok "Updated $APP to ${RELEASE}"
 | 
					 | 
				
			||||||
  else
 | 
					 | 
				
			||||||
    msg_ok "No update required. ${APP} is already at ${RELEASE}"
 | 
					 | 
				
			||||||
  fi
 | 
					  fi
 | 
				
			||||||
  exit
 | 
					  exit
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -6,13 +6,13 @@ source <(curl -fsSL https://raw.githubusercontent.com/community-scripts/ProxmoxV
 | 
				
			|||||||
# Source: https://actualbudget.org/
 | 
					# Source: https://actualbudget.org/
 | 
				
			||||||
 | 
					
 | 
				
			||||||
APP="Actual Budget"
 | 
					APP="Actual Budget"
 | 
				
			||||||
var_tags="finance"
 | 
					var_tags="${var_tags:-finance}"
 | 
				
			||||||
var_cpu="2"
 | 
					var_cpu="${var_cpu:-2}"
 | 
				
			||||||
var_ram="2048"
 | 
					var_ram="${var_ram:-2048}"
 | 
				
			||||||
var_disk="4"
 | 
					var_disk="${var_disk:-4}"
 | 
				
			||||||
var_os="debian"
 | 
					var_os="${var_os:-debian}"
 | 
				
			||||||
var_version="12"
 | 
					var_version="${var_version:-12}"
 | 
				
			||||||
var_unprivileged="1"
 | 
					var_unprivileged="${var_unprivileged:-1}"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
header_info "$APP"
 | 
					header_info "$APP"
 | 
				
			||||||
variables
 | 
					variables
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -11,7 +11,7 @@ var_cpu="${var_cpu:-1}"
 | 
				
			|||||||
var_ram="${var_ram:-512}"
 | 
					var_ram="${var_ram:-512}"
 | 
				
			||||||
var_disk="${var_disk:-2}"
 | 
					var_disk="${var_disk:-2}"
 | 
				
			||||||
var_os="${var_os:-debian}"
 | 
					var_os="${var_os:-debian}"
 | 
				
			||||||
var_version="${var_version:-12}"
 | 
					var_version="${var_version:-13}"
 | 
				
			||||||
var_unprivileged="${var_unprivileged:-1}"
 | 
					var_unprivileged="${var_unprivileged:-1}"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
header_info "$APP"
 | 
					header_info "$APP"
 | 
				
			||||||
@@ -20,15 +20,15 @@ color
 | 
				
			|||||||
catch_errors
 | 
					catch_errors
 | 
				
			||||||
 | 
					
 | 
				
			||||||
function update_script() {
 | 
					function update_script() {
 | 
				
			||||||
    header_info
 | 
					  header_info
 | 
				
			||||||
    check_container_storage
 | 
					  check_container_storage
 | 
				
			||||||
    check_container_resources
 | 
					  check_container_resources
 | 
				
			||||||
    if [[ ! -d /opt/AdGuardHome ]]; then
 | 
					  if [[ ! -d /opt/AdGuardHome ]]; then
 | 
				
			||||||
        msg_error "No ${APP} Installation Found!"
 | 
					    msg_error "No ${APP} Installation Found!"
 | 
				
			||||||
        exit
 | 
					 | 
				
			||||||
    fi
 | 
					 | 
				
			||||||
    msg_error "Adguard Home should be updated via the user interface."
 | 
					 | 
				
			||||||
    exit
 | 
					    exit
 | 
				
			||||||
 | 
					  fi
 | 
				
			||||||
 | 
					  msg_error "Adguard Home can only be updated via the user interface."
 | 
				
			||||||
 | 
					  exit
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
start
 | 
					start
 | 
				
			||||||
@@ -38,4 +38,4 @@ description
 | 
				
			|||||||
msg_ok "Completed Successfully!\n"
 | 
					msg_ok "Completed Successfully!\n"
 | 
				
			||||||
echo -e "${CREATING}${GN}${APP} setup has been successfully initialized!${CL}"
 | 
					echo -e "${CREATING}${GN}${APP} setup has been successfully initialized!${CL}"
 | 
				
			||||||
echo -e "${INFO}${YW} Access it using the following URL:${CL}"
 | 
					echo -e "${INFO}${YW} Access it using the following URL:${CL}"
 | 
				
			||||||
echo -e "${TAB}${GATEWAY}${BGN}http://${IP}:3000${CL}"
 | 
					echo -e "${TAB}${GATEWAY}${BGN}http://${IP}:3000${CL}"
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -27,25 +27,25 @@ function update_script() {
 | 
				
			|||||||
    msg_error "No ${APP} Installation Found!"
 | 
					    msg_error "No ${APP} Installation Found!"
 | 
				
			||||||
    exit
 | 
					    exit
 | 
				
			||||||
  fi
 | 
					  fi
 | 
				
			||||||
 | 
					  if ! command -v memcached >/dev/null 2>&1; then
 | 
				
			||||||
  RELEASE=$(curl -fsSL https://api.github.com/repos/seanmorley15/AdventureLog/releases/latest | grep "tag_name" | awk '{print substr($2, 3, length($2)-4) }')
 | 
					    $STD apt-get update
 | 
				
			||||||
  if [[ "${RELEASE}" != "$(cat ~/.adventurelog 2>/dev/null)" ]] || [[ ! -f ~/.adventurelog ]]; then
 | 
					    $STD apt-get install -y memcached libmemcached-tools
 | 
				
			||||||
 | 
					  fi
 | 
				
			||||||
 | 
					  if check_for_gh_release "adventurelog" "seanmorley15/adventurelog"; then
 | 
				
			||||||
    msg_info "Stopping Services"
 | 
					    msg_info "Stopping Services"
 | 
				
			||||||
    systemctl stop adventurelog-backend
 | 
					    systemctl stop adventurelog-backend
 | 
				
			||||||
    systemctl stop adventurelog-frontend
 | 
					    systemctl stop adventurelog-frontend
 | 
				
			||||||
    msg_ok "Services Stopped"
 | 
					    msg_ok "Services Stopped"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    msg_info "Backup Old Installation"
 | 
					    msg_info "Backup Old Installation"
 | 
				
			||||||
    mkdir -p /opt/adventurelog-backup
 | 
					    cp -r /opt/adventurelog /opt/adventurelog-backup
 | 
				
			||||||
    cp /opt/adventurelog/backend/server/.env /opt/adventurelog-backup/backend/server/.env
 | 
					    rm -rf /opt/adventurelog
 | 
				
			||||||
    cp -r /opt/adventurelog/backend/server/media /opt/adventurelog-backup/backend/server/media
 | 
					 | 
				
			||||||
    cp /opt/adventurelog/frontend/.env /opt/adventurelog-backup/frontend/.env
 | 
					 | 
				
			||||||
    msg_ok "Backup done"
 | 
					    msg_ok "Backup done"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    fetch_and_deploy_gh_release "adventurelog" "seanmorley15/adventurelog"
 | 
					    fetch_and_deploy_gh_release "adventurelog" "seanmorley15/adventurelog"
 | 
				
			||||||
    PYTHON_VERSION="3.12" setup_uv
 | 
					    PYTHON_VERSION="3.12" setup_uv
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    msg_info "Updating ${APP} to v${RELEASE}"
 | 
					    msg_info "Updating ${APP}"
 | 
				
			||||||
    cp /opt/adventurelog-backup/backend/server/.env /opt/adventurelog/backend/server/.env
 | 
					    cp /opt/adventurelog-backup/backend/server/.env /opt/adventurelog/backend/server/.env
 | 
				
			||||||
    cp -r /opt/adventurelog-backup/backend/server/media /opt/adventurelog/backend/server/media
 | 
					    cp -r /opt/adventurelog-backup/backend/server/media /opt/adventurelog/backend/server/media
 | 
				
			||||||
    cd /opt/adventurelog/backend/server
 | 
					    cd /opt/adventurelog/backend/server
 | 
				
			||||||
@@ -57,7 +57,7 @@ function update_script() {
 | 
				
			|||||||
    $STD .venv/bin/python -m pip install -r requirements.txt
 | 
					    $STD .venv/bin/python -m pip install -r requirements.txt
 | 
				
			||||||
    $STD .venv/bin/python -m manage collectstatic --noinput
 | 
					    $STD .venv/bin/python -m manage collectstatic --noinput
 | 
				
			||||||
    $STD .venv/bin/python -m manage migrate
 | 
					    $STD .venv/bin/python -m manage migrate
 | 
				
			||||||
    
 | 
					
 | 
				
			||||||
    cp /opt/adventurelog-backup/frontend/.env /opt/adventurelog/frontend/.env
 | 
					    cp /opt/adventurelog-backup/frontend/.env /opt/adventurelog/frontend/.env
 | 
				
			||||||
    cd /opt/adventurelog/frontend
 | 
					    cd /opt/adventurelog/frontend
 | 
				
			||||||
    $STD pnpm i
 | 
					    $STD pnpm i
 | 
				
			||||||
@@ -73,10 +73,7 @@ function update_script() {
 | 
				
			|||||||
    msg_info "Cleaning Up"
 | 
					    msg_info "Cleaning Up"
 | 
				
			||||||
    rm -rf /opt/adventurelog-backup
 | 
					    rm -rf /opt/adventurelog-backup
 | 
				
			||||||
    msg_ok "Cleaned"
 | 
					    msg_ok "Cleaned"
 | 
				
			||||||
 | 
					 | 
				
			||||||
    msg_ok "Updated Successfully"
 | 
					    msg_ok "Updated Successfully"
 | 
				
			||||||
  else
 | 
					 | 
				
			||||||
    msg_ok "No update required. ${APP} is already at ${RELEASE}"
 | 
					 | 
				
			||||||
  fi
 | 
					  fi
 | 
				
			||||||
  exit
 | 
					  exit
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -27,7 +27,30 @@ function update_script() {
 | 
				
			|||||||
    msg_error "No ${APP} Installation Found!"
 | 
					    msg_error "No ${APP} Installation Found!"
 | 
				
			||||||
    exit
 | 
					    exit
 | 
				
			||||||
  fi
 | 
					  fi
 | 
				
			||||||
  msg_error "Currently we don't provide an update function for this ${APP}."
 | 
					  
 | 
				
			||||||
 | 
					  RELEASE=$(curl -fsSL "https://www.ispyconnect.com/api/Agent/DownloadLocation4?platform=Linux64&fromVersion=0" | grep -o 'https://.*\.zip')
 | 
				
			||||||
 | 
					  if [[ "${RELEASE}" != "$(cat ~/.agentdvr 2>/dev/null)" ]] || [[ ! -f ~/.agentdvr ]]; then
 | 
				
			||||||
 | 
					    msg_info "Stopping service"
 | 
				
			||||||
 | 
					    systemctl stop AgentDVR
 | 
				
			||||||
 | 
					    msg_ok "Service stopped"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    msg_info "Updating $APP"
 | 
				
			||||||
 | 
					    cd /opt/agentdvr/agent
 | 
				
			||||||
 | 
					    curl -fsSL "$RELEASE" -o $(basename "$RELEASE")
 | 
				
			||||||
 | 
					    $STD unzip -o Agent_Linux64*.zip
 | 
				
			||||||
 | 
					    chmod +x ./Agent
 | 
				
			||||||
 | 
					    echo $RELEASE > ~/.agentdvr
 | 
				
			||||||
 | 
					    rm -rf Agent_Linux64*.zip
 | 
				
			||||||
 | 
					    msg_ok "Updated $APP"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    msg_info "Starting service"
 | 
				
			||||||
 | 
					    systemctl start AgentDVR
 | 
				
			||||||
 | 
					    msg_ok "Service started"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    msg_ok "Updated $APP successfully"
 | 
				
			||||||
 | 
					  else
 | 
				
			||||||
 | 
					    msg_ok "No update required. ${APP} is already at ${RELEASE}"
 | 
				
			||||||
 | 
					  fi
 | 
				
			||||||
  exit
 | 
					  exit
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 
 | 
				
			|||||||
							
								
								
									
										47
									
								
								ct/alpine-caddy.sh
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										47
									
								
								ct/alpine-caddy.sh
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,47 @@
 | 
				
			|||||||
 | 
					#!/usr/bin/env bash
 | 
				
			||||||
 | 
					source <(curl -fsSL https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/misc/build.func)
 | 
				
			||||||
 | 
					# Copyright (c) 2021-2025 community-scripts ORG
 | 
				
			||||||
 | 
					# Author: cobalt (cobaltgit)
 | 
				
			||||||
 | 
					# License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE
 | 
				
			||||||
 | 
					# Source: https://caddyserver.com/
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					APP="Alpine-Caddy"
 | 
				
			||||||
 | 
					var_tags="${var_tags:-webserver}"
 | 
				
			||||||
 | 
					var_cpu="${var_cpu:-1}"
 | 
				
			||||||
 | 
					var_ram="${var_ram:-256}"
 | 
				
			||||||
 | 
					var_disk="${var_disk:-3}"
 | 
				
			||||||
 | 
					var_os="${var_os:-alpine}"
 | 
				
			||||||
 | 
					var_version="${var_version:-3.22}"
 | 
				
			||||||
 | 
					var_unprivileged="${var_unprivileged:-1}"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					header_info "$APP"
 | 
				
			||||||
 | 
					variables
 | 
				
			||||||
 | 
					color
 | 
				
			||||||
 | 
					catch_errors
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					function update_script() {
 | 
				
			||||||
 | 
					  header_info
 | 
				
			||||||
 | 
					  check_container_storage
 | 
				
			||||||
 | 
					  check_container_resources
 | 
				
			||||||
 | 
					  if [[ ! -d /etc/caddy ]]; then
 | 
				
			||||||
 | 
					    msg_error "No ${APP} Installation Found!"
 | 
				
			||||||
 | 
					    exit
 | 
				
			||||||
 | 
					  fi
 | 
				
			||||||
 | 
					  msg_info "Updating $APP LXC"
 | 
				
			||||||
 | 
					  $STD apk -U upgrade
 | 
				
			||||||
 | 
					  msg_ok "Updated $APP LXC"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  msg_info "Restarting Caddy"
 | 
				
			||||||
 | 
					  rc-service caddy restart
 | 
				
			||||||
 | 
					  msg_ok "Restarted Caddy"
 | 
				
			||||||
 | 
					  exit
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					start
 | 
				
			||||||
 | 
					build_container
 | 
				
			||||||
 | 
					description
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					msg_ok "Completed Successfully!\n"
 | 
				
			||||||
 | 
					echo -e "${CREATING}${GN}${APP} setup has been successfully initialized!${CL}"
 | 
				
			||||||
 | 
					echo -e "${INFO}${YW} Access it using the following URL:${CL}"
 | 
				
			||||||
 | 
					echo -e "${TAB}${GATEWAY}${BGN}http://${IP}:80${CL}"
 | 
				
			||||||
@@ -27,16 +27,15 @@ function update_script() {
 | 
				
			|||||||
    exit 1
 | 
					    exit 1
 | 
				
			||||||
  fi
 | 
					  fi
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  RELEASE=$(curl -fsSL https://api.github.com/repos/CorentinTh/it-tools/releases/latest | grep '"tag_name":' | cut -d '"' -f4)
 | 
					  RELEASE=$(curl -fsSL https://api.github.com/repos/sharevb/it-tools/releases/latest | grep '"tag_name":' | cut -d '"' -f4)
 | 
				
			||||||
  if [ "${RELEASE}" != "$(cat /opt/${APP}_version.txt)" ] || [ ! -f /opt/${APP}_version.txt ]; then
 | 
					  if [ "${RELEASE}" != "$(cat /opt/${APP}_version.txt)" ] || [ ! -f /opt/${APP}_version.txt ]; then
 | 
				
			||||||
    DOWNLOAD_URL="https://github.com/CorentinTh/it-tools/releases/download/${RELEASE}/it-tools-${RELEASE#v}.zip"
 | 
					 | 
				
			||||||
    msg_info "Updating ${APP} LXC"
 | 
					    msg_info "Updating ${APP} LXC"
 | 
				
			||||||
    curl -fsSL -o it-tools.zip "$DOWNLOAD_URL"
 | 
					    curl -fsSL "https://github.com/sharevb/it-tools/releases/download/${RELEASE}/it-tools-${RELEASE#v}.zip" -o it-tools.zip
 | 
				
			||||||
    mkdir -p /usr/share/nginx/html
 | 
					    mkdir -p /usr/share/nginx/html
 | 
				
			||||||
    rm -rf /usr/share/nginx/html/*
 | 
					    rm -rf /usr/share/nginx/html/*
 | 
				
			||||||
    $STD unzip it-tools.zip -d /tmp/it-tools
 | 
					    $STD unzip it-tools.zip -d /tmp
 | 
				
			||||||
    cp -r /tmp/it-tools/dist/* /usr/share/nginx/html
 | 
					    cp -r /tmp/dist/* /usr/share/nginx/html
 | 
				
			||||||
    rm -rf /tmp/it-tools
 | 
					    rm -rf /tmp/dist
 | 
				
			||||||
    rm -f it-tools.zip
 | 
					    rm -f it-tools.zip
 | 
				
			||||||
    msg_ok "Updated Successfully"
 | 
					    msg_ok "Updated Successfully"
 | 
				
			||||||
  else
 | 
					  else
 | 
				
			||||||
 
 | 
				
			|||||||
							
								
								
									
										56
									
								
								ct/alpine-redlib.sh
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										56
									
								
								ct/alpine-redlib.sh
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,56 @@
 | 
				
			|||||||
 | 
					#!/usr/bin/env bash
 | 
				
			||||||
 | 
					source <(curl -fsSL https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/misc/build.func)
 | 
				
			||||||
 | 
					# Copyright (c) 2021-2025 community-scripts ORG
 | 
				
			||||||
 | 
					# Author: andrej-kocijan (Andrej Kocijan)
 | 
				
			||||||
 | 
					# License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE
 | 
				
			||||||
 | 
					# Source: https://github.com/redlib-org/redlib
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					APP="Alpine-Redlib"
 | 
				
			||||||
 | 
					var_tags="${var_tags:-alpine;frontend}"
 | 
				
			||||||
 | 
					var_cpu="${var_cpu:-1}"
 | 
				
			||||||
 | 
					var_ram="${var_ram:-512}"
 | 
				
			||||||
 | 
					var_disk="${var_disk:-1}"
 | 
				
			||||||
 | 
					var_os="${var_os:-alpine}"
 | 
				
			||||||
 | 
					var_version="${var_version:-3.22}"
 | 
				
			||||||
 | 
					var_unprivileged="${var_unprivileged:-1}"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					header_info "$APP"
 | 
				
			||||||
 | 
					variables
 | 
				
			||||||
 | 
					color
 | 
				
			||||||
 | 
					catch_errors
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					function update_script() {
 | 
				
			||||||
 | 
					  header_info
 | 
				
			||||||
 | 
					  check_container_resources
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  if [[ ! -d /opt/redlib ]]; then
 | 
				
			||||||
 | 
					      msg_error "No ${APP} Installation Found!"
 | 
				
			||||||
 | 
					      exit
 | 
				
			||||||
 | 
					  fi
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  msg_info "Updating Alpine Packages"
 | 
				
			||||||
 | 
					  $STD apk -U upgrade
 | 
				
			||||||
 | 
					  msg_ok "Updated Alpine Packages"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  msg_info "Stopping ${APP} Service"
 | 
				
			||||||
 | 
					  $STD rc-service redlib stop
 | 
				
			||||||
 | 
					  msg_ok "Stopped ${APP} Service"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  fetch_and_deploy_gh_release "redlib" "redlib-org/redlib" "prebuild" "latest" "/opt/redlib" "redlib-x86_64-unknown-linux-musl.tar.gz"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  msg_info "Starting ${APP} Service"
 | 
				
			||||||
 | 
					  $STD rc-service redlib start
 | 
				
			||||||
 | 
					  msg_ok "Started ${APP} Service"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  msg_ok "Update Successful"
 | 
				
			||||||
 | 
					  exit
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					start
 | 
				
			||||||
 | 
					build_container
 | 
				
			||||||
 | 
					description
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					msg_ok "Completed Successfully!\n"
 | 
				
			||||||
 | 
					echo -e "${CREATING}${GN}${APP} setup has been successfully initialized!${CL}"
 | 
				
			||||||
 | 
					echo -e "${INFO}${YW} Access it using the following URL:${CL}"
 | 
				
			||||||
 | 
					echo -e "${TAB}${GATEWAY}${BGN}http://${IP}:5252${CL}"
 | 
				
			||||||
							
								
								
									
										74
									
								
								ct/alpine-rustdeskserver.sh
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										74
									
								
								ct/alpine-rustdeskserver.sh
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,74 @@
 | 
				
			|||||||
 | 
					#!/usr/bin/env bash
 | 
				
			||||||
 | 
					source <(curl -fsSL https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/misc/build.func)
 | 
				
			||||||
 | 
					# Copyright (c) 2021-2025 community-scripts ORG
 | 
				
			||||||
 | 
					# Author: Slaviša Arežina (tremor021)
 | 
				
			||||||
 | 
					# License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE
 | 
				
			||||||
 | 
					# Source: https://github.com/rustdesk/rustdesk-server
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					APP="Alpine-RustDeskServer"
 | 
				
			||||||
 | 
					var_tags="${var_tags:-alpine;monitoring}"
 | 
				
			||||||
 | 
					var_cpu="${var_cpu:-1}"
 | 
				
			||||||
 | 
					var_ram="${var_ram:-512}"
 | 
				
			||||||
 | 
					var_disk="${var_disk:-3}"
 | 
				
			||||||
 | 
					var_os="${var_os:-alpine}"
 | 
				
			||||||
 | 
					var_version="${var_version:-3.22}"
 | 
				
			||||||
 | 
					var_unprivileged="${var_unprivileged:-1}"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					header_info "$APP"
 | 
				
			||||||
 | 
					variables
 | 
				
			||||||
 | 
					color
 | 
				
			||||||
 | 
					catch_errors
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					function update_script() {
 | 
				
			||||||
 | 
					  header_info
 | 
				
			||||||
 | 
					  if [[ ! -d /opt/rustdesk-server ]]; then
 | 
				
			||||||
 | 
					    msg_error "No ${APP} Installation Found!"
 | 
				
			||||||
 | 
					    exit 1
 | 
				
			||||||
 | 
					  fi
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  APIRELEASE=$(curl -s https://api.github.com/repos/lejianwen/rustdesk-api/releases/latest | grep "tag_name" | awk '{print substr($2, 3, length($2)-4) }')
 | 
				
			||||||
 | 
					  RELEASE=$(curl -s https://api.github.com/repos/rustdesk/rustdesk-server/releases/latest | grep "tag_name" | awk '{print substr($2, 2, length($2)-3) }')
 | 
				
			||||||
 | 
					  if [ "${RELEASE}" != "$(cat ~/.rustdesk-server 2>/dev/null)" ] || [ ! -f ~/.rustdesk-server ]; then
 | 
				
			||||||
 | 
					    msg_info "Updating RustDesk Server to v${RELEASE}"
 | 
				
			||||||
 | 
					    $STD apk -U upgrade
 | 
				
			||||||
 | 
					    $STD service rustdesk-server-hbbs stop
 | 
				
			||||||
 | 
					    $STD service rustdesk-server-hbbr stop
 | 
				
			||||||
 | 
					    temp_file1=$(mktemp)
 | 
				
			||||||
 | 
					    curl -fsSL "https://github.com/rustdesk/rustdesk-server/releases/download/${RELEASE}/rustdesk-server-linux-amd64.zip" -o "$temp_file1"
 | 
				
			||||||
 | 
					    $STD unzip "$temp_file1"
 | 
				
			||||||
 | 
					    cp -r amd64/* /opt/rustdesk-server/
 | 
				
			||||||
 | 
					    echo "${RELEASE}" >~/.rustdesk-server
 | 
				
			||||||
 | 
					    $STD service rustdesk-server-hbbs start
 | 
				
			||||||
 | 
					    $STD service rustdesk-server-hbbr start
 | 
				
			||||||
 | 
					    rm -rf amd64
 | 
				
			||||||
 | 
					    rm -f $temp_file1
 | 
				
			||||||
 | 
					    msg_ok "Updated RustDesk Server successfully"
 | 
				
			||||||
 | 
					  else
 | 
				
			||||||
 | 
					    msg_ok "No update required. ${APP} is already at v${RELEASE}"
 | 
				
			||||||
 | 
					  fi
 | 
				
			||||||
 | 
					  if [ "${APIRELEASE}" != "$(cat ~/.rustdesk-api)" ] || [ ! -f ~/.rustdesk-api ]; then
 | 
				
			||||||
 | 
					    msg_info "Updating RustDesk API to v${APIRELEASE}"
 | 
				
			||||||
 | 
					    $STD service rustdesk-api stop
 | 
				
			||||||
 | 
					    temp_file2=$(mktemp)
 | 
				
			||||||
 | 
					    curl -fsSL "https://github.com/lejianwen/rustdesk-api/releases/download/v${APIRELEASE}/linux-amd64.tar.gz" -o "$temp_file2"
 | 
				
			||||||
 | 
					    $STD tar zxvf "$temp_file2"
 | 
				
			||||||
 | 
					    cp -r release/* /opt/rustdesk-api
 | 
				
			||||||
 | 
					    echo "${APIRELEASE}" >~/.rustdesk-api
 | 
				
			||||||
 | 
					    $STD service rustdesk-api start
 | 
				
			||||||
 | 
					    rm -rf release
 | 
				
			||||||
 | 
					    rm -f $temp_file2
 | 
				
			||||||
 | 
					    msg_ok "Updated RustDesk API"
 | 
				
			||||||
 | 
					  else
 | 
				
			||||||
 | 
					    msg_ok "No update required. RustDesk API is already at v${APIRELEASE}"
 | 
				
			||||||
 | 
					  fi
 | 
				
			||||||
 | 
					  exit 0
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					start
 | 
				
			||||||
 | 
					build_container
 | 
				
			||||||
 | 
					description
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					msg_ok "Completed Successfully!\n"
 | 
				
			||||||
 | 
					echo -e "${CREATING}${GN}${APP} setup has been successfully initialized!${CL}"
 | 
				
			||||||
 | 
					echo -e "${INFO}${YW} Access it using the following IP:${CL}"
 | 
				
			||||||
 | 
					echo -e "${TAB}${GATEWAY}${BGN}http://${IP}:21114${CL}"
 | 
				
			||||||
@@ -9,7 +9,7 @@ APP="Apt-Cacher-NG"
 | 
				
			|||||||
var_tags="${var_tags:-caching}"
 | 
					var_tags="${var_tags:-caching}"
 | 
				
			||||||
var_cpu="${var_cpu:-1}"
 | 
					var_cpu="${var_cpu:-1}"
 | 
				
			||||||
var_ram="${var_ram:-512}"
 | 
					var_ram="${var_ram:-512}"
 | 
				
			||||||
var_disk="${var_disk:-2}"
 | 
					var_disk="${var_disk:-10}"
 | 
				
			||||||
var_os="${var_os:-debian}"
 | 
					var_os="${var_os:-debian}"
 | 
				
			||||||
var_version="${var_version:-12}"
 | 
					var_version="${var_version:-12}"
 | 
				
			||||||
var_unprivileged="${var_unprivileged:-1}"
 | 
					var_unprivileged="${var_unprivileged:-1}"
 | 
				
			||||||
@@ -20,18 +20,18 @@ color
 | 
				
			|||||||
catch_errors
 | 
					catch_errors
 | 
				
			||||||
 | 
					
 | 
				
			||||||
function update_script() {
 | 
					function update_script() {
 | 
				
			||||||
    header_info
 | 
					  header_info
 | 
				
			||||||
    check_container_storage
 | 
					  check_container_storage
 | 
				
			||||||
    check_container_resources
 | 
					  check_container_resources
 | 
				
			||||||
    if [[ ! -d /var ]]; then
 | 
					  if [[ ! -d /var ]]; then
 | 
				
			||||||
        msg_error "No ${APP} Installation Found!"
 | 
					    msg_error "No ${APP} Installation Found!"
 | 
				
			||||||
        exit
 | 
					 | 
				
			||||||
    fi
 | 
					 | 
				
			||||||
    msg_info "Updating $APP LXC"
 | 
					 | 
				
			||||||
    $STD apt-get update
 | 
					 | 
				
			||||||
    $STD apt-get -y upgrade
 | 
					 | 
				
			||||||
    msg_ok "Updated $APP LXC"
 | 
					 | 
				
			||||||
    exit
 | 
					    exit
 | 
				
			||||||
 | 
					  fi
 | 
				
			||||||
 | 
					  msg_info "Updating $APP LXC"
 | 
				
			||||||
 | 
					  $STD apt-get update
 | 
				
			||||||
 | 
					  $STD apt-get -y upgrade
 | 
				
			||||||
 | 
					  msg_ok "Updated $APP LXC"
 | 
				
			||||||
 | 
					  exit
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
start
 | 
					start
 | 
				
			||||||
@@ -41,4 +41,4 @@ description
 | 
				
			|||||||
msg_ok "Completed Successfully!\n"
 | 
					msg_ok "Completed Successfully!\n"
 | 
				
			||||||
echo -e "${CREATING}${GN}${APP} setup has been successfully initialized!${CL}"
 | 
					echo -e "${CREATING}${GN}${APP} setup has been successfully initialized!${CL}"
 | 
				
			||||||
echo -e "${INFO}${YW} Access it using the following URL:${CL}"
 | 
					echo -e "${INFO}${YW} Access it using the following URL:${CL}"
 | 
				
			||||||
echo -e "${TAB}${GATEWAY}${BGN}http://${IP}:3142/acng-report.html${CL}"
 | 
					echo -e "${TAB}${GATEWAY}${BGN}http://${IP}:3142/acng-report.html${CL}"
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -20,29 +20,38 @@ color
 | 
				
			|||||||
catch_errors
 | 
					catch_errors
 | 
				
			||||||
 | 
					
 | 
				
			||||||
function update_script() {
 | 
					function update_script() {
 | 
				
			||||||
    header_info
 | 
					  header_info
 | 
				
			||||||
    check_container_storage
 | 
					  check_container_storage
 | 
				
			||||||
    check_container_resources
 | 
					  check_container_resources
 | 
				
			||||||
    if [[ ! -d /opt/archivebox ]]; then
 | 
					  if [[ ! -d /opt/archivebox ]]; then
 | 
				
			||||||
        msg_error "No ${APP} Installation Found!"
 | 
					    msg_error "No ${APP} Installation Found!"
 | 
				
			||||||
        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
 | 
					    exit
 | 
				
			||||||
 | 
					  fi
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  NODE_VERSION="22" setup_nodejs
 | 
				
			||||||
 | 
					  PYTHON_VERSION="3.13" setup_uv
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  msg_info "Stopping ArchiveBox"
 | 
				
			||||||
 | 
					  systemctl stop archivebox
 | 
				
			||||||
 | 
					  msg_ok "Stopped ArchiveBox"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  msg_info "Upgrading Playwright"
 | 
				
			||||||
 | 
					  $STD uv pip install playwright --system
 | 
				
			||||||
 | 
					  $STD playwright install-deps chromium
 | 
				
			||||||
 | 
					  msg_ok "Upgraded Playwright"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  msg_info "Updating ArchiveBox"
 | 
				
			||||||
 | 
					  cd /opt/archivebox/data
 | 
				
			||||||
 | 
					  $STD uv pip install --system --upgrade --no-reinstall archivebox
 | 
				
			||||||
 | 
					  sudo -u archivebox archivebox init
 | 
				
			||||||
 | 
					  msg_ok "Updated ArchiveBox"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  msg_info "Starting ArchiveBox"
 | 
				
			||||||
 | 
					  systemctl start archivebox
 | 
				
			||||||
 | 
					  msg_ok "Started ArchiveBox"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  msg_ok "Updated Successfully"
 | 
				
			||||||
 | 
					  exit
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
start
 | 
					start
 | 
				
			||||||
@@ -52,4 +61,4 @@ description
 | 
				
			|||||||
msg_ok "Completed Successfully!\n"
 | 
					msg_ok "Completed Successfully!\n"
 | 
				
			||||||
echo -e "${CREATING}${GN}${APP} setup has been successfully initialized!${CL}"
 | 
					echo -e "${CREATING}${GN}${APP} setup has been successfully initialized!${CL}"
 | 
				
			||||||
echo -e "${INFO}${YW} Access it using the following URL:${CL}"
 | 
					echo -e "${INFO}${YW} Access it using the following URL:${CL}"
 | 
				
			||||||
echo -e "${TAB}${GATEWAY}${BGN}http://${IP}:8000/admin/login${CL}"
 | 
					echo -e "${TAB}${GATEWAY}${BGN}http://${IP}:8000/admin/login${CL}"
 | 
				
			||||||
 
 | 
				
			|||||||
							
								
								
									
										10
									
								
								ct/argus.sh
									
									
									
									
									
								
							
							
						
						
									
										10
									
								
								ct/argus.sh
									
									
									
									
									
								
							@@ -27,9 +27,7 @@ function update_script() {
 | 
				
			|||||||
    msg_error "No ${APP} Installation Found!"
 | 
					    msg_error "No ${APP} Installation Found!"
 | 
				
			||||||
    exit
 | 
					    exit
 | 
				
			||||||
  fi
 | 
					  fi
 | 
				
			||||||
 | 
					  if check_for_gh_release "argus" "release-argus/Argus"; then
 | 
				
			||||||
  RELEASE=$(curl -fsSL https://api.github.com/repos/release-argus/Argus/releases/latest | jq -r .tag_name | sed 's/^v//')
 | 
					 | 
				
			||||||
  if [[ "${RELEASE}" != "$(cat ~/.Argus 2>/dev/null)" ]] || [[ ! -f ~/.Argus ]]; then
 | 
					 | 
				
			||||||
    msg_info "Stopping service"
 | 
					    msg_info "Stopping service"
 | 
				
			||||||
    systemctl stop argus
 | 
					    systemctl stop argus
 | 
				
			||||||
    msg_ok "Service stopped"
 | 
					    msg_ok "Service stopped"
 | 
				
			||||||
@@ -39,11 +37,9 @@ function update_script() {
 | 
				
			|||||||
    msg_info "Starting service"
 | 
					    msg_info "Starting service"
 | 
				
			||||||
    systemctl start argus
 | 
					    systemctl start argus
 | 
				
			||||||
    msg_ok "Service started"
 | 
					    msg_ok "Service started"
 | 
				
			||||||
 | 
					    msg_ok "Updated Successfully"
 | 
				
			||||||
    msg_ok "Updated ${APP} to ${RELEASE}"
 | 
					 | 
				
			||||||
  else
 | 
					 | 
				
			||||||
    msg_ok "${APP} is already up to date (${RELEASE})"
 | 
					 | 
				
			||||||
  fi
 | 
					  fi
 | 
				
			||||||
 | 
					  exit
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
start
 | 
					start
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -9,7 +9,7 @@ APP="audiobookshelf"
 | 
				
			|||||||
var_tags="${var_tags:-podcast;audiobook}"
 | 
					var_tags="${var_tags:-podcast;audiobook}"
 | 
				
			||||||
var_cpu="${var_cpu:-2}"
 | 
					var_cpu="${var_cpu:-2}"
 | 
				
			||||||
var_ram="${var_ram:-2048}"
 | 
					var_ram="${var_ram:-2048}"
 | 
				
			||||||
var_disk="${var_disk:-4}"
 | 
					var_disk="${var_disk:-5}"
 | 
				
			||||||
var_os="${var_os:-debian}"
 | 
					var_os="${var_os:-debian}"
 | 
				
			||||||
var_version="${var_version:-12}"
 | 
					var_version="${var_version:-12}"
 | 
				
			||||||
var_unprivileged="${var_unprivileged:-1}"
 | 
					var_unprivileged="${var_unprivileged:-1}"
 | 
				
			||||||
@@ -20,15 +20,19 @@ color
 | 
				
			|||||||
catch_errors
 | 
					catch_errors
 | 
				
			||||||
 | 
					
 | 
				
			||||||
function update_script() {
 | 
					function update_script() {
 | 
				
			||||||
    header_info
 | 
					  header_info
 | 
				
			||||||
    check_container_storage
 | 
					  check_container_storage
 | 
				
			||||||
    check_container_resources
 | 
					  check_container_resources
 | 
				
			||||||
    if [[ ! -f /etc/apt/trusted.gpg.d/audiobookshelf-ppa.asc ]]; then
 | 
					  if [[ ! -f /etc/default/audiobookshelf ]]; then
 | 
				
			||||||
        msg_error "No ${APP} Installation Found!"
 | 
					    msg_error "No ${APP} Installation Found!"
 | 
				
			||||||
        exit
 | 
					 | 
				
			||||||
    fi
 | 
					 | 
				
			||||||
    echo "This application receives updates through the APT package manager."
 | 
					 | 
				
			||||||
    exit
 | 
					    exit
 | 
				
			||||||
 | 
					  fi
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  msg_info "Updating $APP LXC"
 | 
				
			||||||
 | 
					  $STD apt-get update
 | 
				
			||||||
 | 
					  $STD apt-get -y upgrade
 | 
				
			||||||
 | 
					  msg_ok "Updated $APP LXC"
 | 
				
			||||||
 | 
					  exit
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
start
 | 
					start
 | 
				
			||||||
@@ -38,4 +42,4 @@ description
 | 
				
			|||||||
msg_ok "Completed Successfully!\n"
 | 
					msg_ok "Completed Successfully!\n"
 | 
				
			||||||
echo -e "${CREATING}${GN}${APP} setup has been successfully initialized!${CL}"
 | 
					echo -e "${CREATING}${GN}${APP} setup has been successfully initialized!${CL}"
 | 
				
			||||||
echo -e "${INFO}${YW} Access it using the following URL:${CL}"
 | 
					echo -e "${INFO}${YW} Access it using the following URL:${CL}"
 | 
				
			||||||
echo -e "${TAB}${GATEWAY}${BGN}http://${IP}:13378${CL}"
 | 
					echo -e "${TAB}${GATEWAY}${BGN}http://${IP}:13378${CL}"
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -29,8 +29,8 @@ function update_script() {
 | 
				
			|||||||
    msg_error "No ${APP} Installation Found!"
 | 
					    msg_error "No ${APP} Installation Found!"
 | 
				
			||||||
    exit
 | 
					    exit
 | 
				
			||||||
  fi
 | 
					  fi
 | 
				
			||||||
  RELEASE=$(curl -fsSL https://api.github.com/repos/authelia/authelia/releases/latest | grep "tag_name" | awk '{print substr($2, 2, length($2)-3) }')
 | 
					
 | 
				
			||||||
  if [[ "${RELEASE}" != "$(/usr/bin/authelia -v | awk '{print substr($3, 2, length($2)) }')" ]]; then
 | 
					  if check_for_gh_release "authelia" "authelia/authelia"; then
 | 
				
			||||||
    $STD apt-get update
 | 
					    $STD apt-get update
 | 
				
			||||||
    $STD apt-get -y upgrade
 | 
					    $STD apt-get -y upgrade
 | 
				
			||||||
 | 
					
 | 
				
			||||||
@@ -40,14 +40,10 @@ function update_script() {
 | 
				
			|||||||
    $STD apt-get -y autoremove
 | 
					    $STD apt-get -y autoremove
 | 
				
			||||||
    $STD apt-get -y autoclean
 | 
					    $STD apt-get -y autoclean
 | 
				
			||||||
    msg_ok "Cleanup Completed"
 | 
					    msg_ok "Cleanup Completed"
 | 
				
			||||||
 | 
					    msg_ok "Updated Successfully"
 | 
				
			||||||
    msg_ok "Updated $APP to ${RELEASE}"
 | 
					 | 
				
			||||||
  else
 | 
					 | 
				
			||||||
    msg_ok "No update required. ${APP} is already at ${RELEASE}"
 | 
					 | 
				
			||||||
  fi
 | 
					  fi
 | 
				
			||||||
  exit
 | 
					  exit
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					 | 
				
			||||||
start
 | 
					start
 | 
				
			||||||
build_container
 | 
					build_container
 | 
				
			||||||
description
 | 
					description
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -20,30 +20,26 @@ color
 | 
				
			|||||||
catch_errors
 | 
					catch_errors
 | 
				
			||||||
 | 
					
 | 
				
			||||||
function update_script() {
 | 
					function update_script() {
 | 
				
			||||||
    header_info
 | 
					  header_info
 | 
				
			||||||
    check_container_storage
 | 
					  check_container_storage
 | 
				
			||||||
    check_container_resources
 | 
					  check_container_resources
 | 
				
			||||||
    if [[ ! -f /root/.config/autobrr/config.toml ]]; then
 | 
					  if [[ ! -f /root/.config/autobrr/config.toml ]]; then
 | 
				
			||||||
        msg_error "No ${APP} Installation Found!"
 | 
					    msg_error "No ${APP} Installation Found!"
 | 
				
			||||||
        exit
 | 
					    exit
 | 
				
			||||||
    fi
 | 
					  fi
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    RELEASE=$(curl -fsSL https://api.github.com/repos/autobrr/autobrr/releases/latest | grep "tag_name" | awk '{print substr($2, 3, length($2)-4) }')
 | 
					  if check_for_gh_release "autobrr" "autobrr/autobrr"; then
 | 
				
			||||||
    if [[ "${RELEASE}" != "$(cat ~/.autobrr 2>/dev/null)" ]] || [[ ! -f ~/.autobrr ]]; then
 | 
					    msg_info "Stopping ${APP} LXC"
 | 
				
			||||||
      msg_info "Stopping ${APP} LXC"
 | 
					    systemctl stop autobrr
 | 
				
			||||||
      systemctl stop autobrr
 | 
					    msg_ok "Stopped ${APP} LXC"
 | 
				
			||||||
      msg_ok "Stopped ${APP} LXC"
 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
      fetch_and_deploy_gh_release "autobrr" "autobrr/autobrr" "prebuild" "latest" "/usr/local/bin" "autobrr_*_linux_x86_64.tar.gz"
 | 
					    fetch_and_deploy_gh_release "autobrr" "autobrr/autobrr" "prebuild" "latest" "/usr/local/bin" "autobrr_*_linux_x86_64.tar.gz"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
      msg_info "Starting ${APP} LXC"
 | 
					    msg_info "Starting ${APP} LXC"
 | 
				
			||||||
      systemctl start autobrr
 | 
					    systemctl start autobrr
 | 
				
			||||||
      msg_ok "Started ${APP} LXC"
 | 
					    msg_ok "Started ${APP} LXC"
 | 
				
			||||||
      
 | 
					    msg_ok "Updated Successfully"
 | 
				
			||||||
      msg_ok "Updated Successfully"
 | 
					  fi
 | 
				
			||||||
    else
 | 
					 | 
				
			||||||
      msg_ok "No update required. ${APP} is already at ${RELEASE}"
 | 
					 | 
				
			||||||
    fi
 | 
					 | 
				
			||||||
  exit
 | 
					  exit
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 
 | 
				
			|||||||
							
								
								
									
										83
									
								
								ct/autocaliweb.sh
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										83
									
								
								ct/autocaliweb.sh
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,83 @@
 | 
				
			|||||||
 | 
					#!/usr/bin/env bash
 | 
				
			||||||
 | 
					source <(curl -fsSL https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/misc/build.func)
 | 
				
			||||||
 | 
					# Copyright (c) 2021-2025 community-scripts ORG
 | 
				
			||||||
 | 
					# Author: vhsdream
 | 
				
			||||||
 | 
					# License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE
 | 
				
			||||||
 | 
					# Source: https://github.com/gelbphoenix/autocaliweb
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					APP="Autocaliweb"
 | 
				
			||||||
 | 
					var_tags="${var_tags:-ebooks}"
 | 
				
			||||||
 | 
					var_cpu="${var_cpu:-2}"
 | 
				
			||||||
 | 
					var_ram="${var_ram:-2048}"
 | 
				
			||||||
 | 
					var_disk="${var_disk:-6}"
 | 
				
			||||||
 | 
					var_os="${var_os:-debian}"
 | 
				
			||||||
 | 
					var_version="${var_version:-12}"
 | 
				
			||||||
 | 
					var_unprivileged="${var_unprivileged:-1}"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					header_info "$APP"
 | 
				
			||||||
 | 
					variables
 | 
				
			||||||
 | 
					color
 | 
				
			||||||
 | 
					catch_errors
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					function update_script() {
 | 
				
			||||||
 | 
					  header_info
 | 
				
			||||||
 | 
					  check_container_storage
 | 
				
			||||||
 | 
					  check_container_resources
 | 
				
			||||||
 | 
					  if [[ ! -d /opt/autocaliweb ]]; then
 | 
				
			||||||
 | 
					    msg_error "No ${APP} Installation Found!"
 | 
				
			||||||
 | 
					    exit
 | 
				
			||||||
 | 
					  fi
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  setup_uv
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  RELEASE=$(curl -fsSL https://api.github.com/repos/gelbphoenix/autocaliweb/releases/latest | jq '.tag_name' | sed 's/^"v//;s/"$//')
 | 
				
			||||||
 | 
					  if check_for_gh_release "autocaliweb" "gelbphoenix/autocaliweb"; then
 | 
				
			||||||
 | 
					    msg_info "Stopping Services"
 | 
				
			||||||
 | 
					    systemctl stop autocaliweb metadata-change-detector acw-ingest-service acw-auto-zipper
 | 
				
			||||||
 | 
					    msg_ok "Stopped Services"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    INSTALL_DIR="/opt/autocaliweb"
 | 
				
			||||||
 | 
					    export VIRTUAL_ENV="${INSTALL_DIR}/venv"
 | 
				
			||||||
 | 
					    $STD tar -cf ~/autocaliweb_bkp.tar "$INSTALL_DIR"/{metadata_change_logs,dirs.json,.env,scripts/ingest_watcher.sh,scripts/auto_zipper_wrapper.sh,scripts/metadata_change_detector_wrapper.sh}
 | 
				
			||||||
 | 
					    fetch_and_deploy_gh_release "autocaliweb" "gelbphoenix/autocaliweb" "tarball" "latest" "/opt/autocaliweb"
 | 
				
			||||||
 | 
					    msg_info "Updating ${APP}"
 | 
				
			||||||
 | 
					    cd "$INSTALL_DIR"
 | 
				
			||||||
 | 
					    if [[ ! -d "$VIRTUAL_ENV" ]]; then
 | 
				
			||||||
 | 
					      $STD uv venv "$VIRTUAL_ENV"
 | 
				
			||||||
 | 
					    fi
 | 
				
			||||||
 | 
					    $STD uv sync --all-extras --active
 | 
				
			||||||
 | 
					    cd "$INSTALL_DIR"/koreader/plugins
 | 
				
			||||||
 | 
					    PLUGIN_DIGEST="$(find acwsync.koplugin -type f -name "*.lua" -o -name "*.json" | sort | xargs sha256sum | sha256sum | cut -d' ' -f1)"
 | 
				
			||||||
 | 
					    echo "Plugin files digest: $PLUGIN_DIGEST" >acwsync.koplugin/${PLUGIN_DIGEST}.digest
 | 
				
			||||||
 | 
					    echo "Build date: $(date)" >>acwsync.koplugin/${PLUGIN_DIGEST}.digest
 | 
				
			||||||
 | 
					    echo "Files included:" >>acwsync.koplugin/${PLUGIN_DIGEST}.digest
 | 
				
			||||||
 | 
					    $STD zip -r koplugin.zip acwsync.koplugin/
 | 
				
			||||||
 | 
					    cp -r koplugin.zip "$INSTALL_DIR"/cps/static
 | 
				
			||||||
 | 
					    mkdir -p "$INSTALL_DIR"/metadata_temp
 | 
				
			||||||
 | 
					    $STD tar -xf ~/autocaliweb_bkp.tar --directory /
 | 
				
			||||||
 | 
					    KEPUB_VERSION="$(/usr/bin/kepubify --version)"
 | 
				
			||||||
 | 
					    CALIBRE_RELEASE="$(curl -s https://api.github.com/repos/kovidgoyal/calibre/releases/latest | grep -o '"tag_name": "[^"]*' | cut -d'"' -f4)"
 | 
				
			||||||
 | 
					    echo "${KEPUB_VERSION#v}" >"$INSTALL_DIR"/KEPUBIFY_RELEASE
 | 
				
			||||||
 | 
					    echo "${CALIBRE_RELEASE#v}" >/"$INSTALL_DIR"/CALIBRE_RELEASE
 | 
				
			||||||
 | 
					    sed 's/^/v/' ~/.autocaliweb >"$INSTALL_DIR"/ACW_RELEASE
 | 
				
			||||||
 | 
					    chown -R acw:acw "$INSTALL_DIR"
 | 
				
			||||||
 | 
					    rm ~/autocaliweb_bkp.tar
 | 
				
			||||||
 | 
					    msg_ok "Updated $APP"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    msg_info "Starting Services"
 | 
				
			||||||
 | 
					    systemctl start autocaliweb metadata-change-detector acw-ingest-service acw-auto-zipper
 | 
				
			||||||
 | 
					    msg_ok "Started Services"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    msg_ok "Updated Successfully"
 | 
				
			||||||
 | 
					  fi
 | 
				
			||||||
 | 
					  exit
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					start
 | 
				
			||||||
 | 
					build_container
 | 
				
			||||||
 | 
					description
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					msg_ok "Completed Successfully!\n"
 | 
				
			||||||
 | 
					echo -e "${CREATING}${GN}${APP} setup has been successfully initialized!${CL}"
 | 
				
			||||||
 | 
					echo -e "${INFO}${YW} Access it using the following URL:${CL}"
 | 
				
			||||||
 | 
					echo -e "${TAB}${GATEWAY}${BGN}http://${IP}:8083${CL}"
 | 
				
			||||||
@@ -28,8 +28,7 @@ function update_script() {
 | 
				
			|||||||
    exit
 | 
					    exit
 | 
				
			||||||
  fi
 | 
					  fi
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  RELEASE=$(curl -fsSL https://api.github.com/repos/babybuddy/babybuddy/releases/latest | grep "tag_name" | awk '{print substr($2, 3, length($2)-4) }')
 | 
					  if check_for_gh_release "babybuddy" "babybuddy/babybuddy"; then
 | 
				
			||||||
  if [[ "${RELEASE}" != "$(cat ~/.babybuddy 2>/dev/null)" ]] || [[ ! -f ~/.babybuddy ]]; then
 | 
					 | 
				
			||||||
    setup_uv
 | 
					    setup_uv
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    msg_info "Stopping Services"
 | 
					    msg_info "Stopping Services"
 | 
				
			||||||
@@ -44,13 +43,13 @@ function update_script() {
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
    fetch_and_deploy_gh_release "babybuddy" "babybuddy/babybuddy"
 | 
					    fetch_and_deploy_gh_release "babybuddy" "babybuddy/babybuddy"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    msg_info "Updating ${APP} to v${RELEASE}"
 | 
					    msg_info "Updating ${APP}"
 | 
				
			||||||
    cd /opt/babybuddy
 | 
					    cd /opt/babybuddy
 | 
				
			||||||
    mv /tmp/production.py.bak /opt/babybuddy/babybuddy/settings/production.py
 | 
					    mv /tmp/production.py.bak /opt/babybuddy/babybuddy/settings/production.py
 | 
				
			||||||
    source .venv/bin/activate
 | 
					    source .venv/bin/activate
 | 
				
			||||||
    $STD uv pip install -r requirements.txt
 | 
					    $STD uv pip install -r requirements.txt
 | 
				
			||||||
    $STD python manage.py migrate
 | 
					    $STD python manage.py migrate
 | 
				
			||||||
    msg_ok "Updated ${APP} to v${RELEASE}"
 | 
					    msg_ok "Updated ${APP}"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    msg_info "Fixing permissions"
 | 
					    msg_info "Fixing permissions"
 | 
				
			||||||
    chown -R www-data:www-data /opt/data
 | 
					    chown -R www-data:www-data /opt/data
 | 
				
			||||||
@@ -62,14 +61,10 @@ function update_script() {
 | 
				
			|||||||
    systemctl start uwsgi
 | 
					    systemctl start uwsgi
 | 
				
			||||||
    systemctl start nginx
 | 
					    systemctl start nginx
 | 
				
			||||||
    msg_ok "Services Started"
 | 
					    msg_ok "Services Started"
 | 
				
			||||||
 | 
					 | 
				
			||||||
    msg_ok "Updated Successfully"
 | 
					    msg_ok "Updated Successfully"
 | 
				
			||||||
  else
 | 
					 | 
				
			||||||
    msg_ok "No update required. ${APP} is already at v${RELEASE}"
 | 
					 | 
				
			||||||
  fi
 | 
					  fi
 | 
				
			||||||
  exit
 | 
					  exit
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					 | 
				
			||||||
start
 | 
					start
 | 
				
			||||||
build_container
 | 
					build_container
 | 
				
			||||||
description
 | 
					description
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -28,8 +28,7 @@ function update_script() {
 | 
				
			|||||||
    msg_error "No ${APP} Installation Found!"
 | 
					    msg_error "No ${APP} Installation Found!"
 | 
				
			||||||
    exit
 | 
					    exit
 | 
				
			||||||
  fi
 | 
					  fi
 | 
				
			||||||
  RELEASE=$(curl -fsSL https://api.github.com/repos/sabre-io/Baikal/releases/latest | grep "tag_name" | awk '{print substr($2, 2, length($2)-3) }')
 | 
					  if check_for_gh_release "baikal" "sabre-io/Baikal"; then
 | 
				
			||||||
  if [[ "${RELEASE}" != "$(cat ~/.baikal 2>/dev/null)" ]] || [[ ! -f ~/.baikal ]]; then
 | 
					 | 
				
			||||||
    msg_info "Stopping Service"
 | 
					    msg_info "Stopping Service"
 | 
				
			||||||
    systemctl stop apache2
 | 
					    systemctl stop apache2
 | 
				
			||||||
    msg_ok "Stopped Service"
 | 
					    msg_ok "Stopped Service"
 | 
				
			||||||
@@ -58,8 +57,6 @@ function update_script() {
 | 
				
			|||||||
    rm -rf /opt/baikal-backup
 | 
					    rm -rf /opt/baikal-backup
 | 
				
			||||||
    msg_ok "Cleaned"
 | 
					    msg_ok "Cleaned"
 | 
				
			||||||
    msg_ok "Updated Successfully"
 | 
					    msg_ok "Updated Successfully"
 | 
				
			||||||
  else
 | 
					 | 
				
			||||||
    msg_ok "No update required. ${APP} is already at v${RELEASE}"
 | 
					 | 
				
			||||||
  fi
 | 
					  fi
 | 
				
			||||||
  exit
 | 
					  exit
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -29,11 +29,7 @@ function update_script() {
 | 
				
			|||||||
    msg_error "No ${APP} Installation Found!"
 | 
					    msg_error "No ${APP} Installation Found!"
 | 
				
			||||||
    exit
 | 
					    exit
 | 
				
			||||||
  fi
 | 
					  fi
 | 
				
			||||||
  RELEASE_MEILISEARCH=$(curl -fsSL https://api.github.com/repos/meilisearch/meilisearch/releases/latest | jq -r '.tag_name | sub("^v"; "")')
 | 
					  if check_for_gh_release "bar-assistant" "karlomikus/bar-assistant"; then
 | 
				
			||||||
  RELEASE_BARASSISTANT=$(curl -fsSL https://api.github.com/repos/karlomikus/bar-assistant/releases/latest | jq -r '.tag_name | sub("^v"; "")')
 | 
					 | 
				
			||||||
  RELEASE_SALTRIM=$(curl -fsSL https://api.github.com/repos/karlomikus/vue-salt-rim/releases/latest | jq -r '.tag_name | sub("^v"; "")')
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
  if [[ "${RELEASE_BARASSISTANT}" != "$(cat ~/.bar-assistant 2>/dev/null)" ]] || [[ ! -f ~/.bar-assistant ]]; then
 | 
					 | 
				
			||||||
    msg_info "Stopping nginx"
 | 
					    msg_info "Stopping nginx"
 | 
				
			||||||
    systemctl stop nginx
 | 
					    systemctl stop nginx
 | 
				
			||||||
    msg_ok "Stopped nginx"
 | 
					    msg_ok "Stopped nginx"
 | 
				
			||||||
@@ -45,7 +41,7 @@ function update_script() {
 | 
				
			|||||||
    fetch_and_deploy_gh_release "bar-assistant" "karlomikus/bar-assistant" "tarball" "latest" "/opt/bar-assistant"
 | 
					    fetch_and_deploy_gh_release "bar-assistant" "karlomikus/bar-assistant" "tarball" "latest" "/opt/bar-assistant"
 | 
				
			||||||
    setup_composer
 | 
					    setup_composer
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    msg_info "Updating ${APP} to ${RELEASE_BARASSISTANT}"
 | 
					    msg_info "Updating Bar-Assistant"
 | 
				
			||||||
    cp -r /opt/bar-assistant-backup/.env /opt/bar-assistant/.env
 | 
					    cp -r /opt/bar-assistant-backup/.env /opt/bar-assistant/.env
 | 
				
			||||||
    cp -r /opt/bar-assistant-backup/storage/bar-assistant /opt/bar-assistant/storage/bar-assistant
 | 
					    cp -r /opt/bar-assistant-backup/storage/bar-assistant /opt/bar-assistant/storage/bar-assistant
 | 
				
			||||||
    cd /opt/bar-assistant
 | 
					    cd /opt/bar-assistant
 | 
				
			||||||
@@ -58,7 +54,7 @@ function update_script() {
 | 
				
			|||||||
    $STD php artisan route:cache
 | 
					    $STD php artisan route:cache
 | 
				
			||||||
    $STD php artisan event:cache
 | 
					    $STD php artisan event:cache
 | 
				
			||||||
    chown -R www-data:www-data /opt/bar-assistant
 | 
					    chown -R www-data:www-data /opt/bar-assistant
 | 
				
			||||||
    msg_ok "Updated $APP to ${RELEASE_BARASSISTANT}"
 | 
					    msg_ok "Updated Bar-Assistant"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    msg_info "Starting nginx"
 | 
					    msg_info "Starting nginx"
 | 
				
			||||||
    systemctl start nginx
 | 
					    systemctl start nginx
 | 
				
			||||||
@@ -67,11 +63,9 @@ function update_script() {
 | 
				
			|||||||
    msg_info "Cleaning up"
 | 
					    msg_info "Cleaning up"
 | 
				
			||||||
    rm -rf /opt/bar-assistant-backup
 | 
					    rm -rf /opt/bar-assistant-backup
 | 
				
			||||||
    msg_ok "Cleaned"
 | 
					    msg_ok "Cleaned"
 | 
				
			||||||
  else
 | 
					 | 
				
			||||||
    msg_ok "No update required. ${APP} is already at ${RELEASE_BARASSISTANT}"
 | 
					 | 
				
			||||||
  fi
 | 
					  fi
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  if [[ "${RELEASE_SALTRIM}" != "$(cat ~/.vue-salt-rim 2>/dev/null)" ]] || [[ ! -f ~/.vue-salt-rim ]]; then
 | 
					  if check_for_gh_release "vue-salt-rim" "karlomikus/vue-salt-rim"; then
 | 
				
			||||||
    msg_info "Backing up Vue Salt Rim"
 | 
					    msg_info "Backing up Vue Salt Rim"
 | 
				
			||||||
    mv /opt/vue-salt-rim /opt/vue-salt-rim-backup
 | 
					    mv /opt/vue-salt-rim /opt/vue-salt-rim-backup
 | 
				
			||||||
    msg_ok "Backed up Vue Salt Rim"
 | 
					    msg_ok "Backed up Vue Salt Rim"
 | 
				
			||||||
@@ -82,12 +76,12 @@ function update_script() {
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
    fetch_and_deploy_gh_release "vue-salt-rim" "karlomikus/vue-salt-rim" "tarball" "latest" "/opt/vue-salt-rim"
 | 
					    fetch_and_deploy_gh_release "vue-salt-rim" "karlomikus/vue-salt-rim" "tarball" "latest" "/opt/vue-salt-rim"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    msg_info "Updating Salt Rim to ${RELEASE_SALTRIM}"
 | 
					    msg_info "Updating Vue Salt Rim"
 | 
				
			||||||
    cp /opt/vue-salt-rim-backup/public/config.js /opt/vue-salt-rim/public/config.js
 | 
					    cp /opt/vue-salt-rim-backup/public/config.js /opt/vue-salt-rim/public/config.js
 | 
				
			||||||
    cd /opt/vue-salt-rim
 | 
					    cd /opt/vue-salt-rim
 | 
				
			||||||
    $STD npm install
 | 
					    $STD npm install
 | 
				
			||||||
    $STD npm run build
 | 
					    $STD npm run build
 | 
				
			||||||
    msg_ok "Updated $APP to ${RELEASE_SALTRIM}"
 | 
					    msg_ok "Updated Vue Salt Rim"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    msg_info "Starting nginx"
 | 
					    msg_info "Starting nginx"
 | 
				
			||||||
    systemctl start nginx
 | 
					    systemctl start nginx
 | 
				
			||||||
@@ -96,12 +90,9 @@ function update_script() {
 | 
				
			|||||||
    msg_info "Cleaning up"
 | 
					    msg_info "Cleaning up"
 | 
				
			||||||
    rm -rf /opt/vue-salt-rim-backup
 | 
					    rm -rf /opt/vue-salt-rim-backup
 | 
				
			||||||
    msg_ok "Cleaned"
 | 
					    msg_ok "Cleaned"
 | 
				
			||||||
    msg_ok "Updated"
 | 
					 | 
				
			||||||
  else
 | 
					 | 
				
			||||||
    msg_ok "No update required. Salt Rim is already at ${RELEASE_SALTRIM}"
 | 
					 | 
				
			||||||
  fi
 | 
					  fi
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  if [[ "${RELEASE_MEILISEARCH}" != "$(cat ~/.meilisearch 2>/dev/null)" ]] || [[ ! -f ~/.meilisearch ]]; then
 | 
					  if check_for_gh_release "meilisearch" "meilisearch/meilisearch"; then
 | 
				
			||||||
    msg_info "Stopping Meilisearch"
 | 
					    msg_info "Stopping Meilisearch"
 | 
				
			||||||
    systemctl stop meilisearch
 | 
					    systemctl stop meilisearch
 | 
				
			||||||
    msg_ok "Stopped Meilisearch"
 | 
					    msg_ok "Stopped Meilisearch"
 | 
				
			||||||
@@ -111,10 +102,7 @@ function update_script() {
 | 
				
			|||||||
    msg_info "Starting Meilisearch"
 | 
					    msg_info "Starting Meilisearch"
 | 
				
			||||||
    systemctl start meilisearch
 | 
					    systemctl start meilisearch
 | 
				
			||||||
    msg_ok "Started Meilisearch"
 | 
					    msg_ok "Started Meilisearch"
 | 
				
			||||||
 | 
					    msg_ok "Updated Successfully"
 | 
				
			||||||
    msg_ok "Updated Meilisearch"
 | 
					 | 
				
			||||||
  else
 | 
					 | 
				
			||||||
    msg_ok "No update required. Meilisearch is already at ${RELEASE_MEILISEARCH}"
 | 
					 | 
				
			||||||
  fi
 | 
					  fi
 | 
				
			||||||
  exit
 | 
					  exit
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -28,8 +28,8 @@ function update_script() {
 | 
				
			|||||||
    msg_error "No ${APP} Installation Found!"
 | 
					    msg_error "No ${APP} Installation Found!"
 | 
				
			||||||
    exit
 | 
					    exit
 | 
				
			||||||
  fi
 | 
					  fi
 | 
				
			||||||
  RELEASE=$(curl -fsSL https://api.github.com/repos/Forceu/barcodebuddy/releases/latest | grep "tag_name" | awk '{print substr($2, 3, length($2)-4) }')
 | 
					
 | 
				
			||||||
  if [[ "${RELEASE}" != "$(cat ~/.barcodebuddy 2>/dev/null)" ]] || [[ ! -f ~/.barcodebuddy ]]; then
 | 
					  if check_for_gh_release "barcodebuddy" "Forceu/barcodebuddy"; then
 | 
				
			||||||
    msg_info "Stopping Service"
 | 
					    msg_info "Stopping Service"
 | 
				
			||||||
    systemctl stop apache2
 | 
					    systemctl stop apache2
 | 
				
			||||||
    systemctl stop barcodebuddy
 | 
					    systemctl stop barcodebuddy
 | 
				
			||||||
@@ -55,8 +55,6 @@ function update_script() {
 | 
				
			|||||||
    rm -r /opt/barcodebuddy-backup
 | 
					    rm -r /opt/barcodebuddy-backup
 | 
				
			||||||
    msg_ok "Cleaned"
 | 
					    msg_ok "Cleaned"
 | 
				
			||||||
    msg_ok "Updated Successfully"
 | 
					    msg_ok "Updated Successfully"
 | 
				
			||||||
  else
 | 
					 | 
				
			||||||
    msg_ok "No update required. ${APP} is already at v${RELEASE}"
 | 
					 | 
				
			||||||
  fi
 | 
					  fi
 | 
				
			||||||
  exit
 | 
					  exit
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 
 | 
				
			|||||||
							
								
								
									
										33
									
								
								ct/bazarr.sh
									
									
									
									
									
								
							
							
						
						
									
										33
									
								
								ct/bazarr.sh
									
									
									
									
									
								
							@@ -20,20 +20,27 @@ color
 | 
				
			|||||||
catch_errors
 | 
					catch_errors
 | 
				
			||||||
 | 
					
 | 
				
			||||||
function update_script() {
 | 
					function update_script() {
 | 
				
			||||||
    header_info
 | 
					  header_info
 | 
				
			||||||
    check_container_storage
 | 
					  check_container_storage
 | 
				
			||||||
    check_container_resources
 | 
					  check_container_resources
 | 
				
			||||||
    if [[ ! -d /var/lib/bazarr/ ]]; then
 | 
					  if [[ ! -d /var/lib/bazarr/ ]]; then
 | 
				
			||||||
        msg_error "No ${APP} Installation Found!"
 | 
					    msg_error "No ${APP} Installation Found!"
 | 
				
			||||||
        exit
 | 
					 | 
				
			||||||
    fi
 | 
					 | 
				
			||||||
    msg_info "Updating $APP LXC"
 | 
					 | 
				
			||||||
    $STD apt-get update
 | 
					 | 
				
			||||||
    $STD apt-get -y upgrade
 | 
					 | 
				
			||||||
    msg_ok "Updated $APP LXC"
 | 
					 | 
				
			||||||
    exit
 | 
					    exit
 | 
				
			||||||
}
 | 
					  fi
 | 
				
			||||||
 | 
					  if check_for_gh_release "bazarr" "morpheus65535/bazarr"; then
 | 
				
			||||||
 | 
					    PYTHON_VERSION="3.13" setup_uv
 | 
				
			||||||
 | 
					    fetch_and_deploy_gh_release "bazarr" "morpheus65535/bazarr" "prebuild" "latest" "/opt/bazarr" "bazarr.zip"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    msg_info "Setup Bazarr"
 | 
				
			||||||
 | 
					    mkdir -p /var/lib/bazarr/
 | 
				
			||||||
 | 
					    chmod 775 /opt/bazarr /var/lib/bazarr/
 | 
				
			||||||
 | 
					    sed -i.bak 's/--only-binary=Pillow//g' /opt/bazarr/requirements.txt
 | 
				
			||||||
 | 
					    $STD uv pip install -r /opt/bazarr/requirements.txt --system
 | 
				
			||||||
 | 
					    msg_ok "Setup Bazarr"
 | 
				
			||||||
 | 
					    msg_ok "Updated Successfully"
 | 
				
			||||||
 | 
					  fi
 | 
				
			||||||
 | 
					  exit
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
start
 | 
					start
 | 
				
			||||||
build_container
 | 
					build_container
 | 
				
			||||||
description
 | 
					description
 | 
				
			||||||
@@ -41,4 +48,4 @@ description
 | 
				
			|||||||
msg_ok "Completed Successfully!\n"
 | 
					msg_ok "Completed Successfully!\n"
 | 
				
			||||||
echo -e "${CREATING}${GN}${APP} setup has been successfully initialized!${CL}"
 | 
					echo -e "${CREATING}${GN}${APP} setup has been successfully initialized!${CL}"
 | 
				
			||||||
echo -e "${INFO}${YW} Access it using the following URL:${CL}"
 | 
					echo -e "${INFO}${YW} Access it using the following URL:${CL}"
 | 
				
			||||||
echo -e "${TAB}${GATEWAY}${BGN}http://${IP}:6767${CL}"
 | 
					echo -e "${TAB}${GATEWAY}${BGN}http://${IP}:6767${CL}"
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -33,6 +33,7 @@ function update_script() {
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
    msg_info "Updating $APP"
 | 
					    msg_info "Updating $APP"
 | 
				
			||||||
    $STD /opt/beszel/beszel update
 | 
					    $STD /opt/beszel/beszel update
 | 
				
			||||||
 | 
					    sleep 2 && chmod +x /opt/beszel/beszel
 | 
				
			||||||
    msg_ok "Updated $APP"
 | 
					    msg_ok "Updated $APP"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    msg_info "Starting $APP"
 | 
					    msg_info "Starting $APP"
 | 
				
			||||||
@@ -49,4 +50,4 @@ description
 | 
				
			|||||||
msg_ok "Completed Successfully!\n"
 | 
					msg_ok "Completed Successfully!\n"
 | 
				
			||||||
echo -e "${CREATING}${GN}${APP} setup has been successfully initialized!${CL}"
 | 
					echo -e "${CREATING}${GN}${APP} setup has been successfully initialized!${CL}"
 | 
				
			||||||
echo -e "${INFO}${YW} Access it using the following IP:${CL}"
 | 
					echo -e "${INFO}${YW} Access it using the following IP:${CL}"
 | 
				
			||||||
echo -e "${TAB}${GATEWAY}${BGN}http://${IP}:8090${CL}"
 | 
					echo -e "${TAB}${GATEWAY}${BGN}http://${IP}:8090${CL}"
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -27,8 +27,7 @@ function update_script() {
 | 
				
			|||||||
    msg_error "No ${APP} Installation Found!"
 | 
					    msg_error "No ${APP} Installation Found!"
 | 
				
			||||||
    exit
 | 
					    exit
 | 
				
			||||||
  fi
 | 
					  fi
 | 
				
			||||||
  RELEASE=$(curl -fsSL https://api.github.com/repos/bitmagnet-io/bitmagnet/releases/latest | grep "tag_name" | awk '{print substr($2, 3, length($2)-4) }')
 | 
					  if check_for_gh_release "bitmagnet" "bitmagnet-io/bitmagnet"; then
 | 
				
			||||||
  if [[ "${RELEASE}" != "$(cat ~/.bitmagnet 2>/dev/null)" ]] || [[ ! -f ~/.bitmagnet ]]; then
 | 
					 | 
				
			||||||
    msg_info "Stopping Service"
 | 
					    msg_info "Stopping Service"
 | 
				
			||||||
    systemctl stop bitmagnet-web
 | 
					    systemctl stop bitmagnet-web
 | 
				
			||||||
    msg_ok "Stopped Service"
 | 
					    msg_ok "Stopped Service"
 | 
				
			||||||
@@ -63,22 +62,19 @@ function update_script() {
 | 
				
			|||||||
    rm -rf /opt/bitmagnet
 | 
					    rm -rf /opt/bitmagnet
 | 
				
			||||||
    fetch_and_deploy_gh_release "bitmagnet" "bitmagnet-io/bitmagnet"
 | 
					    fetch_and_deploy_gh_release "bitmagnet" "bitmagnet-io/bitmagnet"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    msg_info "Updating ${APP} to v${RELEASE}"
 | 
					    msg_info "Updating ${APP}"
 | 
				
			||||||
    cd /opt/bitmagnet
 | 
					    cd /opt/bitmagnet
 | 
				
			||||||
    VREL=v$RELEASE
 | 
					    VREL=v$(curl -fsSL https://api.github.com/repos/bitmagnet-io/bitmagnet/releases/latest | grep "tag_name" | awk '{print substr($2, 3, length($2)-4) }')
 | 
				
			||||||
    $STD go build -ldflags "-s -w -X github.com/bitmagnet-io/bitmagnet/internal/version.GitTag=$VREL"
 | 
					    $STD go build -ldflags "-s -w -X github.com/bitmagnet-io/bitmagnet/internal/version.GitTag=$VREL"
 | 
				
			||||||
    chmod +x bitmagnet
 | 
					    chmod +x bitmagnet
 | 
				
			||||||
    [ -f "/opt/.env" ] && cp "/opt/.env" /opt/bitmagnet/
 | 
					    [ -f "/opt/.env" ] && cp "/opt/.env" /opt/bitmagnet/
 | 
				
			||||||
    [ -f "/opt/config.yml" ] && cp "/opt/config.yml" /opt/bitmagnet/
 | 
					    [ -f "/opt/config.yml" ] && cp "/opt/config.yml" /opt/bitmagnet/
 | 
				
			||||||
    msg_ok "Updated $APP to v${RELEASE}"
 | 
					    msg_ok "Updated $APP"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    msg_info "Starting Service"
 | 
					    msg_info "Starting Service"
 | 
				
			||||||
    systemctl start bitmagnet-web
 | 
					    systemctl start bitmagnet-web
 | 
				
			||||||
    msg_ok "Started Service"
 | 
					    msg_ok "Started Service"
 | 
				
			||||||
 | 
					 | 
				
			||||||
    msg_ok "Updated Successfully"
 | 
					    msg_ok "Updated Successfully"
 | 
				
			||||||
  else
 | 
					 | 
				
			||||||
    msg_ok "No update required. ${APP} is already at v${RELEASE}"
 | 
					 | 
				
			||||||
  fi
 | 
					  fi
 | 
				
			||||||
  exit
 | 
					  exit
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 
 | 
				
			|||||||
							
								
								
									
										46
									
								
								ct/blocky.sh
									
									
									
									
									
								
							
							
						
						
									
										46
									
								
								ct/blocky.sh
									
									
									
									
									
								
							@@ -3,7 +3,7 @@ source <(curl -fsSL https://raw.githubusercontent.com/community-scripts/ProxmoxV
 | 
				
			|||||||
# Copyright (c) 2021-2025 tteck
 | 
					# Copyright (c) 2021-2025 tteck
 | 
				
			||||||
# Author: tteck (tteckster)
 | 
					# Author: tteck (tteckster)
 | 
				
			||||||
# License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE
 | 
					# License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE
 | 
				
			||||||
# Source: https://0xerr0r.github.io/blocky/latest/
 | 
					# Source: https://0xerr0r.github.io/blocky
 | 
				
			||||||
 | 
					
 | 
				
			||||||
APP="Blocky"
 | 
					APP="Blocky"
 | 
				
			||||||
var_tags="${var_tags:-adblock}"
 | 
					var_tags="${var_tags:-adblock}"
 | 
				
			||||||
@@ -20,18 +20,38 @@ color
 | 
				
			|||||||
catch_errors
 | 
					catch_errors
 | 
				
			||||||
 | 
					
 | 
				
			||||||
function update_script() {
 | 
					function update_script() {
 | 
				
			||||||
    header_info
 | 
					  header_info
 | 
				
			||||||
    check_container_storage
 | 
					  check_container_storage
 | 
				
			||||||
    check_container_resources
 | 
					  check_container_resources
 | 
				
			||||||
    if [[ ! -d /var ]]; then
 | 
					  if [[ ! -d /opt/blocky ]]; then
 | 
				
			||||||
        msg_error "No ${APP} Installation Found!"
 | 
					    msg_error "No ${APP} Installation Found!"
 | 
				
			||||||
        exit
 | 
					 | 
				
			||||||
    fi
 | 
					 | 
				
			||||||
    msg_info "Updating $APP LXC"
 | 
					 | 
				
			||||||
    $STD apt-get update
 | 
					 | 
				
			||||||
    $STD apt-get -y upgrade
 | 
					 | 
				
			||||||
    msg_ok "Updated $APP LXC"
 | 
					 | 
				
			||||||
    exit
 | 
					    exit
 | 
				
			||||||
 | 
					  fi
 | 
				
			||||||
 | 
					  if check_for_gh_release "blocky" "0xERR0R/blocky"; then
 | 
				
			||||||
 | 
					    msg_info "Stopping Service"
 | 
				
			||||||
 | 
					    systemctl stop blocky
 | 
				
			||||||
 | 
					    msg_ok "Stopped Service"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    msg_info "Backup Config"
 | 
				
			||||||
 | 
					    mv /opt/blocky/config.yml /opt/config.yml
 | 
				
			||||||
 | 
					    msg_ok "Backed Up Config"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    msg_info "Removing Old Version"
 | 
				
			||||||
 | 
					    rm -rf /opt/blocky
 | 
				
			||||||
 | 
					    msg_ok "Removed Old Version"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    fetch_and_deploy_gh_release "blocky" "0xERR0R/blocky" "prebuild" "latest" "/opt/blocky" "blocky_*_Linux_x86_64.tar.gz"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    msg_info "Restore Config"
 | 
				
			||||||
 | 
					    mv /opt/config.yml /opt/blocky/config.yml
 | 
				
			||||||
 | 
					    msg_ok "Restored Config"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    msg_info "Starting Service"
 | 
				
			||||||
 | 
					    systemctl start blocky
 | 
				
			||||||
 | 
					    msg_ok "Started Service"
 | 
				
			||||||
 | 
					    msg_ok "Updated Successfully"
 | 
				
			||||||
 | 
					  fi
 | 
				
			||||||
 | 
					  exit
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
start
 | 
					start
 | 
				
			||||||
@@ -41,4 +61,4 @@ description
 | 
				
			|||||||
msg_ok "Completed Successfully!\n"
 | 
					msg_ok "Completed Successfully!\n"
 | 
				
			||||||
echo -e "${CREATING}${GN}${APP} setup has been successfully initialized!${CL}"
 | 
					echo -e "${CREATING}${GN}${APP} setup has been successfully initialized!${CL}"
 | 
				
			||||||
echo -e "${INFO}${YW} Access it using the following URL:${CL}"
 | 
					echo -e "${INFO}${YW} Access it using the following URL:${CL}"
 | 
				
			||||||
echo -e "${TAB}${GATEWAY}${BGN}http://${IP}:4000${CL}"
 | 
					echo -e "${TAB}${GATEWAY}${BGN}http://${IP}:4000${CL}"
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -8,7 +8,7 @@ source <(curl -fsSL https://raw.githubusercontent.com/community-scripts/ProxmoxV
 | 
				
			|||||||
APP="BookLore"
 | 
					APP="BookLore"
 | 
				
			||||||
var_tags="${var_tags:-books;library}"
 | 
					var_tags="${var_tags:-books;library}"
 | 
				
			||||||
var_cpu="${var_cpu:-3}"
 | 
					var_cpu="${var_cpu:-3}"
 | 
				
			||||||
var_ram="${var_ram:-2048}"
 | 
					var_ram="${var_ram:-3072}"
 | 
				
			||||||
var_disk="${var_disk:-7}"
 | 
					var_disk="${var_disk:-7}"
 | 
				
			||||||
var_os="${var_os:-debian}"
 | 
					var_os="${var_os:-debian}"
 | 
				
			||||||
var_version="${var_version:-12}"
 | 
					var_version="${var_version:-12}"
 | 
				
			||||||
@@ -28,13 +28,15 @@ function update_script() {
 | 
				
			|||||||
    msg_error "No ${APP} Installation Found!"
 | 
					    msg_error "No ${APP} Installation Found!"
 | 
				
			||||||
    exit
 | 
					    exit
 | 
				
			||||||
  fi
 | 
					  fi
 | 
				
			||||||
 | 
					  if check_for_gh_release "booklore" "booklore-app/BookLore"; then
 | 
				
			||||||
  RELEASE=$(curl -fsSL https://api.github.com/repos/booklore-app/BookLore/releases/latest | yq '.tag_name' | sed 's/^v//')
 | 
					 | 
				
			||||||
  if [[ "${RELEASE}" != "$(cat ~/.booklore 2>/dev/null)" ]] || [[ ! -f ~/.booklore ]]; then
 | 
					 | 
				
			||||||
    msg_info "Stopping $APP"
 | 
					    msg_info "Stopping $APP"
 | 
				
			||||||
    systemctl stop booklore
 | 
					    systemctl stop booklore
 | 
				
			||||||
    msg_ok "Stopped $APP"
 | 
					    msg_ok "Stopped $APP"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    msg_info "backup old install"
 | 
				
			||||||
 | 
					    mv /opt/booklore /opt/booklore_bak
 | 
				
			||||||
 | 
					    msg_ok "backup done"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    fetch_and_deploy_gh_release "booklore" "booklore-app/BookLore"
 | 
					    fetch_and_deploy_gh_release "booklore" "booklore-app/BookLore"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    msg_info "Building Frontend"
 | 
					    msg_info "Building Frontend"
 | 
				
			||||||
@@ -60,11 +62,9 @@ function update_script() {
 | 
				
			|||||||
    msg_info "Starting $APP"
 | 
					    msg_info "Starting $APP"
 | 
				
			||||||
    systemctl start booklore
 | 
					    systemctl start booklore
 | 
				
			||||||
    systemctl reload nginx
 | 
					    systemctl reload nginx
 | 
				
			||||||
 | 
					    rm -rf /opt/booklore_bak
 | 
				
			||||||
    msg_ok "Started $APP"
 | 
					    msg_ok "Started $APP"
 | 
				
			||||||
 | 
					    msg_ok "Updated Successfully"
 | 
				
			||||||
    msg_ok "Update Successful"
 | 
					 | 
				
			||||||
  else
 | 
					 | 
				
			||||||
    msg_ok "No update required. ${APP} is already at v${RELEASE}"
 | 
					 | 
				
			||||||
  fi
 | 
					  fi
 | 
				
			||||||
  exit
 | 
					  exit
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -28,8 +28,7 @@ function update_script() {
 | 
				
			|||||||
    msg_error "No ${APP} Installation Found!"
 | 
					    msg_error "No ${APP} Installation Found!"
 | 
				
			||||||
    exit
 | 
					    exit
 | 
				
			||||||
  fi
 | 
					  fi
 | 
				
			||||||
  RELEASE=$(curl -fsSL https://api.github.com/repos/BookStackApp/BookStack/releases/latest | grep "tag_name" | awk '{print substr($2, 3, length($2)-4) }')
 | 
					  if check_for_gh_release "bookstack" "BookStackApp/BookStack"; then
 | 
				
			||||||
  if [[ "${RELEASE}" != "$(cat ~/.bookstack 2>/dev/null)" ]] || [[ ! -f ~/.bookstack ]]; then
 | 
					 | 
				
			||||||
    msg_info "Stopping Apache2"
 | 
					    msg_info "Stopping Apache2"
 | 
				
			||||||
    systemctl stop apache2
 | 
					    systemctl stop apache2
 | 
				
			||||||
    msg_ok "Services Stopped"
 | 
					    msg_ok "Services Stopped"
 | 
				
			||||||
@@ -58,7 +57,6 @@ function update_script() {
 | 
				
			|||||||
    chmod -R 755 /opt/bookstack /opt/bookstack/bootstrap/cache /opt/bookstack/public/uploads /opt/bookstack/storage
 | 
					    chmod -R 755 /opt/bookstack /opt/bookstack/bootstrap/cache /opt/bookstack/public/uploads /opt/bookstack/storage
 | 
				
			||||||
    chmod -R 775 /opt/bookstack/storage /opt/bookstack/bootstrap/cache /opt/bookstack/public/uploads
 | 
					    chmod -R 775 /opt/bookstack/storage /opt/bookstack/bootstrap/cache /opt/bookstack/public/uploads
 | 
				
			||||||
    chmod -R 640 /opt/bookstack/.env
 | 
					    chmod -R 640 /opt/bookstack/.env
 | 
				
			||||||
    echo "${RELEASE}" >/opt/${APP}_version.txt
 | 
					 | 
				
			||||||
    msg_ok "Configured BookStack"
 | 
					    msg_ok "Configured BookStack"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    msg_info "Starting Apache2"
 | 
					    msg_info "Starting Apache2"
 | 
				
			||||||
@@ -69,12 +67,9 @@ function update_script() {
 | 
				
			|||||||
    rm -rf /opt/bookstack-backup
 | 
					    rm -rf /opt/bookstack-backup
 | 
				
			||||||
    msg_ok "Cleaned"
 | 
					    msg_ok "Cleaned"
 | 
				
			||||||
    msg_ok "Updated Successfully"
 | 
					    msg_ok "Updated Successfully"
 | 
				
			||||||
  else
 | 
					 | 
				
			||||||
    msg_ok "No update required. ${APP} is already at v${RELEASE}"
 | 
					 | 
				
			||||||
  fi
 | 
					  fi
 | 
				
			||||||
  exit
 | 
					  exit
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					 | 
				
			||||||
start
 | 
					start
 | 
				
			||||||
build_container
 | 
					build_container
 | 
				
			||||||
description
 | 
					description
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -28,9 +28,7 @@ function update_script() {
 | 
				
			|||||||
    msg_error "No ${APP} Installation Found!"
 | 
					    msg_error "No ${APP} Installation Found!"
 | 
				
			||||||
    exit
 | 
					    exit
 | 
				
			||||||
  fi
 | 
					  fi
 | 
				
			||||||
  RELEASE=$(curl -fsSL https://api.github.com/repos/jordan-dalby/ByteStash/releases/latest | grep "tag_name" | awk '{print substr($2, 3, length($2)-4) }')
 | 
					  if check_for_gh_release "bytestash" "jordan-dalby/ByteStash"; then
 | 
				
			||||||
  if [[ "${RELEASE}" != "$(cat ~/.bytestash 2>/dev/null)" ]] || [[ ! -f ~/.bytestash ]]; then
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
    read -rp "${TAB3}Did you make a backup via application WebUI? (y/n): " backuped
 | 
					    read -rp "${TAB3}Did you make a backup via application WebUI? (y/n): " backuped
 | 
				
			||||||
    if [[ "$backuped" =~ ^[Yy]$ ]]; then
 | 
					    if [[ "$backuped" =~ ^[Yy]$ ]]; then
 | 
				
			||||||
      msg_info "Stopping Services"
 | 
					      msg_info "Stopping Services"
 | 
				
			||||||
@@ -57,10 +55,7 @@ function update_script() {
 | 
				
			|||||||
      exit
 | 
					      exit
 | 
				
			||||||
    fi
 | 
					    fi
 | 
				
			||||||
    msg_ok "Updated Successfully"
 | 
					    msg_ok "Updated Successfully"
 | 
				
			||||||
  else
 | 
					 | 
				
			||||||
    msg_ok "No update required. ${APP} is already at ${RELEASE}"
 | 
					 | 
				
			||||||
  fi
 | 
					  fi
 | 
				
			||||||
  exit
 | 
					 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
start
 | 
					start
 | 
				
			||||||
 
 | 
				
			|||||||
							
								
								
									
										17
									
								
								ct/caddy.sh
									
									
									
									
									
								
							
							
						
						
									
										17
									
								
								ct/caddy.sh
									
									
									
									
									
								
							@@ -9,7 +9,7 @@ APP="Caddy"
 | 
				
			|||||||
var_tags="${var_tags:-webserver}"
 | 
					var_tags="${var_tags:-webserver}"
 | 
				
			||||||
var_cpu="${var_cpu:-1}"
 | 
					var_cpu="${var_cpu:-1}"
 | 
				
			||||||
var_ram="${var_ram:-512}"
 | 
					var_ram="${var_ram:-512}"
 | 
				
			||||||
var_disk="${var_disk:-4}"
 | 
					var_disk="${var_disk:-6}"
 | 
				
			||||||
var_os="${var_os:-debian}"
 | 
					var_os="${var_os:-debian}"
 | 
				
			||||||
var_version="${var_version:-12}"
 | 
					var_version="${var_version:-12}"
 | 
				
			||||||
var_unprivileged="${var_unprivileged:-1}"
 | 
					var_unprivileged="${var_unprivileged:-1}"
 | 
				
			||||||
@@ -31,6 +31,19 @@ function update_script() {
 | 
				
			|||||||
   $STD apt-get update
 | 
					   $STD apt-get update
 | 
				
			||||||
   $STD apt-get -y upgrade
 | 
					   $STD apt-get -y upgrade
 | 
				
			||||||
   msg_ok "Updated $APP LXC"
 | 
					   msg_ok "Updated $APP LXC"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    if command -v xcaddy >/dev/null 2>&1; then
 | 
				
			||||||
 | 
					      install_go
 | 
				
			||||||
 | 
					      msg_info "Updating xCaddy"
 | 
				
			||||||
 | 
					      cd /opt
 | 
				
			||||||
 | 
					      RELEASE=$(curl -fsSL https://api.github.com/repos/caddyserver/xcaddy/releases/latest | grep "tag_name" | awk -F '"' '{print $4}')
 | 
				
			||||||
 | 
					      VERSION="${RELEASE#v}"
 | 
				
			||||||
 | 
					      curl -fsSL "https://github.com/caddyserver/xcaddy/releases/download/${RELEASE}/xcaddy_${VERSION}_linux_amd64.deb" -o "xcaddy_${VERSION}_linux_amd64.deb"
 | 
				
			||||||
 | 
					      $STD dpkg -i "xcaddy_${VERSION}_linux_amd64.deb"
 | 
				
			||||||
 | 
					      rm -f "xcaddy_${VERSION}_linux_amd64.deb"
 | 
				
			||||||
 | 
					      $STD xcaddy build
 | 
				
			||||||
 | 
					      msg_ok "Updated xCaddy"
 | 
				
			||||||
 | 
					   fi
 | 
				
			||||||
   exit
 | 
					   exit
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
@@ -41,4 +54,4 @@ description
 | 
				
			|||||||
msg_ok "Completed Successfully!\n"
 | 
					msg_ok "Completed Successfully!\n"
 | 
				
			||||||
echo -e "${CREATING}${GN}${APP} setup has been successfully initialized!${CL}"
 | 
					echo -e "${CREATING}${GN}${APP} setup has been successfully initialized!${CL}"
 | 
				
			||||||
echo -e "${INFO}${YW} Access it using the following URL:${CL}"
 | 
					echo -e "${INFO}${YW} Access it using the following URL:${CL}"
 | 
				
			||||||
echo -e "${TAB}${GATEWAY}${BGN}http://${IP}:80${CL}"
 | 
					echo -e "${TAB}${GATEWAY}${BGN}http://${IP}:80${CL}"
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -27,23 +27,21 @@ function update_script() {
 | 
				
			|||||||
    msg_error "No ${APP} Installation Found!"
 | 
					    msg_error "No ${APP} Installation Found!"
 | 
				
			||||||
    exit
 | 
					    exit
 | 
				
			||||||
  fi
 | 
					  fi
 | 
				
			||||||
 | 
					   
 | 
				
			||||||
  RELEASE=$(curl -fsSL https://api.github.com/repos/checkmk/checkmk/tags | grep "name" | awk '{print substr($2, 3, length($2)-4) }' | tr ' ' '\n' | grep -Ev 'rc|b' | sort -V | tail -n 1)
 | 
					  RELEASE=$(curl -fsSL https://api.github.com/repos/checkmk/checkmk/tags | grep "name" | awk '{print substr($2, 3, length($2)-4) }' | tr ' ' '\n' | grep -Ev 'rc|b' | sort -V | tail -n 1)
 | 
				
			||||||
  if [[ ! -f /opt/${APP}_version.txt ]] || [[ "${RELEASE}" != "$(cat /opt/${APP}_version.txt)" ]]; then
 | 
					  msg_info "Updating ${APP} to v${RELEASE}"
 | 
				
			||||||
    msg_info "Updating ${APP} to v${RELEASE}"
 | 
					  $STD omd stop monitoring
 | 
				
			||||||
    $STD omd stop monitoring
 | 
					  $STD omd cp monitoring monitoringbackup
 | 
				
			||||||
    $STD omd cp monitoring monitoringbackup
 | 
					  curl -fsSL "https://download.checkmk.com/checkmk/${RELEASE}/check-mk-raw-${RELEASE}_0.bookworm_amd64.deb" -o "/opt/checkmk.deb"
 | 
				
			||||||
curl -fsSL "https://download.checkmk.com/checkmk/${RELEASE}/check-mk-raw-${RELEASE}_0.bookworm_amd64.deb" -o "/opt/checkmk.deb"
 | 
					  $STD apt-get install -y /opt/checkmk.deb
 | 
				
			||||||
    $STD apt-get install -y /opt/checkmk.deb
 | 
					  $STD omd --force -V ${RELEASE}.cre update --conflict=install monitoring
 | 
				
			||||||
    $STD omd --force -V ${RELEASE}.cre update --conflict=install monitoring
 | 
					  $STD omd start monitoring
 | 
				
			||||||
    $STD omd start monitoring
 | 
					  $STD omd -f rm monitoringbackup
 | 
				
			||||||
    $STD omd -f rm monitoringbackup
 | 
					  $STD omd cleanup
 | 
				
			||||||
    $STD omd cleanup
 | 
					  rm -rf /opt/checkmk.deb
 | 
				
			||||||
    rm -rf /opt/checkmk.deb
 | 
					  msg_ok "Updated ${APP}"
 | 
				
			||||||
    msg_ok "Updated ${APP} to v${RELEASE}"
 | 
					  msg_ok "Updated Successfully"
 | 
				
			||||||
  else
 | 
					  
 | 
				
			||||||
    msg_ok "No update required. ${APP} is already at v${RELEASE}."
 | 
					 | 
				
			||||||
  fi
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
  exit
 | 
					  exit
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -20,32 +20,27 @@ color
 | 
				
			|||||||
catch_errors
 | 
					catch_errors
 | 
				
			||||||
 | 
					
 | 
				
			||||||
function update_script() {
 | 
					function update_script() {
 | 
				
			||||||
    header_info
 | 
					  header_info
 | 
				
			||||||
    check_container_storage
 | 
					  check_container_storage
 | 
				
			||||||
    check_container_resources
 | 
					  check_container_resources
 | 
				
			||||||
    if [[ ! -f /opt/cleanuparr/Cleanuparr ]]; then
 | 
					  if [[ ! -f /opt/cleanuparr/Cleanuparr ]]; then
 | 
				
			||||||
        msg_error "No ${APP} Installation Found!"
 | 
					    msg_error "No ${APP} Installation Found!"
 | 
				
			||||||
        exit
 | 
					 | 
				
			||||||
    fi
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
    RELEASE=$(curl -fsSL https://api.github.com/repos/Cleanuparr/Cleanuparr/releases/latest | jq -r '.tag_name' | sed 's/^v//')
 | 
					 | 
				
			||||||
    if [[ "${RELEASE}" != "$(cat ~/.Cleanuparr 2>/dev/null)" ]] || [[ ! -f ~/.Cleanuparr ]]; then
 | 
					 | 
				
			||||||
        msg_info "Stopping ${APP}"
 | 
					 | 
				
			||||||
        systemctl stop cleanuparr
 | 
					 | 
				
			||||||
        msg_ok "Stopped ${APP}"
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
        fetch_and_deploy_gh_release "Cleanuparr" "Cleanuparr/Cleanuparr" "prebuild" "$RELEASE" "/opt/cleanuparr" "*linux-amd64.zip"
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
        msg_info "Starting ${APP}"
 | 
					 | 
				
			||||||
        systemctl start cleanuparr
 | 
					 | 
				
			||||||
        msg_ok "Started ${APP}"
 | 
					 | 
				
			||||||
        msg_ok "Updated Successfully"
 | 
					 | 
				
			||||||
    else
 | 
					 | 
				
			||||||
        msg_ok "No update required. ${APP} is already at v${RELEASE}"
 | 
					 | 
				
			||||||
    fi
 | 
					 | 
				
			||||||
    exit
 | 
					    exit
 | 
				
			||||||
}
 | 
					  fi
 | 
				
			||||||
 | 
					  if check_for_gh_release "cleanuparr" "Cleanuparr/Cleanuparr"; then
 | 
				
			||||||
 | 
					    msg_info "Stopping ${APP}"
 | 
				
			||||||
 | 
					    systemctl stop cleanuparr
 | 
				
			||||||
 | 
					    msg_ok "Stopped ${APP}"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    fetch_and_deploy_gh_release "Cleanuparr" "Cleanuparr/Cleanuparr" "prebuild" "latest" "/opt/cleanuparr" "*linux-amd64.zip"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    msg_info "Starting ${APP}"
 | 
				
			||||||
 | 
					    systemctl start cleanuparr
 | 
				
			||||||
 | 
					    msg_ok "Started ${APP}"
 | 
				
			||||||
 | 
					    msg_ok "Updated Successfully"
 | 
				
			||||||
 | 
					  fi
 | 
				
			||||||
 | 
					  exit
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
start
 | 
					start
 | 
				
			||||||
build_container
 | 
					build_container
 | 
				
			||||||
description
 | 
					description
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -11,7 +11,7 @@ var_cpu="${var_cpu:-1}"
 | 
				
			|||||||
var_ram="${var_ram:-512}"
 | 
					var_ram="${var_ram:-512}"
 | 
				
			||||||
var_disk="${var_disk:-2}"
 | 
					var_disk="${var_disk:-2}"
 | 
				
			||||||
var_os="${var_os:-debian}"
 | 
					var_os="${var_os:-debian}"
 | 
				
			||||||
var_version="${var_version:-12}"
 | 
					var_version="${var_version:-13}"
 | 
				
			||||||
var_unprivileged="${var_unprivileged:-1}"
 | 
					var_unprivileged="${var_unprivileged:-1}"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
header_info "$APP"
 | 
					header_info "$APP"
 | 
				
			||||||
@@ -20,18 +20,18 @@ color
 | 
				
			|||||||
catch_errors
 | 
					catch_errors
 | 
				
			||||||
 | 
					
 | 
				
			||||||
function update_script() {
 | 
					function update_script() {
 | 
				
			||||||
   header_info
 | 
					  header_info
 | 
				
			||||||
   check_container_storage
 | 
					  check_container_storage
 | 
				
			||||||
   check_container_resources
 | 
					  check_container_resources
 | 
				
			||||||
   if [[ ! -d /var ]]; then
 | 
					  if [[ ! -f /etc/systemd/system/cloudflared.service ]]; then
 | 
				
			||||||
      msg_error "No ${APP} Installation Found!"
 | 
					    msg_error "No ${APP} Installation Found!"
 | 
				
			||||||
      exit
 | 
					    exit
 | 
				
			||||||
   fi
 | 
					  fi
 | 
				
			||||||
   msg_info "Updating $APP LXC"
 | 
					  msg_info "Updating $APP LXC"
 | 
				
			||||||
   $STD apt-get update
 | 
					  $STD apt update
 | 
				
			||||||
   $STD apt-get -y upgrade
 | 
					  $STD apt -y upgrade
 | 
				
			||||||
   msg_ok "Updated $APP LXC"
 | 
					  msg_ok "Updated $APP LXC"
 | 
				
			||||||
   exit
 | 
					  exit
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
start
 | 
					start
 | 
				
			||||||
@@ -39,4 +39,4 @@ build_container
 | 
				
			|||||||
description
 | 
					description
 | 
				
			||||||
 | 
					
 | 
				
			||||||
msg_ok "Completed Successfully!\n"
 | 
					msg_ok "Completed Successfully!\n"
 | 
				
			||||||
echo -e "${CREATING}${GN}${APP} setup has been successfully initialized!${CL}"
 | 
					echo -e "${CREATING}${GN}${APP} setup has been successfully initialized!${CL}"
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -28,9 +28,7 @@ function update_script() {
 | 
				
			|||||||
    msg_error "No ${APP} Installation Found!"
 | 
					    msg_error "No ${APP} Installation Found!"
 | 
				
			||||||
    exit
 | 
					    exit
 | 
				
			||||||
  fi
 | 
					  fi
 | 
				
			||||||
 | 
					  if check_for_gh_release "cloudreve" "cloudreve/cloudreve"; then
 | 
				
			||||||
  RELEASE=$(curl -fsSL https://api.github.com/repos/cloudreve/cloudreve/releases/latest | grep "tag_name" | awk '{print substr($2, 2, length($2)-3) }')
 | 
					 | 
				
			||||||
  if [[ "${RELEASE}" != "$(cat ~/.cloudreve 2>/dev/null)" ]] || [[ ! -f ~/.cloudreve ]]; then
 | 
					 | 
				
			||||||
    msg_info "Stopping $APP"
 | 
					    msg_info "Stopping $APP"
 | 
				
			||||||
    systemctl stop cloudreve
 | 
					    systemctl stop cloudreve
 | 
				
			||||||
    msg_ok "Stopped $APP"
 | 
					    msg_ok "Stopped $APP"
 | 
				
			||||||
@@ -40,10 +38,7 @@ function update_script() {
 | 
				
			|||||||
    msg_info "Starting $APP"
 | 
					    msg_info "Starting $APP"
 | 
				
			||||||
    systemctl start cloudreve
 | 
					    systemctl start cloudreve
 | 
				
			||||||
    msg_ok "Started $APP"
 | 
					    msg_ok "Started $APP"
 | 
				
			||||||
 | 
					    msg_ok "Updated Successfully"
 | 
				
			||||||
    msg_ok "Update Successful"
 | 
					 | 
				
			||||||
  else
 | 
					 | 
				
			||||||
    msg_ok "No update required. ${APP} is already at v${RELEASE}"
 | 
					 | 
				
			||||||
  fi
 | 
					  fi
 | 
				
			||||||
  exit
 | 
					  exit
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -28,8 +28,7 @@ function update_script() {
 | 
				
			|||||||
    msg_error "No ${APP} Installation Found!"
 | 
					    msg_error "No ${APP} Installation Found!"
 | 
				
			||||||
    exit
 | 
					    exit
 | 
				
			||||||
  fi
 | 
					  fi
 | 
				
			||||||
  RELEASE=$(curl -fsSL https://api.github.com/repos/Athou/commafeed/releases/latest | grep '"tag_name":' | cut -d'"' -f4)
 | 
					  if check_for_gh_release "commafeed" "Athou/commafeed"; then
 | 
				
			||||||
  if [[ "${RELEASE}" != "$(cat ~/.commafeed 2>/dev/null)" ]] || [[ ! -f ~/.commafeed ]]; then
 | 
					 | 
				
			||||||
    msg_info "Stopping ${APP}"
 | 
					    msg_info "Stopping ${APP}"
 | 
				
			||||||
    systemctl stop commafeed
 | 
					    systemctl stop commafeed
 | 
				
			||||||
    msg_ok "Stopped ${APP}"
 | 
					    msg_ok "Stopped ${APP}"
 | 
				
			||||||
@@ -40,23 +39,25 @@ function update_script() {
 | 
				
			|||||||
      $STD apt-get install -y rsync
 | 
					      $STD apt-get install -y rsync
 | 
				
			||||||
      msg_ok "Installed Dependencies"
 | 
					      msg_ok "Installed Dependencies"
 | 
				
			||||||
    fi
 | 
					    fi
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    if [ -d /opt/commafeed/data ] && [ "$(ls -A /opt/commafeed/data)" ]; then
 | 
					    if [ -d /opt/commafeed/data ] && [ "$(ls -A /opt/commafeed/data)" ]; then
 | 
				
			||||||
 | 
					      msg_info "Backing up existing data"
 | 
				
			||||||
      mv /opt/commafeed/data /opt/data.bak
 | 
					      mv /opt/commafeed/data /opt/data.bak
 | 
				
			||||||
 | 
					      msg_ok "Backed up existing data"
 | 
				
			||||||
    fi
 | 
					    fi
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    fetch_and_deploy_gh_release "commafeed" "Athou/commafeed" "prebuild" "latest" "/opt/commafeed" "commafeed-*-h2-jvm.zip"
 | 
					    fetch_and_deploy_gh_release "commafeed" "Athou/commafeed" "prebuild" "latest" "/opt/commafeed" "commafeed-*-h2-jvm.zip"
 | 
				
			||||||
    
 | 
					
 | 
				
			||||||
    msg_info "Updating ${APP} to ${RELEASE}"
 | 
					    if [ -d /opt/data.bak ] && [ "$(ls -A /opt/data.bak)" ]; then
 | 
				
			||||||
    if [ -d /opt/commafeed/data.bak ] && [ "$(ls -A /opt/commafeed/data.bak)" ]; then
 | 
					      msg_info "Restoring data"
 | 
				
			||||||
      mv /opt/commafeed/data.bak /opt/commafeed/data
 | 
					      mv /opt/data.bak /opt/commafeed/data
 | 
				
			||||||
 | 
					      msg_ok "Restored data"
 | 
				
			||||||
    fi
 | 
					    fi
 | 
				
			||||||
    msg_ok "Updated ${APP} to ${RELEASE}"
 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
    msg_info "Starting ${APP}"
 | 
					    msg_info "Starting ${APP}"
 | 
				
			||||||
    systemctl start commafeed
 | 
					    systemctl start commafeed
 | 
				
			||||||
    msg_ok "Started ${APP}"
 | 
					    msg_ok "Started ${APP}"
 | 
				
			||||||
    msg_ok "Updated Successfully"
 | 
					    msg_ok "Updated Successfully"
 | 
				
			||||||
  else
 | 
					 | 
				
			||||||
    msg_ok "No update required. ${APP} is already at ${RELEASE}"
 | 
					 | 
				
			||||||
  fi
 | 
					  fi
 | 
				
			||||||
  exit
 | 
					  exit
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -27,31 +27,28 @@ function update_script() {
 | 
				
			|||||||
    msg_error "No ${APP} Installation Found!"
 | 
					    msg_error "No ${APP} Installation Found!"
 | 
				
			||||||
    exit
 | 
					    exit
 | 
				
			||||||
  fi
 | 
					  fi
 | 
				
			||||||
  RELEASE=$(curl -fsSL https://api.github.com/repos/raydak-labs/configarr/releases/latest | grep "tag_name" | awk '{print substr($2, 3, length($2)-4) }')
 | 
					  if check_for_gh_release "configarr" "raydak-labs/configarr"; then
 | 
				
			||||||
  if [[ "${RELEASE}" != "$(cat ~/.configarr 2>/dev/null || cat /opt/configarr_version.txt 2>/dev/null)" ]]; then
 | 
					 | 
				
			||||||
    msg_info "Stopping $APP"
 | 
					    msg_info "Stopping $APP"
 | 
				
			||||||
    systemctl stop configarr-task.timer
 | 
					    systemctl stop configarr-task.timer
 | 
				
			||||||
    msg_ok "Stopped $APP"
 | 
					    msg_ok "Stopped $APP"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    msg_info "Updating $APP to v${RELEASE}"
 | 
					    msg_info "Updating $APP"
 | 
				
			||||||
    mkdir -p /opt/backup/
 | 
					    mkdir -p /opt/backup/
 | 
				
			||||||
    mv /opt/configarr/{config.yml,secrets.yml,.env} "/opt/backup/"
 | 
					    mv /opt/configarr/{config.yml,secrets.yml,.env} "/opt/backup/"
 | 
				
			||||||
    rm -rf /opt/configarr
 | 
					    rm -rf /opt/configarr
 | 
				
			||||||
    fetch_and_deploy_gh_release "configarr" "raydak-labs/configarr"
 | 
					    fetch_and_deploy_gh_release "configarr" "raydak-labs/configarr"
 | 
				
			||||||
    mv /opt/backup/* /opt/configarr/
 | 
					    mv /opt/backup/{config.yml,secrets.yml,.env} "/opt/configarr/"
 | 
				
			||||||
    cd /opt/configarr
 | 
					    cd /opt/configarr
 | 
				
			||||||
    $STD pnpm install
 | 
					    $STD pnpm install
 | 
				
			||||||
    $STD pnpm run build
 | 
					    $STD pnpm run build
 | 
				
			||||||
    msg_ok "Updated $APP to v${RELEASE}"
 | 
					    msg_ok "Updated $APP"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    msg_info "Starting $APP"
 | 
					    msg_info "Starting $APP"
 | 
				
			||||||
    systemctl start configarr-task.timer
 | 
					    systemctl start configarr-task.timer
 | 
				
			||||||
    msg_ok "Started configarr"
 | 
					    msg_ok "Started configarr"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    rm -rf /opt/backup
 | 
					    rm -rf /opt/backup
 | 
				
			||||||
    msg_ok "Update Successful"
 | 
					    msg_ok "Updated Successfully"
 | 
				
			||||||
  else
 | 
					 | 
				
			||||||
    msg_ok "No update required. ${APP} is already at v${RELEASE}"
 | 
					 | 
				
			||||||
  fi
 | 
					  fi
 | 
				
			||||||
  exit
 | 
					  exit
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -27,8 +27,7 @@ function update_script() {
 | 
				
			|||||||
    msg_error "No ${APP} Installation Found!"
 | 
					    msg_error "No ${APP} Installation Found!"
 | 
				
			||||||
    exit
 | 
					    exit
 | 
				
			||||||
  fi
 | 
					  fi
 | 
				
			||||||
  RELEASE=$(curl -fsSL https://api.github.com/repos/C4illin/ConvertX/releases/latest | grep "tag_name" | awk '{print substr($2, 2, length($2)-3) }')
 | 
					  if check_for_gh_release "ConvertX" "C4illin/ConvertX"; then
 | 
				
			||||||
  if [[ "${RELEASE}" != "$(cat ~/.convertx 2>/dev/null)" ]] || [[ ! -f ~/.convertx ]]; then
 | 
					 | 
				
			||||||
    msg_info "Stopping $APP"
 | 
					    msg_info "Stopping $APP"
 | 
				
			||||||
    systemctl stop convertx
 | 
					    systemctl stop convertx
 | 
				
			||||||
    msg_ok "Stopped $APP"
 | 
					    msg_ok "Stopped $APP"
 | 
				
			||||||
@@ -41,25 +40,21 @@ function update_script() {
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
    fetch_and_deploy_gh_release "ConvertX" "C4illin/ConvertX" "tarball" "latest" "/opt/convertx"
 | 
					    fetch_and_deploy_gh_release "ConvertX" "C4illin/ConvertX" "tarball" "latest" "/opt/convertx"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    msg_info "Updating $APP to v${RELEASE}"
 | 
					    msg_info "Updating $APP"
 | 
				
			||||||
    if [[ -d /opt/data ]]; then
 | 
					    if [[ -d /opt/data ]]; then
 | 
				
			||||||
      mv /opt/data /opt/convertx/data
 | 
					      mv /opt/data /opt/convertx/data
 | 
				
			||||||
    fi
 | 
					    fi
 | 
				
			||||||
    cd /opt/convertx
 | 
					    cd /opt/convertx
 | 
				
			||||||
    $STD bun install
 | 
					    $STD bun install
 | 
				
			||||||
    msg_ok "Updated $APP to v${RELEASE}"
 | 
					    msg_ok "Updated $APP"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    msg_info "Starting $APP"
 | 
					    msg_info "Starting $APP"
 | 
				
			||||||
    systemctl start convertx
 | 
					    systemctl start convertx
 | 
				
			||||||
    msg_ok "Started $APP"
 | 
					    msg_ok "Started $APP"
 | 
				
			||||||
 | 
					    msg_ok "Updated Successfully"
 | 
				
			||||||
    msg_ok "Update Successful"
 | 
					 | 
				
			||||||
  else
 | 
					 | 
				
			||||||
    msg_ok "No update required. ${APP} is already at v${RELEASE}"
 | 
					 | 
				
			||||||
  fi
 | 
					  fi
 | 
				
			||||||
  exit
 | 
					  exit
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					 | 
				
			||||||
start
 | 
					start
 | 
				
			||||||
build_container
 | 
					build_container
 | 
				
			||||||
description
 | 
					description
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -68,10 +68,10 @@ function update_script() {
 | 
				
			|||||||
    msg_ok "Started Crafty-Controller"
 | 
					    msg_ok "Started Crafty-Controller"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    msg_ok "Updated Successfully"
 | 
					    msg_ok "Updated Successfully"
 | 
				
			||||||
    exit
 | 
					 | 
				
			||||||
  else
 | 
					  else
 | 
				
			||||||
    msg_ok "No update required. Crafty-Controller is already at v${RELEASE}."
 | 
					    msg_ok "No update required. ${APP} is already at v${RELEASE}"
 | 
				
			||||||
  fi
 | 
					  fi
 | 
				
			||||||
 | 
					  exit
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
start
 | 
					start
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -33,52 +33,42 @@ function update_script() {
 | 
				
			|||||||
      msg_error "No ${APP} Installation Found!"
 | 
					      msg_error "No ${APP} Installation Found!"
 | 
				
			||||||
      exit
 | 
					      exit
 | 
				
			||||||
    fi
 | 
					    fi
 | 
				
			||||||
    if [[ "$(node -v | cut -d 'v' -f 2)" == "18."* ]]; then
 | 
					    NODE_VERSION="22" setup_nodejs
 | 
				
			||||||
      if ! command -v npm >/dev/null 2>&1; then
 | 
					
 | 
				
			||||||
        echo "Installing NPM..."
 | 
					 | 
				
			||||||
        $STD apt-get install -y npm
 | 
					 | 
				
			||||||
        echo "Installed NPM..."
 | 
					 | 
				
			||||||
      fi
 | 
					 | 
				
			||||||
    fi
 | 
					 | 
				
			||||||
    msg_info "Updating ${APP}"
 | 
					    msg_info "Updating ${APP}"
 | 
				
			||||||
    $STD /opt/cronicle/bin/control.sh upgrade
 | 
					    $STD /opt/cronicle/bin/control.sh upgrade
 | 
				
			||||||
    msg_ok "Updated ${APP}"
 | 
					    msg_ok "Updated ${APP}"
 | 
				
			||||||
    exit
 | 
					    exit
 | 
				
			||||||
  fi
 | 
					  fi
 | 
				
			||||||
  if [ "$UPD" == "2" ]; then
 | 
					  if [ "$UPD" == "2" ]; then
 | 
				
			||||||
    if [[ "$(node -v | cut -d 'v' -f 2)" == "18."* ]]; then
 | 
					 | 
				
			||||||
      if ! command -v npm >/dev/null 2>&1; then
 | 
					 | 
				
			||||||
        echo "Installing NPM..."
 | 
					 | 
				
			||||||
        $STD apt-get install -y npm
 | 
					 | 
				
			||||||
        echo "Installed NPM..."
 | 
					 | 
				
			||||||
      fi
 | 
					 | 
				
			||||||
    fi
 | 
					 | 
				
			||||||
    LATEST=$(curl -fsSL https://api.github.com/repos/jhuckaby/Cronicle/releases/latest | grep '"tag_name":' | cut -d'"' -f4)
 | 
					 | 
				
			||||||
    IP=$(hostname -I | awk '{print $1}')
 | 
					 | 
				
			||||||
    msg_info "Installing Dependencies"
 | 
					 | 
				
			||||||
    $STD apt-get install -y \
 | 
					 | 
				
			||||||
      git \
 | 
					 | 
				
			||||||
      build-essential \
 | 
					 | 
				
			||||||
      ca-certificates \
 | 
					 | 
				
			||||||
      gnupg2
 | 
					 | 
				
			||||||
    msg_ok "Installed Dependencies"
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
    NODE_VERSION="22" setup_nodejs
 | 
					    NODE_VERSION="22" setup_nodejs
 | 
				
			||||||
    fetch_and_deploy_gh_release "cronicle" "jhuckaby/Cronicle"
 | 
					    if check_for_gh_release "cronicle" "jhuckaby/Cronicle"; then
 | 
				
			||||||
 | 
					      IP=$(hostname -I | awk '{print $1}')
 | 
				
			||||||
 | 
					      msg_info "Installing Dependencies"
 | 
				
			||||||
 | 
					      $STD apt-get install -y \
 | 
				
			||||||
 | 
					        git \
 | 
				
			||||||
 | 
					        build-essential \
 | 
				
			||||||
 | 
					        ca-certificates \
 | 
				
			||||||
 | 
					        gnupg2
 | 
				
			||||||
 | 
					      msg_ok "Installed Dependencies"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    msg_info "Configuring Cronicle Worker"
 | 
					      NODE_VERSION="22" setup_nodejs
 | 
				
			||||||
    cd /opt/cronicle
 | 
					      fetch_and_deploy_gh_release "cronicle" "jhuckaby/Cronicle"
 | 
				
			||||||
    $STD npm install
 | 
					
 | 
				
			||||||
    $STD node bin/build.js dist
 | 
					      msg_info "Configuring Cronicle Worker"
 | 
				
			||||||
    sed -i "s/localhost:3012/${IP}:3012/g" /opt/cronicle/conf/config.json
 | 
					      cd /opt/cronicle
 | 
				
			||||||
    $STD /opt/cronicle/bin/control.sh start
 | 
					      $STD npm install
 | 
				
			||||||
    $STD cp /opt/cronicle/bin/cronicled.init /etc/init.d/cronicled
 | 
					      $STD node bin/build.js dist
 | 
				
			||||||
    chmod 775 /etc/init.d/cronicled
 | 
					      sed -i "s/localhost:3012/${IP}:3012/g" /opt/cronicle/conf/config.json
 | 
				
			||||||
    $STD update-rc.d cronicled defaults
 | 
					      $STD /opt/cronicle/bin/control.sh start
 | 
				
			||||||
    msg_ok "Installed Cronicle Worker"
 | 
					      $STD cp /opt/cronicle/bin/cronicled.init /etc/init.d/cronicled
 | 
				
			||||||
    
 | 
					      chmod 775 /etc/init.d/cronicled
 | 
				
			||||||
    echo -e "\n Add Masters secret key to /opt/cronicle/conf/config.json \n"
 | 
					      $STD update-rc.d cronicled defaults
 | 
				
			||||||
    exit
 | 
					      msg_ok "Installed Cronicle Worker"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					      echo -e "\n Add Masters secret key to /opt/cronicle/conf/config.json \n"
 | 
				
			||||||
 | 
					      exit
 | 
				
			||||||
 | 
					    fi
 | 
				
			||||||
  fi
 | 
					  fi
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -28,8 +28,7 @@ function update_script() {
 | 
				
			|||||||
    msg_error "No ${APP} Installation Found!"
 | 
					    msg_error "No ${APP} Installation Found!"
 | 
				
			||||||
    exit
 | 
					    exit
 | 
				
			||||||
  fi
 | 
					  fi
 | 
				
			||||||
  RELEASE=$(curl -fsSL https://api.github.com/repos/cryptpad/cryptpad/releases/latest | grep "tag_name" | awk '{print substr($2, 2, length($2)-3) }')
 | 
					  if check_for_gh_release "cryptpad" "cryptpad/cryptpad"; then
 | 
				
			||||||
  if [[ "${RELEASE}" != "$(cat ~/.cryptpad 2>/dev/null)" ]] || [[ ! -f ~/.cryptpad ]]; then
 | 
					 | 
				
			||||||
    msg_info "Stopping $APP"
 | 
					    msg_info "Stopping $APP"
 | 
				
			||||||
    systemctl stop cryptpad
 | 
					    systemctl stop cryptpad
 | 
				
			||||||
    msg_ok "Stopped $APP"
 | 
					    msg_ok "Stopped $APP"
 | 
				
			||||||
@@ -40,12 +39,12 @@ function update_script() {
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
    fetch_and_deploy_gh_release "cryptpad" "cryptpad/cryptpad"
 | 
					    fetch_and_deploy_gh_release "cryptpad" "cryptpad/cryptpad"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    msg_info "Updating $APP to ${RELEASE}"
 | 
					    msg_info "Updating $APP"
 | 
				
			||||||
    cd /opt/cryptpad
 | 
					    cd /opt/cryptpad
 | 
				
			||||||
    $STD npm ci
 | 
					    $STD npm ci
 | 
				
			||||||
    $STD npm run install:components
 | 
					    $STD npm run install:components
 | 
				
			||||||
    $STD npm run build
 | 
					    $STD npm run build
 | 
				
			||||||
    msg_ok "Updated $APP to ${RELEASE}"
 | 
					    msg_ok "Updated $APP"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    msg_info "Restoring configuration"
 | 
					    msg_info "Restoring configuration"
 | 
				
			||||||
    mv /opt/config.js /opt/cryptpad/config/
 | 
					    mv /opt/config.js /opt/cryptpad/config/
 | 
				
			||||||
@@ -54,10 +53,7 @@ function update_script() {
 | 
				
			|||||||
    msg_info "Starting $APP"
 | 
					    msg_info "Starting $APP"
 | 
				
			||||||
    systemctl start cryptpad
 | 
					    systemctl start cryptpad
 | 
				
			||||||
    msg_ok "Started $APP"
 | 
					    msg_ok "Started $APP"
 | 
				
			||||||
 | 
					    msg_ok "Updated Successfully"
 | 
				
			||||||
    msg_ok "Update Successful"
 | 
					 | 
				
			||||||
  else
 | 
					 | 
				
			||||||
    msg_ok "No update required. ${APP} is already at ${RELEASE}"
 | 
					 | 
				
			||||||
  fi
 | 
					  fi
 | 
				
			||||||
  exit
 | 
					  exit
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 
 | 
				
			|||||||
							
								
								
									
										11
									
								
								ct/dashy.sh
									
									
									
									
									
								
							
							
						
						
									
										11
									
								
								ct/dashy.sh
									
									
									
									
									
								
							@@ -27,9 +27,7 @@ function update_script() {
 | 
				
			|||||||
    msg_error "No ${APP} Installation Found!"
 | 
					    msg_error "No ${APP} Installation Found!"
 | 
				
			||||||
    exit
 | 
					    exit
 | 
				
			||||||
  fi
 | 
					  fi
 | 
				
			||||||
 | 
					  if check_for_gh_release "dashy" "Lissy93/dashy"; then
 | 
				
			||||||
  RELEASE=$(curl -fsSL https://api.github.com/repos/Lissy93/dashy/releases/latest | grep '"tag_name":' | cut -d'"' -f4)
 | 
					 | 
				
			||||||
  if [[ "${RELEASE}" != "$(cat ~/.dashy 2>/dev/null)" ]] || [[ ! -f ~/.dashy ]]; then
 | 
					 | 
				
			||||||
    msg_info "Stopping ${APP}"
 | 
					    msg_info "Stopping ${APP}"
 | 
				
			||||||
    systemctl stop dashy
 | 
					    systemctl stop dashy
 | 
				
			||||||
    msg_ok "Stopped ${APP}"
 | 
					    msg_ok "Stopped ${APP}"
 | 
				
			||||||
@@ -46,11 +44,11 @@ function update_script() {
 | 
				
			|||||||
    rm -rf /opt/dashy
 | 
					    rm -rf /opt/dashy
 | 
				
			||||||
    fetch_and_deploy_gh_release "dashy" "Lissy93/dashy"
 | 
					    fetch_and_deploy_gh_release "dashy" "Lissy93/dashy"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    msg_info "Updating ${APP} to ${RELEASE}"
 | 
					    msg_info "Updating ${APP}"
 | 
				
			||||||
    cd /opt/dashy
 | 
					    cd /opt/dashy
 | 
				
			||||||
    npm install
 | 
					    npm install
 | 
				
			||||||
    npm run build
 | 
					    npm run build
 | 
				
			||||||
    msg_ok "Updated ${APP} to ${RELEASE}"
 | 
					    msg_ok "Updated ${APP}"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    msg_info "Restoring conf.yml"
 | 
					    msg_info "Restoring conf.yml"
 | 
				
			||||||
    cd ~
 | 
					    cd ~
 | 
				
			||||||
@@ -64,10 +62,7 @@ function update_script() {
 | 
				
			|||||||
    msg_info "Starting Dashy"
 | 
					    msg_info "Starting Dashy"
 | 
				
			||||||
    systemctl start dashy
 | 
					    systemctl start dashy
 | 
				
			||||||
    msg_ok "Started Dashy"
 | 
					    msg_ok "Started Dashy"
 | 
				
			||||||
 | 
					 | 
				
			||||||
    msg_ok "Updated Successfully"
 | 
					    msg_ok "Updated Successfully"
 | 
				
			||||||
  else
 | 
					 | 
				
			||||||
    msg_ok "No update required. ${APP} is already at ${RELEASE}"
 | 
					 | 
				
			||||||
  fi
 | 
					  fi
 | 
				
			||||||
  exit
 | 
					  exit
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -11,7 +11,7 @@ var_cpu="${var_cpu:-1}"
 | 
				
			|||||||
var_ram="${var_ram:-512}"
 | 
					var_ram="${var_ram:-512}"
 | 
				
			||||||
var_disk="${var_disk:-2}"
 | 
					var_disk="${var_disk:-2}"
 | 
				
			||||||
var_os="${var_os:-debian}"
 | 
					var_os="${var_os:-debian}"
 | 
				
			||||||
var_version="${var_version:-12}"
 | 
					var_version="${var_version:-13}"
 | 
				
			||||||
var_unprivileged="${var_unprivileged:-1}"
 | 
					var_unprivileged="${var_unprivileged:-1}"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
header_info "$APP"
 | 
					header_info "$APP"
 | 
				
			||||||
@@ -28,8 +28,8 @@ function update_script() {
 | 
				
			|||||||
    exit
 | 
					    exit
 | 
				
			||||||
  fi
 | 
					  fi
 | 
				
			||||||
  msg_info "Updating $APP LXC"
 | 
					  msg_info "Updating $APP LXC"
 | 
				
			||||||
  $STD apt-get update
 | 
					  $STD apt update
 | 
				
			||||||
  $STD apt-get -y upgrade
 | 
					  $STD apt -y upgrade
 | 
				
			||||||
  msg_ok "Updated $APP LXC"
 | 
					  msg_ok "Updated $APP LXC"
 | 
				
			||||||
  exit
 | 
					  exit
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -90,3 +90,5 @@ description
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
msg_ok "Completed Successfully!\n"
 | 
					msg_ok "Completed Successfully!\n"
 | 
				
			||||||
echo -e "${CREATING}${GN}${APP} setup has been successfully initialized!${CL}"
 | 
					echo -e "${CREATING}${GN}${APP} setup has been successfully initialized!${CL}"
 | 
				
			||||||
 | 
					echo -e "${INFO}${YW} If you installed Portainer, access it at the following URL:${CL}"
 | 
				
			||||||
 | 
					echo -e "${TAB}${GATEWAY}${BGN}https://${IP}:9443${CL}"
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -30,8 +30,8 @@ function update_script() {
 | 
				
			|||||||
    NODE_VERSION="22" NODE_MODULE="pnpm@$(curl -s https://raw.githubusercontent.com/docmost/docmost/main/package.json | jq -r '.packageManager | split("@")[1]')" setup_nodejs
 | 
					    NODE_VERSION="22" NODE_MODULE="pnpm@$(curl -s https://raw.githubusercontent.com/docmost/docmost/main/package.json | jq -r '.packageManager | split("@")[1]')" setup_nodejs
 | 
				
			||||||
  fi
 | 
					  fi
 | 
				
			||||||
  export NODE_OPTIONS="--max_old_space_size=4096"
 | 
					  export NODE_OPTIONS="--max_old_space_size=4096"
 | 
				
			||||||
  RELEASE=$(curl -fsSL https://api.github.com/repos/docmost/docmost/releases/latest | grep "tag_name" | awk '{print substr($2, 3, length($2)-4) }')
 | 
					
 | 
				
			||||||
  if [[ "${RELEASE}" != "$(cat ~/.docmost 2>/dev/null)" ]] || [[ ! -f ~/.docmost ]]; then
 | 
					  if check_for_gh_release "docmost" "docmost/docmost"; then
 | 
				
			||||||
    msg_info "Stopping ${APP}"
 | 
					    msg_info "Stopping ${APP}"
 | 
				
			||||||
    systemctl stop docmost
 | 
					    systemctl stop docmost
 | 
				
			||||||
    msg_ok "${APP} Stopped"
 | 
					    msg_ok "${APP} Stopped"
 | 
				
			||||||
@@ -44,7 +44,7 @@ function update_script() {
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
    fetch_and_deploy_gh_release "docmost" "docmost/docmost"
 | 
					    fetch_and_deploy_gh_release "docmost" "docmost/docmost"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    msg_info "Updating ${APP} to v${RELEASE}"
 | 
					    msg_info "Updating ${APP}"
 | 
				
			||||||
    cd /opt/docmost
 | 
					    cd /opt/docmost
 | 
				
			||||||
    mv /opt/.env /opt/docmost/.env
 | 
					    mv /opt/.env /opt/docmost/.env
 | 
				
			||||||
    mv /opt/data /opt/docmost/data
 | 
					    mv /opt/data /opt/docmost/data
 | 
				
			||||||
@@ -55,10 +55,7 @@ function update_script() {
 | 
				
			|||||||
    msg_info "Starting ${APP}"
 | 
					    msg_info "Starting ${APP}"
 | 
				
			||||||
    systemctl start docmost
 | 
					    systemctl start docmost
 | 
				
			||||||
    msg_ok "Started ${APP}"
 | 
					    msg_ok "Started ${APP}"
 | 
				
			||||||
 | 
					 | 
				
			||||||
    msg_ok "Updated Successfully"
 | 
					    msg_ok "Updated Successfully"
 | 
				
			||||||
  else
 | 
					 | 
				
			||||||
    msg_ok "No update required. ${APP} is already at ${RELEASE}"
 | 
					 | 
				
			||||||
  fi
 | 
					  fi
 | 
				
			||||||
  exit
 | 
					  exit
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -20,31 +20,27 @@ color
 | 
				
			|||||||
catch_errors
 | 
					catch_errors
 | 
				
			||||||
 | 
					
 | 
				
			||||||
function update_script() {
 | 
					function update_script() {
 | 
				
			||||||
    header_info
 | 
					  header_info
 | 
				
			||||||
    check_container_storage
 | 
					  check_container_storage
 | 
				
			||||||
    check_container_resources
 | 
					  check_container_resources
 | 
				
			||||||
    if [[ ! -f /usr/bin/duplicati-server ]]; then
 | 
					  if [[ ! -f /usr/bin/duplicati-server ]]; then
 | 
				
			||||||
        msg_error "No ${APP} Installation Found!"
 | 
					    msg_error "No ${APP} Installation Found!"
 | 
				
			||||||
        exit
 | 
					 | 
				
			||||||
    fi
 | 
					 | 
				
			||||||
    
 | 
					 | 
				
			||||||
    RELEASE=$(curl -fsSL https://api.github.com/repos/duplicati/duplicati/releases/latest | grep "tag_name" | awk '{print substr($2, 3, length($2)-4)}')
 | 
					 | 
				
			||||||
    if [[ "${RELEASE}" != "$(cat ~/.duplicati)" ]] || [[ ! -f ~/.duplicati ]]; then
 | 
					 | 
				
			||||||
        msg_info "Stopping $APP"
 | 
					 | 
				
			||||||
        systemctl stop duplicati
 | 
					 | 
				
			||||||
        msg_ok "Stopped $APP"
 | 
					 | 
				
			||||||
        
 | 
					 | 
				
			||||||
        fetch_and_deploy_gh_release "duplicati" "duplicati/duplicati" "binary" "latest" "/opt/duplicati" "linux-x64-gui.deb"
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
        msg_info "Starting $APP"
 | 
					 | 
				
			||||||
        systemctl start duplicati
 | 
					 | 
				
			||||||
        msg_ok "Started $APP"
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
        msg_ok "Update Successful"
 | 
					 | 
				
			||||||
    else
 | 
					 | 
				
			||||||
        msg_ok "No update required. ${APP} is already at v${RELEASE}"
 | 
					 | 
				
			||||||
    fi
 | 
					 | 
				
			||||||
    exit
 | 
					    exit
 | 
				
			||||||
 | 
					  fi
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  if check_for_gh_release "duplicati" "duplicati/duplicati"; then
 | 
				
			||||||
 | 
					    msg_info "Stopping $APP"
 | 
				
			||||||
 | 
					    systemctl stop duplicati
 | 
				
			||||||
 | 
					    msg_ok "Stopped $APP"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    fetch_and_deploy_gh_release "duplicati" "duplicati/duplicati" "binary" "latest" "/opt/duplicati" "duplicati-*-linux-x64-gui.deb"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    msg_info "Starting $APP"
 | 
				
			||||||
 | 
					    systemctl start duplicati
 | 
				
			||||||
 | 
					    msg_ok "Started $APP"
 | 
				
			||||||
 | 
					    msg_ok "Update Successful"
 | 
				
			||||||
 | 
					  fi
 | 
				
			||||||
 | 
					  exit
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
start
 | 
					start
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -9,7 +9,7 @@ APP="Element Synapse"
 | 
				
			|||||||
var_tags="${var_tags:-server}"
 | 
					var_tags="${var_tags:-server}"
 | 
				
			||||||
var_cpu="${var_cpu:-1}"
 | 
					var_cpu="${var_cpu:-1}"
 | 
				
			||||||
var_ram="${var_ram:-2048}"
 | 
					var_ram="${var_ram:-2048}"
 | 
				
			||||||
var_disk="${var_disk:-4}"
 | 
					var_disk="${var_disk:-8}"
 | 
				
			||||||
var_os="${var_os:-debian}"
 | 
					var_os="${var_os:-debian}"
 | 
				
			||||||
var_version="${var_version:-12}"
 | 
					var_version="${var_version:-12}"
 | 
				
			||||||
var_unprivileged="${var_unprivileged:-1}"
 | 
					var_unprivileged="${var_unprivileged:-1}"
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -28,8 +28,7 @@ function update_script() {
 | 
				
			|||||||
    msg_error "No ${APP} Installation Found!"
 | 
					    msg_error "No ${APP} Installation Found!"
 | 
				
			||||||
    exit
 | 
					    exit
 | 
				
			||||||
  fi
 | 
					  fi
 | 
				
			||||||
  RELEASE=$(curl -fsSL https://api.github.com/repos/MediaBrowser/Emby.Releases/releases/latest | grep '"tag_name":' | cut -d'"' -f4)
 | 
					  if check_for_gh_release "emby" "MediaBrowser/Emby.Releases"; then
 | 
				
			||||||
  if [[ "${RELEASE}" != "$(cat ~/.emby 2>/dev/null)" ]] || [[ ! -f ~/.emby ]]; then
 | 
					 | 
				
			||||||
    msg_info "Stopping ${APP}"
 | 
					    msg_info "Stopping ${APP}"
 | 
				
			||||||
    systemctl stop emby-server
 | 
					    systemctl stop emby-server
 | 
				
			||||||
    msg_ok "Stopped ${APP}"
 | 
					    msg_ok "Stopped ${APP}"
 | 
				
			||||||
@@ -39,10 +38,9 @@ function update_script() {
 | 
				
			|||||||
    msg_info "Starting ${APP}"
 | 
					    msg_info "Starting ${APP}"
 | 
				
			||||||
    systemctl start emby-server
 | 
					    systemctl start emby-server
 | 
				
			||||||
    msg_ok "Started ${APP}"
 | 
					    msg_ok "Started ${APP}"
 | 
				
			||||||
 | 
					 | 
				
			||||||
    msg_ok "Updated Successfully"
 | 
					    msg_ok "Updated Successfully"
 | 
				
			||||||
    exit
 | 
					 | 
				
			||||||
  fi
 | 
					  fi
 | 
				
			||||||
 | 
					  exit
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
start
 | 
					start
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -26,10 +26,7 @@ function update_script() {
 | 
				
			|||||||
    msg_error "No ${APP} Installation Found!"
 | 
					    msg_error "No ${APP} Installation Found!"
 | 
				
			||||||
    exit
 | 
					    exit
 | 
				
			||||||
  fi
 | 
					  fi
 | 
				
			||||||
  RELEASE=$(curl -fsSL https://api.github.com/repos/ErsatzTV/ErsatzTV/releases | grep -oP '"tag_name": "\Kv\K[^"]+' | head -n1)
 | 
					  if check_for_gh_release "ersatztv" "ErsatzTV/ErsatzTV"; then
 | 
				
			||||||
  RELEASE_FFMPEG=$(curl -fsSL https://api.github.com/repos/ErsatzTV/ErsatzTV-ffmpeg/releases | grep -oP '"tag_name": "\K[^"]+' | head -n 1)
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
  if [[ "${RELEASE}" != "$(cat ~/.ersatztv 2>/dev/null)" ]] || [[ ! -f ~/.ersatztv ]]; then
 | 
					 | 
				
			||||||
    msg_info "Stopping ErsatzTV"
 | 
					    msg_info "Stopping ErsatzTV"
 | 
				
			||||||
    systemctl stop ersatzTV
 | 
					    systemctl stop ersatzTV
 | 
				
			||||||
    msg_ok "Stopped ErsatzTV"
 | 
					    msg_ok "Stopped ErsatzTV"
 | 
				
			||||||
@@ -41,11 +38,9 @@ function update_script() {
 | 
				
			|||||||
    msg_ok "Started ErsatzTV"
 | 
					    msg_ok "Started ErsatzTV"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    msg_ok "Updated Successfully"
 | 
					    msg_ok "Updated Successfully"
 | 
				
			||||||
  else
 | 
					 | 
				
			||||||
    msg_ok "No update required. ${APP} is already at ${RELEASE}"
 | 
					 | 
				
			||||||
  fi
 | 
					  fi
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  if [[ "${RELEASE_FFMPEG}" != "$(cat ~/.ersatztv-ffmpeg 2>/dev/null)" ]] || [[ ! -f ~/.ersatztv-ffmpeg ]]; then
 | 
					  if check_for_gh_release "ersatztv-ffmpeg" "ErsatzTV/ErsatzTV-ffmpeg"; then
 | 
				
			||||||
    msg_info "Stopping ErsatzTV"
 | 
					    msg_info "Stopping ErsatzTV"
 | 
				
			||||||
    systemctl stop ersatzTV
 | 
					    systemctl stop ersatzTV
 | 
				
			||||||
    msg_ok "Stopped ErsatzTV"
 | 
					    msg_ok "Stopped ErsatzTV"
 | 
				
			||||||
@@ -62,10 +57,7 @@ function update_script() {
 | 
				
			|||||||
    msg_info "Starting ErsatzTV"
 | 
					    msg_info "Starting ErsatzTV"
 | 
				
			||||||
    systemctl start ersatzTV
 | 
					    systemctl start ersatzTV
 | 
				
			||||||
    msg_ok "Started ErsatzTV"
 | 
					    msg_ok "Started ErsatzTV"
 | 
				
			||||||
 | 
					 | 
				
			||||||
    msg_ok "Updated Successfully"
 | 
					    msg_ok "Updated Successfully"
 | 
				
			||||||
  else
 | 
					 | 
				
			||||||
    msg_ok "No update required. ErsatzTV-ffmpeg is already at ${RELEASE_FFMPEG}"
 | 
					 | 
				
			||||||
  fi
 | 
					  fi
 | 
				
			||||||
  exit
 | 
					  exit
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -9,7 +9,7 @@ APP="ESPHome"
 | 
				
			|||||||
var_tags="${var_tags:-automation}"
 | 
					var_tags="${var_tags:-automation}"
 | 
				
			||||||
var_cpu="${var_cpu:-2}"
 | 
					var_cpu="${var_cpu:-2}"
 | 
				
			||||||
var_ram="${var_ram:-1024}"
 | 
					var_ram="${var_ram:-1024}"
 | 
				
			||||||
var_disk="${var_disk:-4}"
 | 
					var_disk="${var_disk:-10}"
 | 
				
			||||||
var_os="${var_os:-debian}"
 | 
					var_os="${var_os:-debian}"
 | 
				
			||||||
var_version="${var_version:-12}"
 | 
					var_version="${var_version:-12}"
 | 
				
			||||||
var_unprivileged="${var_unprivileged:-1}"
 | 
					var_unprivileged="${var_unprivileged:-1}"
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -28,8 +28,7 @@ function update_script() {
 | 
				
			|||||||
    msg_error "No ${APP} Installation Found!"
 | 
					    msg_error "No ${APP} Installation Found!"
 | 
				
			||||||
    exit
 | 
					    exit
 | 
				
			||||||
  fi
 | 
					  fi
 | 
				
			||||||
  RELEASE=$(curl -fsSL https://api.github.com/repos/excalidraw/excalidraw/releases/latest | grep "tag_name" | awk '{print substr($2, 3, length($2)-4) }')
 | 
					  if check_for_gh_release "excalidraw" "excalidraw/excalidraw"; then
 | 
				
			||||||
  if [[ "${RELEASE}" != "$(cat ~/.excalidraw 2>/dev/null)" ]] || [[ ! -f ~/.excalidraw ]]; then
 | 
					 | 
				
			||||||
    msg_info "Stopping $APP"
 | 
					    msg_info "Stopping $APP"
 | 
				
			||||||
    systemctl stop excalidraw
 | 
					    systemctl stop excalidraw
 | 
				
			||||||
    msg_ok "Stopped $APP"
 | 
					    msg_ok "Stopped $APP"
 | 
				
			||||||
@@ -37,18 +36,15 @@ function update_script() {
 | 
				
			|||||||
    rm -rf /opt/excalidraw
 | 
					    rm -rf /opt/excalidraw
 | 
				
			||||||
    fetch_and_deploy_gh_release "excalidraw" "excalidraw/excalidraw"
 | 
					    fetch_and_deploy_gh_release "excalidraw" "excalidraw/excalidraw"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    msg_info "Updating $APP to v${RELEASE}"
 | 
					    msg_info "Updating $APP"
 | 
				
			||||||
    cd /opt/excalidraw
 | 
					    cd /opt/excalidraw
 | 
				
			||||||
    $STD yarn
 | 
					    $STD yarn
 | 
				
			||||||
    msg_ok "Updated $APP to v${RELEASE}"
 | 
					    msg_ok "Updated $APP"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    msg_info "Starting $APP"
 | 
					    msg_info "Starting $APP"
 | 
				
			||||||
    systemctl start excalidraw
 | 
					    systemctl start excalidraw
 | 
				
			||||||
    msg_ok "Started $APP"
 | 
					    msg_ok "Started $APP"
 | 
				
			||||||
 | 
					    msg_ok "Updated Successfully"
 | 
				
			||||||
    msg_ok "Update Successful"
 | 
					 | 
				
			||||||
  else
 | 
					 | 
				
			||||||
    msg_ok "No update required. ${APP} is already at v${RELEASE}"
 | 
					 | 
				
			||||||
  fi
 | 
					  fi
 | 
				
			||||||
  exit
 | 
					  exit
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -28,8 +28,7 @@ function update_script() {
 | 
				
			|||||||
    msg_error "No ${APP} Installation Found!"
 | 
					    msg_error "No ${APP} Installation Found!"
 | 
				
			||||||
    exit
 | 
					    exit
 | 
				
			||||||
  fi
 | 
					  fi
 | 
				
			||||||
  RELEASE=$(curl -fsSL https://api.github.com/repos/firefly-iii/firefly-iii/releases/latest | grep "tag_name" | awk '{print substr($2, 3, length($2)-4)}')
 | 
					  if check_for_gh_release "firefly" "firefly-iii/firefly-iii"; then
 | 
				
			||||||
  if [[ "${RELEASE}" != "$(cat ~/.firefly 2>/dev/null)" ]] || [[ ! -f ~/.firefly ]]; then
 | 
					 | 
				
			||||||
    msg_info "Stopping Apache2"
 | 
					    msg_info "Stopping Apache2"
 | 
				
			||||||
    systemctl stop apache2
 | 
					    systemctl stop apache2
 | 
				
			||||||
    msg_ok "Stopped Apache2"
 | 
					    msg_ok "Stopped Apache2"
 | 
				
			||||||
@@ -42,11 +41,11 @@ function update_script() {
 | 
				
			|||||||
    fetch_and_deploy_gh_release "firefly" "firefly-iii/firefly-iii" "prebuild" "latest" "/opt/firefly" "FireflyIII-*.zip"
 | 
					    fetch_and_deploy_gh_release "firefly" "firefly-iii/firefly-iii" "prebuild" "latest" "/opt/firefly" "FireflyIII-*.zip"
 | 
				
			||||||
    setup_composer
 | 
					    setup_composer
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    msg_info "Updating ${APP} to v${RELEASE}"
 | 
					    msg_info "Updating ${APP}"
 | 
				
			||||||
    rm -rf /opt/firefly/storage
 | 
					    rm -rf /opt/firefly/storage
 | 
				
			||||||
    cp /opt/.env /opt/firefly/.env
 | 
					    cp /opt/.env /opt/firefly/.env
 | 
				
			||||||
    cp -r /opt/storage /opt/firefly/storage
 | 
					    cp -r /opt/storage /opt/firefly/storage
 | 
				
			||||||
    
 | 
					
 | 
				
			||||||
    chown -R www-data:www-data /opt/firefly
 | 
					    chown -R www-data:www-data /opt/firefly
 | 
				
			||||||
    find /opt/firefly/storage -type d -exec chmod 775 {} \;
 | 
					    find /opt/firefly/storage -type d -exec chmod 775 {} \;
 | 
				
			||||||
    find /opt/firefly/storage -type f -exec chmod 664 {} \;
 | 
					    find /opt/firefly/storage -type f -exec chmod 664 {} \;
 | 
				
			||||||
@@ -58,15 +57,12 @@ function update_script() {
 | 
				
			|||||||
    $STD php artisan view:clear
 | 
					    $STD php artisan view:clear
 | 
				
			||||||
    $STD php artisan firefly-iii:upgrade-database
 | 
					    $STD php artisan firefly-iii:upgrade-database
 | 
				
			||||||
    $STD php artisan firefly-iii:laravel-passport-keys
 | 
					    $STD php artisan firefly-iii:laravel-passport-keys
 | 
				
			||||||
    msg_ok "Updated ${APP} to v${RELEASE}"
 | 
					    msg_ok "Updated ${APP}"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    msg_info "Starting Apache2"
 | 
					    msg_info "Starting Apache2"
 | 
				
			||||||
    systemctl start apache2
 | 
					    systemctl start apache2
 | 
				
			||||||
    msg_ok "Started Apache2"
 | 
					    msg_ok "Started Apache2"
 | 
				
			||||||
 | 
					 | 
				
			||||||
    msg_ok "Updated Successfully"
 | 
					    msg_ok "Updated Successfully"
 | 
				
			||||||
  else
 | 
					 | 
				
			||||||
    msg_ok "No update required. ${APP} is already at v${RELEASE}."
 | 
					 | 
				
			||||||
  fi
 | 
					  fi
 | 
				
			||||||
  exit
 | 
					  exit
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -28,20 +28,17 @@ function update_script() {
 | 
				
			|||||||
    msg_error "No ${APP} Installation Found!"
 | 
					    msg_error "No ${APP} Installation Found!"
 | 
				
			||||||
    exit
 | 
					    exit
 | 
				
			||||||
  fi
 | 
					  fi
 | 
				
			||||||
  RELEASE=$(curl -fsSL https://api.github.com/repos/FlareSolverr/FlareSolverr/releases/latest | grep "tag_name" | awk '{print substr($2, 3, length($2)-4)}')
 | 
					  if check_for_gh_release "flaresolverr" "FlareSolverr/FlareSolverr" "3.3.5"; then
 | 
				
			||||||
  if [[ "${RELEASE}" != "$(cat ~/.flaresolverr 2>/dev/null)" ]] || [[ ! -f ~/.flaresolverr ]]; then
 | 
					 | 
				
			||||||
    msg_info "Stopping service"
 | 
					    msg_info "Stopping service"
 | 
				
			||||||
    systemctl stop flaresolverr
 | 
					    systemctl stop flaresolverr
 | 
				
			||||||
    msg_ok "Stopped service"
 | 
					    msg_ok "Stopped service"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    rm -rf /opt/flaresolverr
 | 
					    rm -rf /opt/flaresolverr
 | 
				
			||||||
    fetch_and_deploy_gh_release "flaresolverr" "FlareSolverr/FlareSolverr" "prebuild" "latest" "/opt/flaresolverr" "flaresolverr_linux_x64.tar.gz"
 | 
					    fetch_and_deploy_gh_release "flaresolverr" "FlareSolverr/FlareSolverr" "prebuild" "v3.3.25" "/opt/flaresolverr" "flaresolverr_linux_x64.tar.gz"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    msg_info "Starting service"
 | 
					    msg_info "Starting service"
 | 
				
			||||||
    systemctl start flaresolverr
 | 
					    systemctl start flaresolverr
 | 
				
			||||||
    msg_ok "Started service"
 | 
					    msg_ok "Started service"
 | 
				
			||||||
  else
 | 
					 | 
				
			||||||
    msg_ok "No update required. ${APP} is already at ${RELEASE}"
 | 
					 | 
				
			||||||
  fi
 | 
					  fi
 | 
				
			||||||
  exit
 | 
					  exit
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -28,8 +28,7 @@ function update_script() {
 | 
				
			|||||||
    msg_error "No ${APP} Installation Found!"
 | 
					    msg_error "No ${APP} Installation Found!"
 | 
				
			||||||
    exit
 | 
					    exit
 | 
				
			||||||
  fi
 | 
					  fi
 | 
				
			||||||
  RELEASE=$(curl -fsSL https://api.github.com/repos/dotnetfactory/fluid-calendar/releases/latest | grep "tag_name" | awk '{print substr($2, 3, length($2)-4) }')
 | 
					  if check_for_gh_release "fluid-calendar" "dotnetfactory/fluid-calendar"; then
 | 
				
			||||||
  if [[ "${RELEASE}" != "$(cat ~/.fluid-calendar 2>/dev/null)" ]] || [[ ! -f ~/.fluid-calendar ]]; then
 | 
					 | 
				
			||||||
    msg_info "Stopping $APP"
 | 
					    msg_info "Stopping $APP"
 | 
				
			||||||
    systemctl stop fluid-calendar
 | 
					    systemctl stop fluid-calendar
 | 
				
			||||||
    msg_ok "Stopped $APP"
 | 
					    msg_ok "Stopped $APP"
 | 
				
			||||||
@@ -38,7 +37,7 @@ function update_script() {
 | 
				
			|||||||
    rm -rf /opt/fluid-calendar
 | 
					    rm -rf /opt/fluid-calendar
 | 
				
			||||||
    fetch_and_deploy_gh_release "fluid-calendar" "dotnetfactory/fluid-calendar"
 | 
					    fetch_and_deploy_gh_release "fluid-calendar" "dotnetfactory/fluid-calendar"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    msg_info "Updating $APP to v${RELEASE}"
 | 
					    msg_info "Updating $APP"
 | 
				
			||||||
    mv /opt/fluid.env /opt/fluid-calendar/.env
 | 
					    mv /opt/fluid.env /opt/fluid-calendar/.env
 | 
				
			||||||
    cd /opt/fluid-calendar
 | 
					    cd /opt/fluid-calendar
 | 
				
			||||||
    export NEXT_TELEMETRY_DISABLED=1
 | 
					    export NEXT_TELEMETRY_DISABLED=1
 | 
				
			||||||
@@ -46,15 +45,12 @@ function update_script() {
 | 
				
			|||||||
    $STD npm run prisma:generate
 | 
					    $STD npm run prisma:generate
 | 
				
			||||||
    $STD npx prisma migrate deploy
 | 
					    $STD npx prisma migrate deploy
 | 
				
			||||||
    $STD npm run build:os
 | 
					    $STD npm run build:os
 | 
				
			||||||
    msg_ok "Updated $APP to v${RELEASE}"
 | 
					    msg_ok "Updated $APP"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    msg_info "Starting $APP"
 | 
					    msg_info "Starting $APP"
 | 
				
			||||||
    systemctl start fluid-calendar
 | 
					    systemctl start fluid-calendar
 | 
				
			||||||
    msg_ok "Started $APP"
 | 
					    msg_ok "Started $APP"
 | 
				
			||||||
 | 
					 | 
				
			||||||
    msg_ok "Update Successful"
 | 
					    msg_ok "Update Successful"
 | 
				
			||||||
  else
 | 
					 | 
				
			||||||
    msg_ok "No update required. ${APP} is already at v${RELEASE}"
 | 
					 | 
				
			||||||
  fi
 | 
					  fi
 | 
				
			||||||
  exit
 | 
					  exit
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 
 | 
				
			|||||||
							
								
								
									
										17
									
								
								ct/gatus.sh
									
									
									
									
									
								
							
							
						
						
									
										17
									
								
								ct/gatus.sh
									
									
									
									
									
								
							@@ -28,33 +28,32 @@ function update_script() {
 | 
				
			|||||||
    msg_error "No ${APP} Installation Found!"
 | 
					    msg_error "No ${APP} Installation Found!"
 | 
				
			||||||
    exit
 | 
					    exit
 | 
				
			||||||
  fi
 | 
					  fi
 | 
				
			||||||
  RELEASE=$(curl -s https://api.github.com/repos/TwiN/gatus/releases/latest | grep "tag_name" | awk '{print substr($2, 3, length($2)-4) }')
 | 
					  if check_for_gh_release "gatus" "TwiN/gatus"; then
 | 
				
			||||||
  if [[ "${RELEASE}" != "$(cat ~/.gatus 2>/dev/null)" ]] || [[ ! -f ~/.gatus ]]; then
 | 
					 | 
				
			||||||
    msg_info "Updating $APP"
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
    msg_info "Stopping $APP"
 | 
					    msg_info "Stopping $APP"
 | 
				
			||||||
    systemctl stop gatus
 | 
					    systemctl stop gatus
 | 
				
			||||||
    msg_ok "Stopped $APP"
 | 
					    msg_ok "Stopped $APP"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    if [[ :$PATH: != *":/usr/local/bin:"* ]]; then
 | 
				
			||||||
 | 
					      echo 'export PATH="/usr/local/bin:$PATH"' >>~/.bashrc
 | 
				
			||||||
 | 
					      source ~/.bashrc
 | 
				
			||||||
 | 
					    fi
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    mv /opt/gatus/config/config.yaml /opt
 | 
					    mv /opt/gatus/config/config.yaml /opt
 | 
				
			||||||
    rm -rf /opt/gatus
 | 
					    rm -rf /opt/gatus
 | 
				
			||||||
    fetch_and_deploy_gh_release "gatus" "TwiN/gatus"
 | 
					    fetch_and_deploy_gh_release "gatus" "TwiN/gatus"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    msg_info "Updating $APP to v${RELEASE}"
 | 
					    msg_info "Updating $APP"
 | 
				
			||||||
    cd /opt/gatus
 | 
					    cd /opt/gatus
 | 
				
			||||||
    $STD go mod tidy
 | 
					    $STD go mod tidy
 | 
				
			||||||
    CGO_ENABLED=0 GOOS=linux go build -a -installsuffix cgo -o gatus .
 | 
					    CGO_ENABLED=0 GOOS=linux go build -a -installsuffix cgo -o gatus .
 | 
				
			||||||
    setcap CAP_NET_RAW+ep gatus
 | 
					    setcap CAP_NET_RAW+ep gatus
 | 
				
			||||||
    mv /opt/config.yaml config
 | 
					    mv /opt/config.yaml config
 | 
				
			||||||
    msg_ok "Updated $APP to v${RELEASE}"
 | 
					    msg_ok "Updated $APP"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    msg_info "Starting $APP"
 | 
					    msg_info "Starting $APP"
 | 
				
			||||||
    systemctl start gatus
 | 
					    systemctl start gatus
 | 
				
			||||||
    msg_ok "Started $APP"
 | 
					    msg_ok "Started $APP"
 | 
				
			||||||
 | 
					 | 
				
			||||||
    msg_ok "Update Successful"
 | 
					    msg_ok "Update Successful"
 | 
				
			||||||
  else
 | 
					 | 
				
			||||||
    msg_ok "No update required. ${APP} is already at v${RELEASE}"
 | 
					 | 
				
			||||||
  fi
 | 
					  fi
 | 
				
			||||||
  exit
 | 
					  exit
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -32,25 +32,54 @@ function update_script() {
 | 
				
			|||||||
  APP_VERSION=$(grep -o '"version": *"[^"]*"' /opt/gitea-mirror/package.json | cut -d'"' -f4)
 | 
					  APP_VERSION=$(grep -o '"version": *"[^"]*"' /opt/gitea-mirror/package.json | cut -d'"' -f4)
 | 
				
			||||||
  if [[ $APP_VERSION =~ ^2\. ]]; then
 | 
					  if [[ $APP_VERSION =~ ^2\. ]]; then
 | 
				
			||||||
    if ! whiptail --backtitle "Gitea Mirror Update" --title "⚠️  VERSION 2.x DETECTED" --yesno \
 | 
					    if ! whiptail --backtitle "Gitea Mirror Update" --title "⚠️  VERSION 2.x DETECTED" --yesno \
 | 
				
			||||||
      "WARNING: Version $APP_VERSION detected!\n\nUpdating from version 2.x will CLEAR ALL CONFIGURATION.\n\nThis includes:\n• API tokens\n• User settings\n• Repository configurations\n• All custom settings\n\nDo you want to continue with the update process?" 15 70 --defaultno
 | 
					      "WARNING: Version $APP_VERSION detected!\n\nUpdating from version 2.x will CLEAR ALL CONFIGURATION.\n\nThis includes:\n• API tokens\n• User settings\n• Repository configurations\n• All custom settings\n\nDo you want to continue with the update process?" 15 70 --defaultno; then
 | 
				
			||||||
    then
 | 
					 | 
				
			||||||
      exit 0
 | 
					      exit 0
 | 
				
			||||||
    fi
 | 
					    fi
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    if ! whiptail --backtitle "Gitea Mirror Update" --title "⚠️  FINAL CONFIRMATION" --yesno \
 | 
					    if ! whiptail --backtitle "Gitea Mirror Update" --title "⚠️  FINAL CONFIRMATION" --yesno \
 | 
				
			||||||
        "FINAL WARNING: This update WILL clear all configuration!\n\nBEFORE PROCEEDING, please:\n\n• Copy API tokens to a safe location\n• Backup any custom configurations\n• Note down repository settings\n\nThis action CANNOT be undone!" 18 70 --defaultno 
 | 
					      "FINAL WARNING: This update WILL clear all configuration!\n\nBEFORE PROCEEDING, please:\n\n• Copy API tokens to a safe location\n• Backup any custom configurations\n• Note down repository settings\n\nThis action CANNOT be undone!" 18 70 --defaultno; then
 | 
				
			||||||
    then
 | 
					      whiptail --backtitle "Gitea Mirror Update" --title "Update Cancelled" --msgbox "Update process cancelled. Please backup your configuration before proceeding." 8 60
 | 
				
			||||||
        whiptail --backtitle "Gitea Mirror Update" --title "Update Cancelled" --msgbox "Update process cancelled. Please backup your configuration before proceeding." 8 60
 | 
					      exit 0
 | 
				
			||||||
        exit 0
 | 
					 | 
				
			||||||
    fi
 | 
					    fi
 | 
				
			||||||
    whiptail --backtitle "Gitea Mirror Update" --title "Proceeding with Update" --msgbox \
 | 
					    whiptail --backtitle "Gitea Mirror Update" --title "Proceeding with Update" --msgbox \
 | 
				
			||||||
        "Proceeding with version $APP_VERSION update.\n\nAll configuration will be cleared as warned." 8 50
 | 
					      "Proceeding with version $APP_VERSION update.\n\nAll configuration will be cleared as warned." 8 50
 | 
				
			||||||
    rm -rf /opt/gitea-mirror
 | 
					    rm -rf /opt/gitea-mirror
 | 
				
			||||||
  fi
 | 
					  fi
 | 
				
			||||||
  
 | 
					 | 
				
			||||||
  RELEASE=$(curl -fsSL https://api.github.com/repos/RayLabsHQ/gitea-mirror/releases/latest | grep "tag_name" | awk '{print substr($2, 3, length($2)-4) }')
 | 
					 | 
				
			||||||
  if [[ "${RELEASE}" != "$(cat ~/.${APP} 2>/dev/null || cat /opt/${APP}_version.txt 2>/dev/null)" ]]; then
 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  if [[ ! -f /opt/gitea-mirror.env ]]; then
 | 
				
			||||||
 | 
					      msg_info "Detected old Enviroment, updating files"
 | 
				
			||||||
 | 
					      APP_SECRET=$(openssl rand -base64 32)
 | 
				
			||||||
 | 
					      HOST_IP=$(hostname -I | awk '{print $1}')
 | 
				
			||||||
 | 
					      cat <<EOF >/opt/gitea-mirror.env
 | 
				
			||||||
 | 
					# See here for config options: https://github.com/RayLabsHQ/gitea-mirror/blob/main/docs/ENVIRONMENT_VARIABLES.md
 | 
				
			||||||
 | 
					NODE_ENV=production
 | 
				
			||||||
 | 
					HOST=0.0.0.0
 | 
				
			||||||
 | 
					PORT=4321
 | 
				
			||||||
 | 
					DATABASE_URL=sqlite://data/gitea-mirror.db
 | 
				
			||||||
 | 
					BETTER_AUTH_URL=http://${HOST_IP}:4321
 | 
				
			||||||
 | 
					BETTER_AUTH_SECRET=${APP_SECRET}
 | 
				
			||||||
 | 
					npm_package_version=${APP_VERSION}
 | 
				
			||||||
 | 
					EOF
 | 
				
			||||||
 | 
					    rm /etc/systemd/system/gitea-mirror.service
 | 
				
			||||||
 | 
					    cat <<EOF >/etc/systemd/system/gitea-mirror.service
 | 
				
			||||||
 | 
					[Unit]
 | 
				
			||||||
 | 
					Description=Gitea Mirror
 | 
				
			||||||
 | 
					After=network.target
 | 
				
			||||||
 | 
					[Service]
 | 
				
			||||||
 | 
					Type=simple
 | 
				
			||||||
 | 
					WorkingDirectory=/opt/gitea-mirror
 | 
				
			||||||
 | 
					ExecStart=/usr/local/bin/bun dist/server/entry.mjs
 | 
				
			||||||
 | 
					Restart=on-failure
 | 
				
			||||||
 | 
					RestartSec=10
 | 
				
			||||||
 | 
					EnvironmentFile=/opt/gitea-mirror.env
 | 
				
			||||||
 | 
					[Install]
 | 
				
			||||||
 | 
					WantedBy=multi-user.target
 | 
				
			||||||
 | 
					EOF
 | 
				
			||||||
 | 
					    systemctl daemon-reload
 | 
				
			||||||
 | 
					    msg_ok "Old Enviroment fixed"
 | 
				
			||||||
 | 
					fi
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  if check_for_gh_release "gitea-mirror" "RayLabsHQ/gitea-mirror"; then
 | 
				
			||||||
    msg_info "Stopping Services"
 | 
					    msg_info "Stopping Services"
 | 
				
			||||||
    systemctl stop gitea-mirror
 | 
					    systemctl stop gitea-mirror
 | 
				
			||||||
    msg_ok "Services Stopped"
 | 
					    msg_ok "Services Stopped"
 | 
				
			||||||
@@ -70,25 +99,23 @@ function update_script() {
 | 
				
			|||||||
    rm -rf /opt/gitea-mirror
 | 
					    rm -rf /opt/gitea-mirror
 | 
				
			||||||
    fetch_and_deploy_gh_release "gitea-mirror" "RayLabsHQ/gitea-mirror"
 | 
					    fetch_and_deploy_gh_release "gitea-mirror" "RayLabsHQ/gitea-mirror"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    msg_info "Updating and rebuilding ${APP} to v${RELEASE}"
 | 
					    msg_info "Updating and rebuilding ${APP}"
 | 
				
			||||||
    cd /opt/gitea-mirror
 | 
					    cd /opt/gitea-mirror
 | 
				
			||||||
    $STD bun run setup
 | 
					    $STD bun run setup
 | 
				
			||||||
    $STD bun run build
 | 
					    $STD bun run build
 | 
				
			||||||
    APP_VERSION=$(grep -o '"version": *"[^"]*"' package.json | cut -d'"' -f4)
 | 
					    APP_VERSION=$(grep -o '"version": *"[^"]*"' package.json | cut -d'"' -f4)
 | 
				
			||||||
    sudo sed -i.bak "s|^Environment=npm_package_version=.*|Environment=npm_package_version=${APP_VERSION}|" /etc/systemd/system/gitea-mirror.service
 | 
					
 | 
				
			||||||
    msg_ok "Updated and rebuilt ${APP} to v${RELEASE}"
 | 
					    sudo sed -i.bak "s|^npm_package_version=.*|npm_package_version=${APP_VERSION}|" /opt/gitea-mirror.env
 | 
				
			||||||
 | 
					    msg_ok "Updated and rebuilt ${APP}"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    msg_info "Restoring Data"
 | 
					    msg_info "Restoring Data"
 | 
				
			||||||
    cp /opt/gitea-mirror-backup/data/* /opt/gitea-mirror/data
 | 
					    cp /opt/gitea-mirror-backup/data/* /opt/gitea-mirror/data
 | 
				
			||||||
    echo "${RELEASE}" >/opt/${APP}_version.txt
 | 
					 | 
				
			||||||
    msg_ok "Restored Data"
 | 
					    msg_ok "Restored Data"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    msg_info "Starting Service"
 | 
					    msg_info "Starting Service"
 | 
				
			||||||
    systemctl daemon-reload
 | 
					 | 
				
			||||||
    systemctl start gitea-mirror
 | 
					    systemctl start gitea-mirror
 | 
				
			||||||
    msg_ok "Service Started"
 | 
					    msg_ok "Service Started"
 | 
				
			||||||
  else
 | 
					    msg_ok "Update Successfully"
 | 
				
			||||||
    msg_ok "No update required. ${APP} is already at v${RELEASE}"
 | 
					 | 
				
			||||||
  fi
 | 
					  fi
 | 
				
			||||||
  exit
 | 
					  exit
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -28,8 +28,7 @@ function update_script() {
 | 
				
			|||||||
    msg_error "No ${APP} Installation Found!"
 | 
					    msg_error "No ${APP} Installation Found!"
 | 
				
			||||||
    exit
 | 
					    exit
 | 
				
			||||||
  fi
 | 
					  fi
 | 
				
			||||||
  RELEASE=$(curl -fsSL https://github.com/go-gitea/gitea/releases/latest | grep "title>Release" | cut -d " " -f 4 | sed 's/^v//')
 | 
					  if check_for_gh_release "gitea" "go-gitea/gitea"; then
 | 
				
			||||||
  if [[ "${RELEASE}" != "$(cat ~/.gitea 2>/dev/null)" ]] || [[ ! -f ~/.gitea ]]; then
 | 
					 | 
				
			||||||
    msg_info "Stopping service"
 | 
					    msg_info "Stopping service"
 | 
				
			||||||
    systemctl stop gitea
 | 
					    systemctl stop gitea
 | 
				
			||||||
    msg_ok "Service stopped"
 | 
					    msg_ok "Service stopped"
 | 
				
			||||||
@@ -41,10 +40,7 @@ function update_script() {
 | 
				
			|||||||
    msg_info "Starting service"
 | 
					    msg_info "Starting service"
 | 
				
			||||||
    systemctl start gitea
 | 
					    systemctl start gitea
 | 
				
			||||||
    msg_ok "Started service"
 | 
					    msg_ok "Started service"
 | 
				
			||||||
 | 
					 | 
				
			||||||
    msg_ok "Update Successful"
 | 
					    msg_ok "Update Successful"
 | 
				
			||||||
  else
 | 
					 | 
				
			||||||
    msg_ok "No update required. ${APP} is already at ${RELEASE}"
 | 
					 | 
				
			||||||
  fi
 | 
					  fi
 | 
				
			||||||
  exit
 | 
					  exit
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -28,8 +28,7 @@ function update_script() {
 | 
				
			|||||||
    msg_error "No ${APP} Installation Found!"
 | 
					    msg_error "No ${APP} Installation Found!"
 | 
				
			||||||
    exit
 | 
					    exit
 | 
				
			||||||
  fi
 | 
					  fi
 | 
				
			||||||
  RELEASE=$(curl -fsSL https://api.github.com/repos/glanceapp/glance/releases/latest | grep "tag_name" | awk '{print substr($2, 3, length($2)-4) }')
 | 
					  if check_for_gh_release "glance" "glanceapp/glance"; then
 | 
				
			||||||
  if [[ "${RELEASE}" != "$(cat ~/.glance 2>/dev/null)" ]] || [[ ! -f ~/.glance ]]; then
 | 
					 | 
				
			||||||
    msg_info "Stopping Service"
 | 
					    msg_info "Stopping Service"
 | 
				
			||||||
    systemctl stop glance
 | 
					    systemctl stop glance
 | 
				
			||||||
    msg_ok "Stopped Service"
 | 
					    msg_ok "Stopped Service"
 | 
				
			||||||
@@ -40,10 +39,7 @@ function update_script() {
 | 
				
			|||||||
    msg_info "Starting Service"
 | 
					    msg_info "Starting Service"
 | 
				
			||||||
    systemctl start glance
 | 
					    systemctl start glance
 | 
				
			||||||
    msg_ok "Started Service"
 | 
					    msg_ok "Started Service"
 | 
				
			||||||
 | 
					 | 
				
			||||||
    msg_ok "Updated Successfully"
 | 
					    msg_ok "Updated Successfully"
 | 
				
			||||||
  else
 | 
					 | 
				
			||||||
    msg_ok "No update required. ${APP} is already at v${RELEASE}."
 | 
					 | 
				
			||||||
  fi
 | 
					  fi
 | 
				
			||||||
  exit
 | 
					  exit
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 
 | 
				
			|||||||
							
								
								
									
										43
									
								
								ct/globaleaks.sh
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										43
									
								
								ct/globaleaks.sh
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,43 @@
 | 
				
			|||||||
 | 
					#!/usr/bin/env bash
 | 
				
			||||||
 | 
					source <(curl -fsSL https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/misc/build.func)
 | 
				
			||||||
 | 
					# Copyright (c) 2021-2025 communtiy-scripts ORG
 | 
				
			||||||
 | 
					# Author: Giovanni Pellerano (evilaliv3)
 | 
				
			||||||
 | 
					# License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE
 | 
				
			||||||
 | 
					# Source: https://github.com/globaleaks/globaleaks-whistleblowing-software
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					APP="GlobaLeaks"
 | 
				
			||||||
 | 
					var_tags="${var_tags:-whistleblowing-software}"
 | 
				
			||||||
 | 
					var_disk="${var_disk:-4}"
 | 
				
			||||||
 | 
					var_cpu="${var_cpu:-2}"
 | 
				
			||||||
 | 
					var_ram="${var_ram:-2048}"
 | 
				
			||||||
 | 
					var_os="${var_os:-debian}"
 | 
				
			||||||
 | 
					var_version="${var_version:-13}"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					header_info "$APP"
 | 
				
			||||||
 | 
					variables
 | 
				
			||||||
 | 
					color
 | 
				
			||||||
 | 
					catch_errors
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					function update_script() {
 | 
				
			||||||
 | 
					  header_info
 | 
				
			||||||
 | 
					  check_container_storage
 | 
				
			||||||
 | 
					  check_container_resources
 | 
				
			||||||
 | 
					  if [[ ! -f /usr/sbin/globaleaks ]]; then
 | 
				
			||||||
 | 
					    msg_error "No ${APP} installation found!"
 | 
				
			||||||
 | 
					    exit
 | 
				
			||||||
 | 
					  fi
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  msg_info "Updating $APP LXC"
 | 
				
			||||||
 | 
					  $STD apt update
 | 
				
			||||||
 | 
					  $STD apt -y upgrade
 | 
				
			||||||
 | 
					  msg_ok "Updated $APP LXC"
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					start
 | 
				
			||||||
 | 
					build_container
 | 
				
			||||||
 | 
					description
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					msg_ok "Completed Successfully!\n"
 | 
				
			||||||
 | 
					echo -e "${CREATING}${GN} ${APP} setup has been successfully initialized!${CL}"
 | 
				
			||||||
 | 
					echo -e "${INFO}${YW} Access it using the following URL:${CL}"
 | 
				
			||||||
 | 
					echo -e "${TAB}${GATEWAY}${BGN}https://${IP}${CL}"
 | 
				
			||||||
@@ -28,8 +28,7 @@ function update_script() {
 | 
				
			|||||||
    exit
 | 
					    exit
 | 
				
			||||||
  fi
 | 
					  fi
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  RELEASE=$(curl -fsSL https://api.github.com/repos/AlexxIT/go2rtc/releases/latest | grep "tag_name" | awk '{print substr($2, 3, length($2)-4) }')
 | 
					  if check_for_gh_release "go2rtc" "AlexxIT/go2rtc"; then
 | 
				
			||||||
  if [[ "${RELEASE}" != "$(cat ~/.go2rtc 2>/dev/null)" ]] || [[ ! -f ~/.go2rtc ]]; then
 | 
					 | 
				
			||||||
    msg_info "Stopping service"
 | 
					    msg_info "Stopping service"
 | 
				
			||||||
    systemctl stop go2rtc
 | 
					    systemctl stop go2rtc
 | 
				
			||||||
    msg_ok "Stopped service"
 | 
					    msg_ok "Stopped service"
 | 
				
			||||||
@@ -39,10 +38,7 @@ function update_script() {
 | 
				
			|||||||
    msg_info "Starting service"
 | 
					    msg_info "Starting service"
 | 
				
			||||||
    systemctl start go2rtc
 | 
					    systemctl start go2rtc
 | 
				
			||||||
    msg_ok "Started service"
 | 
					    msg_ok "Started service"
 | 
				
			||||||
 | 
					 | 
				
			||||||
    msg_ok "Updated Successfully"
 | 
					    msg_ok "Updated Successfully"
 | 
				
			||||||
  else
 | 
					 | 
				
			||||||
    msg_ok "No update required. ${APP} is already at ${RELEASE}"
 | 
					 | 
				
			||||||
  fi
 | 
					  fi
 | 
				
			||||||
  exit
 | 
					  exit
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 
 | 
				
			|||||||
							
								
								
									
										24
									
								
								ct/gokapi.sh
									
									
									
									
									
								
							
							
						
						
									
										24
									
								
								ct/gokapi.sh
									
									
									
									
									
								
							@@ -20,19 +20,14 @@ color
 | 
				
			|||||||
catch_errors
 | 
					catch_errors
 | 
				
			||||||
 | 
					
 | 
				
			||||||
function update_script() {
 | 
					function update_script() {
 | 
				
			||||||
   header_info
 | 
					  header_info
 | 
				
			||||||
   check_container_storage
 | 
					  check_container_storage
 | 
				
			||||||
   check_container_resources
 | 
					  check_container_resources
 | 
				
			||||||
   if [[ ! -d /opt/gokapi ]]; then
 | 
					  if [[ ! -d /opt/gokapi ]]; then
 | 
				
			||||||
      msg_error "No ${APP} Installation Found!"
 | 
					    msg_error "No ${APP} Installation Found!"
 | 
				
			||||||
      exit
 | 
					    exit
 | 
				
			||||||
   fi
 | 
					  fi
 | 
				
			||||||
   if [[ -f /opt/${APP}_version.txt ]]; then
 | 
					  if check_for_gh_release "gokapi" "Forceu/Gokapi"; then
 | 
				
			||||||
      mv /opt/${APP}_version ~/.gokapi
 | 
					 | 
				
			||||||
   fi
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
   RELEASE=$(curl -fsSL https://api.github.com/repos/Forceu/Gokapi/releases/latest | grep "tag_name" | awk '{print substr($2, 3, length($2)-4) }')
 | 
					 | 
				
			||||||
   if [[ "${RELEASE}" != "$(cat ~/.gokapi 2>/dev/null)" ]] || [[ ! -f ~/.gokapi ]]; then
 | 
					 | 
				
			||||||
    msg_info "Stopping ${APP}"
 | 
					    msg_info "Stopping ${APP}"
 | 
				
			||||||
    systemctl stop gokapi
 | 
					    systemctl stop gokapi
 | 
				
			||||||
    msg_ok "Stopped ${APP}"
 | 
					    msg_ok "Stopped ${APP}"
 | 
				
			||||||
@@ -42,10 +37,7 @@ function update_script() {
 | 
				
			|||||||
    msg_info "Starting ${APP}"
 | 
					    msg_info "Starting ${APP}"
 | 
				
			||||||
    systemctl start gokapi
 | 
					    systemctl start gokapi
 | 
				
			||||||
    msg_ok "Started ${APP}"
 | 
					    msg_ok "Started ${APP}"
 | 
				
			||||||
 | 
					 | 
				
			||||||
    msg_ok "Updated Successfully"
 | 
					    msg_ok "Updated Successfully"
 | 
				
			||||||
  else
 | 
					 | 
				
			||||||
    msg_ok "No update required. ${APP} is already at ${RELEASE}"
 | 
					 | 
				
			||||||
  fi
 | 
					  fi
 | 
				
			||||||
  exit
 | 
					  exit
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 
 | 
				
			|||||||
							
								
								
									
										78
									
								
								ct/gomft.sh
									
									
									
									
									
								
							
							
						
						
									
										78
									
								
								ct/gomft.sh
									
									
									
									
									
								
							@@ -28,91 +28,17 @@ function update_script() {
 | 
				
			|||||||
    msg_error "No ${APP} Installation Found!"
 | 
					    msg_error "No ${APP} Installation Found!"
 | 
				
			||||||
    exit
 | 
					    exit
 | 
				
			||||||
  fi
 | 
					  fi
 | 
				
			||||||
  if ! dpkg -l | grep -q "^ii.*build-essential"; then
 | 
					  if check_for_gh_release "gomft" "StarFleetCPTN/GoMFT"; then
 | 
				
			||||||
    $STD apt-get install -y build-essential
 | 
					 | 
				
			||||||
  fi
 | 
					 | 
				
			||||||
  if [[ ! -f "/usr/bin/node" ]]; then
 | 
					 | 
				
			||||||
    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_22.x nodistro main" >/etc/apt/sources.list.d/nodesource.list
 | 
					 | 
				
			||||||
    $STD apt-get update
 | 
					 | 
				
			||||||
    $STD apt-get install -y nodejs
 | 
					 | 
				
			||||||
  fi
 | 
					 | 
				
			||||||
  RELEASE=$(curl -fsSL "https://api.github.com/repos/StarFleetCPTN/GoMFT/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"
 | 
					    msg_info "Stopping $APP"
 | 
				
			||||||
    systemctl stop gomft
 | 
					    systemctl stop gomft
 | 
				
			||||||
    msg_ok "Stopped $APP"
 | 
					    msg_ok "Stopped $APP"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    msg_info "Updating $APP to ${RELEASE}"
 | 
					    fetch_and_deploy_gh_release "gomft" "StarFleetCPTN/GoMFT" "singlefile" "latest" "/opt/gomft" "gomft*linux-amd64"
 | 
				
			||||||
    if ! command -v git >/dev/null 2>&1; then
 | 
					 | 
				
			||||||
      $STD apt-get install -y git
 | 
					 | 
				
			||||||
    fi
 | 
					 | 
				
			||||||
    rm -f /opt/gomft/gomft
 | 
					 | 
				
			||||||
    temp_file=$(mktemp)
 | 
					 | 
				
			||||||
    curl -fsSL "https://github.com/StarFleetCPTN/GoMFT/archive/refs/tags/v${RELEASE}.tar.gz" -o "$temp_file"
 | 
					 | 
				
			||||||
    tar -xzf "$temp_file"
 | 
					 | 
				
			||||||
    cp -rf "GoMFT-${RELEASE}"/* /opt/gomft/
 | 
					 | 
				
			||||||
    cd /opt/gomft
 | 
					 | 
				
			||||||
    $STD npm install
 | 
					 | 
				
			||||||
    $STD npm run build
 | 
					 | 
				
			||||||
    TEMPL_VERSION="$(awk '/github.com\/a-h\/templ/{print $2}' go.mod)"
 | 
					 | 
				
			||||||
    $STD go install github.com/a-h/templ/cmd/templ@${TEMPL_VERSION}
 | 
					 | 
				
			||||||
    # dirty hack to fix templ
 | 
					 | 
				
			||||||
    cat <<'EOF' >/opt/gomft/components/file_metadata/search/file_metadata_search_content.templ
 | 
					 | 
				
			||||||
package search
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
import (
 | 
					 | 
				
			||||||
    "context"
 | 
					 | 
				
			||||||
    "github.com/starfleetcptn/gomft/components/file_metadata"
 | 
					 | 
				
			||||||
    "github.com/starfleetcptn/gomft/components/file_metadata/list"
 | 
					 | 
				
			||||||
)
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
templ FileMetadataSearchContent(ctx context.Context, data file_metadata.FileMetadataSearchData) {
 | 
					 | 
				
			||||||
    <!-- Search Results -->
 | 
					 | 
				
			||||||
    <div id="search-results">
 | 
					 | 
				
			||||||
        if len(data.Files) > 0 {
 | 
					 | 
				
			||||||
            @list.FileMetadataListPartial(ctx, file_metadata.FileMetadataListData{
 | 
					 | 
				
			||||||
                Files:      data.Files,
 | 
					 | 
				
			||||||
                Page:       data.Page,
 | 
					 | 
				
			||||||
                Limit:      data.Limit,
 | 
					 | 
				
			||||||
                TotalCount: data.TotalCount,
 | 
					 | 
				
			||||||
                TotalPages: data.TotalPages,
 | 
					 | 
				
			||||||
                Filter:     data.Filter,
 | 
					 | 
				
			||||||
                SortBy:     data.SortBy,
 | 
					 | 
				
			||||||
                SortDir:    data.SortDir,
 | 
					 | 
				
			||||||
            }, "/files/search/partial", "#search-results-container")
 | 
					 | 
				
			||||||
        } else {
 | 
					 | 
				
			||||||
            <div class="p-6 text-center text-gray-500 dark:text-gray-400">
 | 
					 | 
				
			||||||
                <svg class="mx-auto mb-4 w-12 h-12 text-gray-400" xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" stroke-width="1.5" stroke="currentColor">
 | 
					 | 
				
			||||||
                    <path stroke-linecap="round" stroke-linejoin="round" d="M19.5 14.25v-2.625a3.375 3.375 0 00-3.375-3.375h-1.5A1.125 1.125 0 0113.5 7.125v-1.5a3.375 3.375 0 00-3.375-3.375H8.25m2.25 0H5.625c-.621 0-1.125.504-1.125 1.125v17.25c0 .621.504 1.125 1.125 1.125h12.75c.621 0 1.125-.504 1.125-1.125V11.25a9 9 0 00-9-9z" />
 | 
					 | 
				
			||||||
                </svg>
 | 
					 | 
				
			||||||
                <p>No files found matching your search criteria.</p>
 | 
					 | 
				
			||||||
            </div>
 | 
					 | 
				
			||||||
        }
 | 
					 | 
				
			||||||
    </div>
 | 
					 | 
				
			||||||
}
 | 
					 | 
				
			||||||
EOF
 | 
					 | 
				
			||||||
    $STD "$HOME"/go/bin/templ generate
 | 
					 | 
				
			||||||
    export CGO_ENABLED=1
 | 
					 | 
				
			||||||
    export GOOS=linux
 | 
					 | 
				
			||||||
    $STD go build -o gomft
 | 
					 | 
				
			||||||
    chmod +x /opt/gomft/gomft
 | 
					 | 
				
			||||||
    echo "${RELEASE}" >/opt/${APP}_version.txt
 | 
					 | 
				
			||||||
    msg_ok "Updated $APP to ${RELEASE}"
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
    msg_info "Cleaning Up"
 | 
					 | 
				
			||||||
    rm -f "$temp_file"
 | 
					 | 
				
			||||||
    rm -rf "$HOME/GoMFT-v.${RELEASE}/"
 | 
					 | 
				
			||||||
    msg_ok "Cleanup Complete"
 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
    msg_info "Starting $APP"
 | 
					    msg_info "Starting $APP"
 | 
				
			||||||
    systemctl start gomft
 | 
					    systemctl start gomft
 | 
				
			||||||
    msg_ok "Started $APP"
 | 
					    msg_ok "Started $APP"
 | 
				
			||||||
 | 
					 | 
				
			||||||
    msg_ok "Update Successful"
 | 
					    msg_ok "Update Successful"
 | 
				
			||||||
  else
 | 
					 | 
				
			||||||
    msg_ok "No update required. ${APP} is already at ${RELEASE}"
 | 
					 | 
				
			||||||
  fi
 | 
					  fi
 | 
				
			||||||
  exit
 | 
					  exit
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -27,9 +27,7 @@ function update_script() {
 | 
				
			|||||||
    msg_error "No ${APP} Installation Found!"
 | 
					    msg_error "No ${APP} Installation Found!"
 | 
				
			||||||
    exit
 | 
					    exit
 | 
				
			||||||
  fi
 | 
					  fi
 | 
				
			||||||
 | 
					  if check_for_gh_release "gotify" "gotify/server"; then
 | 
				
			||||||
  RELEASE=$(curl -fsSL https://api.github.com/repos/gotify/server/releases/latest | grep "tag_name" | awk '{print substr($2, 3, length($2)-4) }')
 | 
					 | 
				
			||||||
  if [[ "${RELEASE}" != "$(cat ~/.gotify 2>/dev/null)" ]] || [[ ! -f ~/.gotify ]]; then
 | 
					 | 
				
			||||||
    msg_info "Stopping ${APP}"
 | 
					    msg_info "Stopping ${APP}"
 | 
				
			||||||
    systemctl stop gotify
 | 
					    systemctl stop gotify
 | 
				
			||||||
    msg_ok "Stopped ${APP}"
 | 
					    msg_ok "Stopped ${APP}"
 | 
				
			||||||
@@ -40,10 +38,7 @@ function update_script() {
 | 
				
			|||||||
    msg_info "Starting ${APP}"
 | 
					    msg_info "Starting ${APP}"
 | 
				
			||||||
    systemctl start gotify
 | 
					    systemctl start gotify
 | 
				
			||||||
    msg_ok "Started ${APP}"
 | 
					    msg_ok "Started ${APP}"
 | 
				
			||||||
 | 
					 | 
				
			||||||
    msg_ok "Updated Successfully"
 | 
					    msg_ok "Updated Successfully"
 | 
				
			||||||
  else
 | 
					 | 
				
			||||||
    msg_ok "No update required. ${APP} is already at ${RELEASE}"
 | 
					 | 
				
			||||||
  fi
 | 
					  fi
 | 
				
			||||||
  exit
 | 
					  exit
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 
 | 
				
			|||||||
							
								
								
									
										52
									
								
								ct/grist.sh
									
									
									
									
									
								
							
							
						
						
									
										52
									
								
								ct/grist.sh
									
									
									
									
									
								
							@@ -1,5 +1,8 @@
 | 
				
			|||||||
#!/usr/bin/env bash
 | 
					#!/usr/bin/env bash
 | 
				
			||||||
source <(curl -fsSL https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/misc/build.func)
 | 
					source <(curl -fsSL https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/misc/build.func)
 | 
				
			||||||
 | 
					# Copyright (c) 2021-2025 community-scripts ORG
 | 
				
			||||||
 | 
					# Author: cfurrow | Co-Author: Slaviša Arežina (tremor021)
 | 
				
			||||||
 | 
					# License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE
 | 
				
			||||||
# Source: https://github.com/gristlabs/grist-core
 | 
					# Source: https://github.com/gristlabs/grist-core
 | 
				
			||||||
 | 
					
 | 
				
			||||||
APP="Grist"
 | 
					APP="Grist"
 | 
				
			||||||
@@ -26,57 +29,34 @@ function update_script() {
 | 
				
			|||||||
    exit
 | 
					    exit
 | 
				
			||||||
  fi
 | 
					  fi
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  RELEASE=$(curl -fsSL https://api.github.com/repos/gristlabs/grist-core/releases/latest | grep "tag_name" | awk '{print substr($2, 3, length($2)-4) }')
 | 
					  if check_for_gh_release "grist" "gristlabs/grist-core"; then
 | 
				
			||||||
  if [[ ! -f /opt/${APP}_version.txt ]] || [[ "${RELEASE}" != "$(cat /opt/${APP}_version.txt)" ]]; then
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
    msg_info "Stopping ${APP} Service"
 | 
					    msg_info "Stopping ${APP} Service"
 | 
				
			||||||
    systemctl stop grist
 | 
					    systemctl stop grist
 | 
				
			||||||
    msg_ok "Stopped ${APP} Service"
 | 
					    msg_ok "Stopped ${APP} Service"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    msg_info "Updating ${APP} to v${RELEASE}"
 | 
					    msg_info "Creating backup"
 | 
				
			||||||
 | 
					    rm -rf /opt/grist_bak
 | 
				
			||||||
    cd /opt
 | 
					 | 
				
			||||||
    rm -rf grist_bak
 | 
					 | 
				
			||||||
    mv grist grist_bak
 | 
					    mv grist grist_bak
 | 
				
			||||||
    curl -fsSL "https://github.com/gristlabs/grist-core/archive/refs/tags/v${RELEASE}.zip" -o $(basename "https://github.com/gristlabs/grist-core/archive/refs/tags/v${RELEASE}.zip")
 | 
					    msg_ok "Backup created"
 | 
				
			||||||
    $STD unzip v$RELEASE.zip
 | 
					 | 
				
			||||||
    mv grist-core-${RELEASE} grist
 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    fetch_and_deploy_gh_release "grist" "gristlabs/grist-core" "tarball"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    msg_info "Updating ${APP}"
 | 
				
			||||||
    mkdir -p grist/docs
 | 
					    mkdir -p grist/docs
 | 
				
			||||||
 | 
					    cp -n /opt/grist_bak/.env /opt/grist/.env
 | 
				
			||||||
    cp -n grist_bak/.env grist/.env || true
 | 
					    cp -r /opt/grist_bak/docs/* /opt/grist/docs/
 | 
				
			||||||
    cp -r grist_bak/docs/* grist/docs/ || true
 | 
					    cp /opt/grist_bak/grist-sessions.db /opt/grist/grist-sessions.db
 | 
				
			||||||
    cp grist_bak/grist-sessions.db grist/grist-sessions.db || true
 | 
					    cp /opt/grist_bak/landing.db /opt/grist/landing.db
 | 
				
			||||||
    cp grist_bak/landing.db grist/landing.db || true
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
    cd grist
 | 
					 | 
				
			||||||
    msg_info "Installing Dependencies"
 | 
					 | 
				
			||||||
    $STD yarn install
 | 
					    $STD yarn install
 | 
				
			||||||
    msg_ok "Installed Dependencies"
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
    msg_info "Building"
 | 
					 | 
				
			||||||
    $STD yarn run build:prod
 | 
					    $STD yarn run build:prod
 | 
				
			||||||
    msg_ok "Done building"
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
    msg_info "Installing Python"
 | 
					 | 
				
			||||||
    $STD yarn run install:python
 | 
					    $STD yarn run install:python
 | 
				
			||||||
    msg_ok "Installed Python"
 | 
					    msg_ok "Updated ${APP}"
 | 
				
			||||||
 | 
					 | 
				
			||||||
    echo "${RELEASE}" >/opt/${APP}_version.txt
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
    msg_ok "Updated ${APP} to v${RELEASE}"
 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
    msg_info "Starting ${APP} Service"
 | 
					    msg_info "Starting ${APP} Service"
 | 
				
			||||||
    systemctl start grist
 | 
					    systemctl start grist
 | 
				
			||||||
    msg_ok "Started ${APP} Service"
 | 
					    msg_ok "Started ${APP} Service"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    msg_info "Cleaning up"
 | 
					    msg_ok "Updated Successfully"
 | 
				
			||||||
    rm -rf /opt/v$RELEASE.zip
 | 
					 | 
				
			||||||
    msg_ok "Cleaned"
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
    msg_ok "Updated Successfully!\n"
 | 
					 | 
				
			||||||
  else
 | 
					 | 
				
			||||||
    msg_ok "No update required. ${APP} is already at ${RELEASE}"
 | 
					 | 
				
			||||||
  fi
 | 
					  fi
 | 
				
			||||||
  exit
 | 
					  exit
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -27,19 +27,14 @@ function update_script() {
 | 
				
			|||||||
    msg_error "No ${APP} Installation Found!"
 | 
					    msg_error "No ${APP} Installation Found!"
 | 
				
			||||||
    exit
 | 
					    exit
 | 
				
			||||||
  fi
 | 
					  fi
 | 
				
			||||||
  
 | 
					 | 
				
			||||||
  php_ver=$(php -v | head -n 1 | awk '{print $2}')
 | 
					  php_ver=$(php -v | head -n 1 | awk '{print $2}')
 | 
				
			||||||
  if [[ ! $php_ver == "8.3"* ]]; then
 | 
					  if [[ ! $php_ver == "8.3"* ]]; then
 | 
				
			||||||
    PHP_VERSION="8.3" PHP_MODULE="sqlite3,bz2" PHP_APACHE="yes" setup_php
 | 
					    PHP_VERSION="8.3" PHP_MODULE="sqlite3,bz2" PHP_APACHE="yes" setup_php
 | 
				
			||||||
  fi
 | 
					  fi
 | 
				
			||||||
  
 | 
					  if check_for_gh_release "grocy" "grocy/grocy"; then
 | 
				
			||||||
  RELEASE=$(curl -fsSL https://api.github.com/repos/grocy/grocy/releases/latest | grep "tag_name" | awk '{print substr($2, 3, length($2)-4) }')
 | 
					 | 
				
			||||||
  if [[ "${RELEASE}" != "$(cat ~/.grocy 2>/dev/null)" ]] || [[ ! -f ~/.grocy ]]; then
 | 
					 | 
				
			||||||
    msg_info "Updating ${APP}"
 | 
					    msg_info "Updating ${APP}"
 | 
				
			||||||
    bash /var/www/html/update.sh
 | 
					    bash /var/www/html/update.sh
 | 
				
			||||||
    msg_ok "Updated Successfully"
 | 
					    msg_ok "Updated Successfully"
 | 
				
			||||||
  else
 | 
					 | 
				
			||||||
    msg_ok "No update required. ${APP} is already at ${RELEASE}"
 | 
					 | 
				
			||||||
  fi
 | 
					  fi
 | 
				
			||||||
  exit
 | 
					  exit
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -29,9 +29,7 @@ function update_script() {
 | 
				
			|||||||
    exit
 | 
					    exit
 | 
				
			||||||
  fi
 | 
					  fi
 | 
				
			||||||
  NODE_VERSION="20" NODE_MODULE="gulp-cli,mocha" setup_nodejs
 | 
					  NODE_VERSION="20" NODE_MODULE="gulp-cli,mocha" setup_nodejs
 | 
				
			||||||
  RELEASE=$(curl -fsSL https://api.github.com/repos/HabitRPG/habitica/releases/latest | grep "tag_name" | awk '{print substr($2, 3, length($2)-4) }')
 | 
					  if check_for_gh_release "habitica" "HabitRPG/habitica"; then
 | 
				
			||||||
  if [[ "${RELEASE}" != "$(cat ~/.habitica 2>/dev/null)" ]] || [[ ! -f ~/.habitica ]]; then
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
    msg_info "Stopping $APP"
 | 
					    msg_info "Stopping $APP"
 | 
				
			||||||
    systemctl stop habitica-mongodb
 | 
					    systemctl stop habitica-mongodb
 | 
				
			||||||
    systemctl stop habitica
 | 
					    systemctl stop habitica
 | 
				
			||||||
@@ -48,13 +46,13 @@ function update_script() {
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
    fetch_and_deploy_gh_release "habitica" "HabitRPG/habitica" "tarball" "latest" "/opt/habitica"
 | 
					    fetch_and_deploy_gh_release "habitica" "HabitRPG/habitica" "tarball" "latest" "/opt/habitica"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    msg_info "Updating $APP to ${RELEASE}"
 | 
					    msg_info "Updating $APP"
 | 
				
			||||||
    cd /opt/habitica
 | 
					    cd /opt/habitica
 | 
				
			||||||
    $STD npm i
 | 
					    $STD npm i
 | 
				
			||||||
    $STD npm run postinstall
 | 
					    $STD npm run postinstall
 | 
				
			||||||
    $STD npm run client:build
 | 
					    $STD npm run client:build
 | 
				
			||||||
    $STD gulp build:prod
 | 
					    $STD gulp build:prod
 | 
				
			||||||
    msg_ok "Updated $APP to ${RELEASE}"
 | 
					    msg_ok "Updated $APP"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    msg_info "Restoring configuration"
 | 
					    msg_info "Restoring configuration"
 | 
				
			||||||
    if [[ -f ~/config.json ]]; then
 | 
					    if [[ -f ~/config.json ]]; then
 | 
				
			||||||
@@ -69,10 +67,7 @@ function update_script() {
 | 
				
			|||||||
    systemctl start habitica
 | 
					    systemctl start habitica
 | 
				
			||||||
    systemctl start habitica-client
 | 
					    systemctl start habitica-client
 | 
				
			||||||
    msg_ok "Started $APP"
 | 
					    msg_ok "Started $APP"
 | 
				
			||||||
 | 
					 | 
				
			||||||
    msg_ok "Update Successful"
 | 
					    msg_ok "Update Successful"
 | 
				
			||||||
  else
 | 
					 | 
				
			||||||
    msg_ok "No update required. ${APP} is already at ${RELEASE}"
 | 
					 | 
				
			||||||
  fi
 | 
					  fi
 | 
				
			||||||
  exit
 | 
					  exit
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 
 | 
				
			|||||||
							
								
								
									
										6
									
								
								ct/headers/alpine-caddy
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										6
									
								
								ct/headers/alpine-caddy
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,6 @@
 | 
				
			|||||||
 | 
					    ___    __      _                  ______          __    __     
 | 
				
			||||||
 | 
					   /   |  / /___  (_)___  ___        / ____/___ _____/ /___/ /_  __
 | 
				
			||||||
 | 
					  / /| | / / __ \/ / __ \/ _ \______/ /   / __ `/ __  / __  / / / /
 | 
				
			||||||
 | 
					 / ___ |/ / /_/ / / / / /  __/_____/ /___/ /_/ / /_/ / /_/ / /_/ / 
 | 
				
			||||||
 | 
					/_/  |_/_/ .___/_/_/ /_/\___/      \____/\__,_/\__,_/\__,_/\__, /  
 | 
				
			||||||
 | 
					        /_/                                               /____/   
 | 
				
			||||||
							
								
								
									
										6
									
								
								ct/headers/alpine-redlib
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										6
									
								
								ct/headers/alpine-redlib
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,6 @@
 | 
				
			|||||||
 | 
					    ___    __      _                  ____           _____ __  
 | 
				
			||||||
 | 
					   /   |  / /___  (_)___  ___        / __ \___  ____/ / (_) /_ 
 | 
				
			||||||
 | 
					  / /| | / / __ \/ / __ \/ _ \______/ /_/ / _ \/ __  / / / __ \
 | 
				
			||||||
 | 
					 / ___ |/ / /_/ / / / / /  __/_____/ _, _/  __/ /_/ / / / /_/ /
 | 
				
			||||||
 | 
					/_/  |_/_/ .___/_/_/ /_/\___/     /_/ |_|\___/\__,_/_/_/_.___/ 
 | 
				
			||||||
 | 
					        /_/                                                    
 | 
				
			||||||
							
								
								
									
										6
									
								
								ct/headers/alpine-rustdeskserver
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										6
									
								
								ct/headers/alpine-rustdeskserver
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,6 @@
 | 
				
			|||||||
 | 
					    ___    __      _                  ____             __  ____            __   _____                          
 | 
				
			||||||
 | 
					   /   |  / /___  (_)___  ___        / __ \__  _______/ /_/ __ \___  _____/ /__/ ___/___  ______   _____  _____
 | 
				
			||||||
 | 
					  / /| | / / __ \/ / __ \/ _ \______/ /_/ / / / / ___/ __/ / / / _ \/ ___/ //_/\__ \/ _ \/ ___/ | / / _ \/ ___/
 | 
				
			||||||
 | 
					 / ___ |/ / /_/ / / / / /  __/_____/ _, _/ /_/ (__  ) /_/ /_/ /  __(__  ) ,<  ___/ /  __/ /   | |/ /  __/ /    
 | 
				
			||||||
 | 
					/_/  |_/_/ .___/_/_/ /_/\___/     /_/ |_|\__,_/____/\__/_____/\___/____/_/|_|/____/\___/_/    |___/\___/_/     
 | 
				
			||||||
 | 
					        /_/                                                                                                    
 | 
				
			||||||
							
								
								
									
										6
									
								
								ct/headers/autocaliweb
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										6
									
								
								ct/headers/autocaliweb
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,6 @@
 | 
				
			|||||||
 | 
					    ___         __                   ___               __  
 | 
				
			||||||
 | 
					   /   | __  __/ /_____  _________ _/ (_)      _____  / /_ 
 | 
				
			||||||
 | 
					  / /| |/ / / / __/ __ \/ ___/ __ `/ / / | /| / / _ \/ __ \
 | 
				
			||||||
 | 
					 / ___ / /_/ / /_/ /_/ / /__/ /_/ / / /| |/ |/ /  __/ /_/ /
 | 
				
			||||||
 | 
					/_/  |_\__,_/\__/\____/\___/\__,_/_/_/ |__/|__/\___/_.___/ 
 | 
				
			||||||
 | 
					                                                           
 | 
				
			||||||
							
								
								
									
										6
									
								
								ct/headers/globaleaks
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										6
									
								
								ct/headers/globaleaks
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,6 @@
 | 
				
			|||||||
 | 
					   ________      __          __               __       
 | 
				
			||||||
 | 
					  / ____/ /___  / /_  ____ _/ /   ___  ____ _/ /_______
 | 
				
			||||||
 | 
					 / / __/ / __ \/ __ \/ __ `/ /   / _ \/ __ `/ //_/ ___/
 | 
				
			||||||
 | 
					/ /_/ / / /_/ / /_/ / /_/ / /___/  __/ /_/ / ,< (__  ) 
 | 
				
			||||||
 | 
					\____/_/\____/_.___/\__,_/_____/\___/\__,_/_/|_/____/  
 | 
				
			||||||
 | 
					                                                       
 | 
				
			||||||
							
								
								
									
										6
									
								
								ct/headers/healthchecks
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										6
									
								
								ct/headers/healthchecks
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,6 @@
 | 
				
			|||||||
 | 
					    __               ____  __         __              __       
 | 
				
			||||||
 | 
					   / /_  ___  ____ _/ / /_/ /_  _____/ /_  ___  _____/ /_______
 | 
				
			||||||
 | 
					  / __ \/ _ \/ __ `/ / __/ __ \/ ___/ __ \/ _ \/ ___/ //_/ ___/
 | 
				
			||||||
 | 
					 / / / /  __/ /_/ / / /_/ / / / /__/ / / /  __/ /__/ ,< (__  ) 
 | 
				
			||||||
 | 
					/_/ /_/\___/\__,_/_/\__/_/ /_/\___/_/ /_/\___/\___/_/|_/____/  
 | 
				
			||||||
 | 
					                                                               
 | 
				
			||||||
@@ -1,6 +0,0 @@
 | 
				
			|||||||
    __  __                     __         
 | 
					 | 
				
			||||||
   / / / /___  ____ __________/ /__  _____
 | 
					 | 
				
			||||||
  / /_/ / __ \/ __ `/ ___/ __  / _ \/ ___/
 | 
					 | 
				
			||||||
 / __  / /_/ / /_/ / /  / /_/ /  __/ /    
 | 
					 | 
				
			||||||
/_/ /_/\____/\__,_/_/   \__,_/\___/_/     
 | 
					 | 
				
			||||||
                                          
 | 
					 | 
				
			||||||
@@ -1,6 +0,0 @@
 | 
				
			|||||||
    __  __                        ___              _      __              __        ______              
 | 
					 | 
				
			||||||
   / / / /___  ____ ___  ___     /   |  __________(_)____/ /_____ _____  / /_      / ____/___  ________ 
 | 
					 | 
				
			||||||
  / /_/ / __ \/ __ `__ \/ _ \   / /| | / ___/ ___/ / ___/ __/ __ `/ __ \/ __/_____/ /   / __ \/ ___/ _ \
 | 
					 | 
				
			||||||
 / __  / /_/ / / / / / /  __/  / ___ |(__  |__  ) (__  ) /_/ /_/ / / / / /_/_____/ /___/ /_/ / /  /  __/
 | 
					 | 
				
			||||||
/_/ /_/\____/_/ /_/ /_/\___/  /_/  |_/____/____/_/____/\__/\__,_/_/ /_/\__/      \____/\____/_/   \___/ 
 | 
					 | 
				
			||||||
                                                                                                        
 | 
					 | 
				
			||||||
							
								
								
									
										6
									
								
								ct/headers/hortusfox
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										6
									
								
								ct/headers/hortusfox
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,6 @@
 | 
				
			|||||||
 | 
					    __  __           __             ______          
 | 
				
			||||||
 | 
					   / / / /___  _____/ /___  _______/ ____/___  _  __
 | 
				
			||||||
 | 
					  / /_/ / __ \/ ___/ __/ / / / ___/ /_  / __ \| |/_/
 | 
				
			||||||
 | 
					 / __  / /_/ / /  / /_/ /_/ (__  ) __/ / /_/ />  <  
 | 
				
			||||||
 | 
					/_/ /_/\____/_/   \__/\__,_/____/_/    \____/_/|_|  
 | 
				
			||||||
 | 
					                                                    
 | 
				
			||||||
							
								
								
									
										6
									
								
								ct/headers/joplin-server
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										6
									
								
								ct/headers/joplin-server
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,6 @@
 | 
				
			|||||||
 | 
					       __            ___            _____                          
 | 
				
			||||||
 | 
					      / /___  ____  / (_)___       / ___/___  ______   _____  _____
 | 
				
			||||||
 | 
					 __  / / __ \/ __ \/ / / __ \______\__ \/ _ \/ ___/ | / / _ \/ ___/
 | 
				
			||||||
 | 
					/ /_/ / /_/ / /_/ / / / / / /_____/__/ /  __/ /   | |/ /  __/ /    
 | 
				
			||||||
 | 
					\____/\____/ .___/_/_/_/ /_/     /____/\___/_/    |___/\___/_/     
 | 
				
			||||||
 | 
					          /_/                                                      
 | 
				
			||||||
							
								
								
									
										6
									
								
								ct/headers/leantime
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										6
									
								
								ct/headers/leantime
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,6 @@
 | 
				
			|||||||
 | 
					    __                     __  _              
 | 
				
			||||||
 | 
					   / /   ___  ____ _____  / /_(_)___ ___  ___ 
 | 
				
			||||||
 | 
					  / /   / _ \/ __ `/ __ \/ __/ / __ `__ \/ _ \
 | 
				
			||||||
 | 
					 / /___/  __/ /_/ / / / / /_/ / / / / / /  __/
 | 
				
			||||||
 | 
					/_____/\___/\__,_/_/ /_/\__/_/_/ /_/ /_/\___/ 
 | 
				
			||||||
 | 
					                                              
 | 
				
			||||||
							
								
								
									
										6
									
								
								ct/headers/litellm
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										6
									
								
								ct/headers/litellm
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,6 @@
 | 
				
			|||||||
 | 
					    __    _ __       __    __    __  ___
 | 
				
			||||||
 | 
					   / /   (_) /____  / /   / /   /  |/  /
 | 
				
			||||||
 | 
					  / /   / / __/ _ \/ /   / /   / /|_/ / 
 | 
				
			||||||
 | 
					 / /___/ / /_/  __/ /___/ /___/ /  / /  
 | 
				
			||||||
 | 
					/_____/_/\__/\___/_____/_____/_/  /_/   
 | 
				
			||||||
 | 
					                                        
 | 
				
			||||||
							
								
								
									
										6
									
								
								ct/headers/mediamanager
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										6
									
								
								ct/headers/mediamanager
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,6 @@
 | 
				
			|||||||
 | 
					    __  ___         ___       __  ___                                 
 | 
				
			||||||
 | 
					   /  |/  /__  ____/ (_)___ _/  |/  /___ _____  ____ _____ ____  _____
 | 
				
			||||||
 | 
					  / /|_/ / _ \/ __  / / __ `/ /|_/ / __ `/ __ \/ __ `/ __ `/ _ \/ ___/
 | 
				
			||||||
 | 
					 / /  / /  __/ /_/ / / /_/ / /  / / /_/ / / / / /_/ / /_/ /  __/ /    
 | 
				
			||||||
 | 
					/_/  /_/\___/\__,_/_/\__,_/_/  /_/\__,_/_/ /_/\__,_/\__, /\___/_/     
 | 
				
			||||||
 | 
					                                                   /____/             
 | 
				
			||||||
							
								
								
									
										6
									
								
								ct/headers/palmr
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										6
									
								
								ct/headers/palmr
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,6 @@
 | 
				
			|||||||
 | 
					    ____        __              
 | 
				
			||||||
 | 
					   / __ \____ _/ /___ ___  _____
 | 
				
			||||||
 | 
					  / /_/ / __ `/ / __ `__ \/ ___/
 | 
				
			||||||
 | 
					 / ____/ /_/ / / / / / / / /    
 | 
				
			||||||
 | 
					/_/    \__,_/_/_/ /_/ /_/_/     
 | 
				
			||||||
 | 
					                                
 | 
				
			||||||
@@ -1,6 +0,0 @@
 | 
				
			|||||||
    ____  _                   _     
 | 
					 | 
				
			||||||
   / __ \(_)___  ____ __   __(_)___ 
 | 
					 | 
				
			||||||
  / /_/ / / __ \/ __ `/ | / / / __ \
 | 
					 | 
				
			||||||
 / ____/ / / / / /_/ /| |/ / / / / /
 | 
					 | 
				
			||||||
/_/   /_/_/ /_/\__, / |___/_/_/ /_/ 
 | 
					 | 
				
			||||||
              /____/                
 | 
					 | 
				
			||||||
							
								
								
									
										6
									
								
								ct/headers/resiliosync
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										6
									
								
								ct/headers/resiliosync
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,6 @@
 | 
				
			|||||||
 | 
					    ____            _ ___          _____                 
 | 
				
			||||||
 | 
					   / __ \___  _____(_) (_)___     / ___/__  ______  _____
 | 
				
			||||||
 | 
					  / /_/ / _ \/ ___/ / / / __ \    \__ \/ / / / __ \/ ___/
 | 
				
			||||||
 | 
					 / _, _/  __(__  ) / / / /_/ /   ___/ / /_/ / / / / /__  
 | 
				
			||||||
 | 
					/_/ |_|\___/____/_/_/_/\____/   /____/\__, /_/ /_/\___/  
 | 
				
			||||||
 | 
					                                     /____/              
 | 
				
			||||||
							
								
								
									
										6
									
								
								ct/headers/scraparr
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										6
									
								
								ct/headers/scraparr
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,6 @@
 | 
				
			|||||||
 | 
					   _____                                      
 | 
				
			||||||
 | 
					  / ___/______________ _____  ____ ___________
 | 
				
			||||||
 | 
					  \__ \/ ___/ ___/ __ `/ __ \/ __ `/ ___/ ___/
 | 
				
			||||||
 | 
					 ___/ / /__/ /  / /_/ / /_/ / /_/ / /  / /    
 | 
				
			||||||
 | 
					/____/\___/_/   \__,_/ .___/\__,_/_/  /_/     
 | 
				
			||||||
 | 
					                    /_/                       
 | 
				
			||||||
							
								
								
									
										6
									
								
								ct/headers/signoz
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										6
									
								
								ct/headers/signoz
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,6 @@
 | 
				
			|||||||
 | 
					   _____ _       _   __         
 | 
				
			||||||
 | 
					  / ___/(_)___ _/ | / /___  ____
 | 
				
			||||||
 | 
					  \__ \/ / __ `/  |/ / __ \/_  /
 | 
				
			||||||
 | 
					 ___/ / / /_/ / /|  / /_/ / / /_
 | 
				
			||||||
 | 
					/____/_/\__, /_/ |_/\____/ /___/
 | 
				
			||||||
 | 
					       /____/                   
 | 
				
			||||||
							
								
								
									
										6
									
								
								ct/headers/stylus
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										6
									
								
								ct/headers/stylus
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,6 @@
 | 
				
			|||||||
 | 
					   _____ __        __          
 | 
				
			||||||
 | 
					  / ___// /___  __/ /_  _______
 | 
				
			||||||
 | 
					  \__ \/ __/ / / / / / / / ___/
 | 
				
			||||||
 | 
					 ___/ / /_/ /_/ / / /_/ (__  ) 
 | 
				
			||||||
 | 
					/____/\__/\__, /_/\__,_/____/  
 | 
				
			||||||
 | 
					         /____/                
 | 
				
			||||||
							
								
								
									
										6
									
								
								ct/headers/swizzin
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										6
									
								
								ct/headers/swizzin
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,6 @@
 | 
				
			|||||||
 | 
					   _____         _           _     
 | 
				
			||||||
 | 
					  / ___/      __(_)_______  (_)___ 
 | 
				
			||||||
 | 
					  \__ \ | /| / / /_  /_  / / / __ \
 | 
				
			||||||
 | 
					 ___/ / |/ |/ / / / /_/ /_/ / / / /
 | 
				
			||||||
 | 
					/____/|__/|__/_/ /___/___/_/_/ /_/ 
 | 
				
			||||||
 | 
					                                   
 | 
				
			||||||
							
								
								
									
										6
									
								
								ct/headers/telegraf
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										6
									
								
								ct/headers/telegraf
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,6 @@
 | 
				
			|||||||
 | 
					   __       __                      ____
 | 
				
			||||||
 | 
					  / /____  / /__  ____ __________ _/ __/
 | 
				
			||||||
 | 
					 / __/ _ \/ / _ \/ __ `/ ___/ __ `/ /_  
 | 
				
			||||||
 | 
					/ /_/  __/ /  __/ /_/ / /  / /_/ / __/  
 | 
				
			||||||
 | 
					\__/\___/_/\___/\__, /_/   \__,_/_/     
 | 
				
			||||||
 | 
					               /____/                   
 | 
				
			||||||
							
								
								
									
										6
									
								
								ct/headers/tracktor
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										6
									
								
								ct/headers/tracktor
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,6 @@
 | 
				
			|||||||
 | 
					   __                  __   __            
 | 
				
			||||||
 | 
					  / /__________ ______/ /__/ /_____  _____
 | 
				
			||||||
 | 
					 / __/ ___/ __ `/ ___/ //_/ __/ __ \/ ___/
 | 
				
			||||||
 | 
					/ /_/ /  / /_/ / /__/ ,< / /_/ /_/ / /    
 | 
				
			||||||
 | 
					\__/_/   \__,_/\___/_/|_|\__/\____/_/     
 | 
				
			||||||
 | 
					                                          
 | 
				
			||||||
							
								
								
									
										6
									
								
								ct/headers/tunarr
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										6
									
								
								ct/headers/tunarr
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,6 @@
 | 
				
			|||||||
 | 
					  ______                           
 | 
				
			||||||
 | 
					 /_  __/_  ______  ____ ___________
 | 
				
			||||||
 | 
					  / / / / / / __ \/ __ `/ ___/ ___/
 | 
				
			||||||
 | 
					 / / / /_/ / / / / /_/ / /  / /    
 | 
				
			||||||
 | 
					/_/  \__,_/_/ /_/\__,_/_/  /_/     
 | 
				
			||||||
 | 
					                                   
 | 
				
			||||||
							
								
								
									
										6
									
								
								ct/headers/twingate-connector
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										6
									
								
								ct/headers/twingate-connector
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,6 @@
 | 
				
			|||||||
 | 
					  ______         _                   __             ______                            __            
 | 
				
			||||||
 | 
					 /_  __/      __(_)___  ____ _____ _/ /____        / ____/___  ____  ____  ___  _____/ /_____  _____
 | 
				
			||||||
 | 
					  / / | | /| / / / __ \/ __ `/ __ `/ __/ _ \______/ /   / __ \/ __ \/ __ \/ _ \/ ___/ __/ __ \/ ___/
 | 
				
			||||||
 | 
					 / /  | |/ |/ / / / / / /_/ / /_/ / /_/  __/_____/ /___/ /_/ / / / / / / /  __/ /__/ /_/ /_/ / /    
 | 
				
			||||||
 | 
					/_/   |__/|__/_/_/ /_/\__, /\__,_/\__/\___/      \____/\____/_/ /_/_/ /_/\___/\___/\__/\____/_/     
 | 
				
			||||||
 | 
					                     /____/                                                                         
 | 
				
			||||||
							
								
								
									
										6
									
								
								ct/headers/uhf
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										6
									
								
								ct/headers/uhf
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,6 @@
 | 
				
			|||||||
 | 
					   __  ____  ________
 | 
				
			||||||
 | 
					  / / / / / / / ____/
 | 
				
			||||||
 | 
					 / / / / /_/ / /_    
 | 
				
			||||||
 | 
					/ /_/ / __  / __/    
 | 
				
			||||||
 | 
					\____/_/ /_/_/       
 | 
				
			||||||
 | 
					                     
 | 
				
			||||||
							
								
								
									
										6
									
								
								ct/headers/upsnap
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										6
									
								
								ct/headers/upsnap
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,6 @@
 | 
				
			|||||||
 | 
					   __  __     _____                 
 | 
				
			||||||
 | 
					  / / / /___ / ___/____  ____ _____ 
 | 
				
			||||||
 | 
					 / / / / __ \\__ \/ __ \/ __ `/ __ \
 | 
				
			||||||
 | 
					/ /_/ / /_/ /__/ / / / / /_/ / /_/ /
 | 
				
			||||||
 | 
					\____/ .___/____/_/ /_/\__,_/ .___/ 
 | 
				
			||||||
 | 
					    /_/                    /_/      
 | 
				
			||||||
@@ -31,8 +31,7 @@ function update_script() {
 | 
				
			|||||||
    mv /opt/"${APP}_version.txt" ~/.headscale
 | 
					    mv /opt/"${APP}_version.txt" ~/.headscale
 | 
				
			||||||
  fi
 | 
					  fi
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  RELEASE=$(curl -fsSL https://api.github.com/repos/juanfont/headscale/releases/latest | grep "tag_name" | awk '{print substr($2, 3, length($2)-4) }')
 | 
					  if check_for_gh_release "headscale" "juanfont/headscale"; then
 | 
				
			||||||
  if [[ "${RELEASE}" != "$(cat ~/.headscale 2>/dev/null)" ]] || [[ ! -f ~/.headscale ]]; then
 | 
					 | 
				
			||||||
    msg_info "Stopping ${APP}"
 | 
					    msg_info "Stopping ${APP}"
 | 
				
			||||||
    systemctl stop headscale
 | 
					    systemctl stop headscale
 | 
				
			||||||
    msg_ok "Stopped ${APP}"
 | 
					    msg_ok "Stopped ${APP}"
 | 
				
			||||||
@@ -41,12 +40,9 @@ function update_script() {
 | 
				
			|||||||
    fetch_and_deploy_gh_release "headscale-admin" "GoodiesHQ/headscale-admin" "prebuild" "latest" "/opt/headscale-admin" "admin.zip"
 | 
					    fetch_and_deploy_gh_release "headscale-admin" "GoodiesHQ/headscale-admin" "prebuild" "latest" "/opt/headscale-admin" "admin.zip"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    msg_info "Starting ${APP}"
 | 
					    msg_info "Starting ${APP}"
 | 
				
			||||||
    # Temporary fix until headscale project resolves service getting disabled on updates.
 | 
					 | 
				
			||||||
    systemctl enable -q --now headscale
 | 
					    systemctl enable -q --now headscale
 | 
				
			||||||
    msg_ok "Started ${APP}"
 | 
					    msg_ok "Started ${APP}"
 | 
				
			||||||
    msg_ok "Updated Successfully"
 | 
					    msg_ok "Updated Successfully"
 | 
				
			||||||
  else
 | 
					 | 
				
			||||||
    msg_ok "No update required. ${APP} is already at ${RELEASE}"
 | 
					 | 
				
			||||||
  fi
 | 
					  fi
 | 
				
			||||||
  exit
 | 
					  exit
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
@@ -57,3 +53,5 @@ description
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
msg_ok "Completed Successfully!\n"
 | 
					msg_ok "Completed Successfully!\n"
 | 
				
			||||||
echo -e "${CREATING}${GN}${APP} setup has been successfully initialized!${CL}"
 | 
					echo -e "${CREATING}${GN}${APP} setup has been successfully initialized!${CL}"
 | 
				
			||||||
 | 
					echo -e "${INFO}${YW} Access it using the following URL:${CL}"
 | 
				
			||||||
 | 
					echo -e "${TAB}${GATEWAY}${BGN}Headscale API: ${IP}/api (no Frontend) | headscale-admin: http://${IP}/admin/${CL}"
 | 
				
			||||||
 
 | 
				
			|||||||
							
								
								
									
										65
									
								
								ct/healthchecks.sh
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										65
									
								
								ct/healthchecks.sh
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,65 @@
 | 
				
			|||||||
 | 
					#!/usr/bin/env bash
 | 
				
			||||||
 | 
					source <(curl -fsSL https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/misc/build.func)
 | 
				
			||||||
 | 
					# Copyright (c) 2021-2025 community-scripts ORG
 | 
				
			||||||
 | 
					# Author: MickLesk (CanbiZ)
 | 
				
			||||||
 | 
					# License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE
 | 
				
			||||||
 | 
					# Source: https://healthchecks.io/
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					APP="healthchecks"
 | 
				
			||||||
 | 
					var_tags="${var_tags:-monitoring}"
 | 
				
			||||||
 | 
					var_cpu="${var_cpu:-2}"
 | 
				
			||||||
 | 
					var_ram="${var_ram:-2048}"
 | 
				
			||||||
 | 
					var_disk="${var_disk:-5}"
 | 
				
			||||||
 | 
					var_os="${var_os:-debian}"
 | 
				
			||||||
 | 
					var_version="${var_version:-12}"
 | 
				
			||||||
 | 
					var_unprivileged="${var_unprivileged:-1}"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					header_info "$APP"
 | 
				
			||||||
 | 
					variables
 | 
				
			||||||
 | 
					color
 | 
				
			||||||
 | 
					catch_errors
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					function update_script() {
 | 
				
			||||||
 | 
					  header_info
 | 
				
			||||||
 | 
					  check_container_storage
 | 
				
			||||||
 | 
					  check_container_resources
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  if [[ ! -d /opt/healthchecks ]]; then
 | 
				
			||||||
 | 
					    msg_error "No ${APP} Installation Found!"
 | 
				
			||||||
 | 
					    exit
 | 
				
			||||||
 | 
					  fi
 | 
				
			||||||
 | 
					  if check_for_gh_release "healthchecks" "healthchecks/healthchecks"; then
 | 
				
			||||||
 | 
					    msg_info "Stopping $APP"
 | 
				
			||||||
 | 
					    systemctl stop healthchecks
 | 
				
			||||||
 | 
					    msg_ok "Stopped $APP"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    setup_uv
 | 
				
			||||||
 | 
					    fetch_and_deploy_gh_release "healthchecks" "healthchecks/healthchecks"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    msg_info "Updating $APP"
 | 
				
			||||||
 | 
					    cd /opt/healthchecks
 | 
				
			||||||
 | 
					    mkdir -p /opt/healthchecks/static-collected/
 | 
				
			||||||
 | 
					    $STD uv pip install wheel gunicorn -r requirements.txt --system
 | 
				
			||||||
 | 
					    $STD uv run -- python manage.py makemigrations
 | 
				
			||||||
 | 
					    $STD uv run -- python manage.py migrate --noinput
 | 
				
			||||||
 | 
					    $STD uv run -- python manage.py collectstatic --noinput
 | 
				
			||||||
 | 
					    $STD uv run -- python manage.py compress
 | 
				
			||||||
 | 
					    msg_ok "Updated $APP"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    msg_info "Starting $APP"
 | 
				
			||||||
 | 
					    systemctl start healthchecks
 | 
				
			||||||
 | 
					    systemctl restart caddy
 | 
				
			||||||
 | 
					    msg_ok "Started $APP"
 | 
				
			||||||
 | 
					    msg_ok "Update Successful"
 | 
				
			||||||
 | 
					  fi
 | 
				
			||||||
 | 
					  exit
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					start
 | 
				
			||||||
 | 
					build_container
 | 
				
			||||||
 | 
					description
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					msg_ok "Completed Successfully!\n"
 | 
				
			||||||
 | 
					echo -e "${CREATING}${GN}${APP} setup has been successfully initialized!${CL}"
 | 
				
			||||||
 | 
					echo -e "${INFO}${YW} Access it using the following URL:${CL}"
 | 
				
			||||||
 | 
					echo -e "${TAB}${GATEWAY}${BGN}https://${IP}${CL}"
 | 
				
			||||||
@@ -1,85 +0,0 @@
 | 
				
			|||||||
#!/usr/bin/env bash
 | 
					 | 
				
			||||||
source <(curl -fsSL https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/misc/build.func)
 | 
					 | 
				
			||||||
# Copyright (c) 2021-2025 tteck
 | 
					 | 
				
			||||||
# Author: MickLesk (Canbiz) & vhsdream
 | 
					 | 
				
			||||||
# License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE
 | 
					 | 
				
			||||||
# Source: https://hoarder.app/
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
APP="Hoarder"
 | 
					 | 
				
			||||||
var_tags="${var_tags:-bookmark}"
 | 
					 | 
				
			||||||
var_cpu="${var_cpu:-2}"
 | 
					 | 
				
			||||||
var_ram="${var_ram:-4096}"
 | 
					 | 
				
			||||||
var_disk="${var_disk:-10}"
 | 
					 | 
				
			||||||
var_os="${var_os:-debian}"
 | 
					 | 
				
			||||||
var_version="${var_version:-12}"
 | 
					 | 
				
			||||||
var_unprivileged="${var_unprivileged:-1}"
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
header_info "$APP"
 | 
					 | 
				
			||||||
variables
 | 
					 | 
				
			||||||
color
 | 
					 | 
				
			||||||
catch_errors
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
function update_script() {
 | 
					 | 
				
			||||||
  header_info
 | 
					 | 
				
			||||||
  check_container_storage
 | 
					 | 
				
			||||||
  check_container_resources
 | 
					 | 
				
			||||||
  if [[ ! -d /opt/hoarder ]]; then
 | 
					 | 
				
			||||||
    msg_error "No ${APP} Installation Found!"
 | 
					 | 
				
			||||||
    exit
 | 
					 | 
				
			||||||
  fi
 | 
					 | 
				
			||||||
  RELEASE=$(curl -fsSL https://api.github.com/repos/hoarder-app/hoarder/releases/latest | grep "tag_name" | awk '{print substr($2, 3, length($2)-4) }')
 | 
					 | 
				
			||||||
  PREV_RELEASE=$(cat /opt/${APP}_version.txt)
 | 
					 | 
				
			||||||
  if [[ ! -f /opt/${APP}_version.txt ]] || [[ "${RELEASE}" != "${PREV_RELEASE}" ]]; then
 | 
					 | 
				
			||||||
    msg_info "Stopping Services"
 | 
					 | 
				
			||||||
    systemctl stop hoarder-web hoarder-workers hoarder-browser
 | 
					 | 
				
			||||||
    msg_ok "Stopped Services"
 | 
					 | 
				
			||||||
    msg_info "Updating ${APP} to v${RELEASE}"
 | 
					 | 
				
			||||||
    if [[ $(corepack -v) < "0.31.0" ]]; then
 | 
					 | 
				
			||||||
      $STD npm install -g corepack@0.31.0
 | 
					 | 
				
			||||||
    fi
 | 
					 | 
				
			||||||
    if [[ "${PREV_RELEASE}" < 0.23.0 ]]; then
 | 
					 | 
				
			||||||
      $STD apt-get install -y graphicsmagick ghostscript
 | 
					 | 
				
			||||||
    fi
 | 
					 | 
				
			||||||
    cd /opt
 | 
					 | 
				
			||||||
    if [[ -f /opt/hoarder/.env ]] && [[ ! -f /etc/hoarder/hoarder.env ]]; then
 | 
					 | 
				
			||||||
      mkdir -p /etc/hoarder
 | 
					 | 
				
			||||||
      mv /opt/hoarder/.env /etc/hoarder/hoarder.env
 | 
					 | 
				
			||||||
    fi
 | 
					 | 
				
			||||||
    rm -rf /opt/hoarder
 | 
					 | 
				
			||||||
    curl -fsSL "https://github.com/hoarder-app/hoarder/archive/refs/tags/v${RELEASE}.zip" -o "v${RELEASE}.zip"
 | 
					 | 
				
			||||||
    $STD unzip v"${RELEASE}".zip
 | 
					 | 
				
			||||||
    mv karakeep-"${RELEASE}" /opt/hoarder
 | 
					 | 
				
			||||||
    cd /opt/hoarder/apps/web
 | 
					 | 
				
			||||||
    $STD pnpm install --frozen-lockfile
 | 
					 | 
				
			||||||
    $STD pnpm exec next build --experimental-build-mode compile
 | 
					 | 
				
			||||||
    cp -r /opt/hoarder/apps/web/.next/standalone/apps/web/server.js /opt/hoarder/apps/web
 | 
					 | 
				
			||||||
    cd /opt/hoarder/apps/workers
 | 
					 | 
				
			||||||
    $STD pnpm install --frozen-lockfile
 | 
					 | 
				
			||||||
    export DATA_DIR=/opt/hoarder_data
 | 
					 | 
				
			||||||
    cd /opt/hoarder/packages/db
 | 
					 | 
				
			||||||
    $STD pnpm migrate
 | 
					 | 
				
			||||||
    sed -i "s/SERVER_VERSION=${PREV_RELEASE}/SERVER_VERSION=${RELEASE}/" /etc/hoarder/hoarder.env
 | 
					 | 
				
			||||||
    msg_ok "Updated ${APP} to v${RELEASE}"
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
    msg_info "Starting Services"
 | 
					 | 
				
			||||||
    systemctl start hoarder-browser hoarder-workers hoarder-web
 | 
					 | 
				
			||||||
    msg_ok "Started Services"
 | 
					 | 
				
			||||||
    msg_info "Cleaning up"
 | 
					 | 
				
			||||||
    rm -R /opt/v"${RELEASE}".zip
 | 
					 | 
				
			||||||
    echo "${RELEASE}" >/opt/${APP}_version.txt
 | 
					 | 
				
			||||||
    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 "${CREATING}${GN}${APP} setup has been successfully initialized!${CL}"
 | 
					 | 
				
			||||||
echo -e "${INFO}${YW} Access it using the following URL:${CL}"
 | 
					 | 
				
			||||||
echo -e "${TAB}${GATEWAY}${BGN}http://${IP}:3000${CL}"
 | 
					 | 
				
			||||||
@@ -81,9 +81,8 @@ EOF
 | 
				
			|||||||
    msg_ok "Updated Services"
 | 
					    msg_ok "Updated Services"
 | 
				
			||||||
    systemctl daemon-reload
 | 
					    systemctl daemon-reload
 | 
				
			||||||
  fi
 | 
					  fi
 | 
				
			||||||
  RELEASE=$(curl -fsSL https://api.github.com/repos/homarr-labs/homarr/releases/latest | grep "tag_name" | awk '{print substr($2, 3, length($2)-4) }')
 | 
					 | 
				
			||||||
  if [[ "${RELEASE}" != "$(cat ~/.${APP} 2>/dev/null || cat /opt/${APP}_version.txt 2>/dev/null)" ]]; then
 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  if check_for_gh_release "homarr" "homarr-labs/homarr"; then
 | 
				
			||||||
    msg_info "Stopping Services (Patience)"
 | 
					    msg_info "Stopping Services (Patience)"
 | 
				
			||||||
    systemctl stop homarr
 | 
					    systemctl stop homarr
 | 
				
			||||||
    msg_ok "Services Stopped"
 | 
					    msg_ok "Services Stopped"
 | 
				
			||||||
@@ -98,7 +97,6 @@ EOF
 | 
				
			|||||||
    $STD apt upgrade nodejs -y
 | 
					    $STD apt upgrade nodejs -y
 | 
				
			||||||
    msg_ok "Updated Nodejs"
 | 
					    msg_ok "Updated Nodejs"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    $STD command -v jq || $STD apt-get update && $STD apt-get install -y jq
 | 
					 | 
				
			||||||
    NODE_VERSION=$(curl -s https://raw.githubusercontent.com/homarr-labs/homarr/dev/package.json | jq -r '.engines.node | split(">=")[1] | split(".")[0]')
 | 
					    NODE_VERSION=$(curl -s https://raw.githubusercontent.com/homarr-labs/homarr/dev/package.json | jq -r '.engines.node | split(">=")[1] | split(".")[0]')
 | 
				
			||||||
    NODE_MODULE="pnpm@$(curl -s https://raw.githubusercontent.com/homarr-labs/homarr/dev/package.json | jq -r '.packageManager | split("@")[1]')"
 | 
					    NODE_MODULE="pnpm@$(curl -s https://raw.githubusercontent.com/homarr-labs/homarr/dev/package.json | jq -r '.packageManager | split("@")[1]')"
 | 
				
			||||||
    setup_nodejs
 | 
					    setup_nodejs
 | 
				
			||||||
@@ -106,7 +104,7 @@ EOF
 | 
				
			|||||||
    rm -rf /opt/homarr
 | 
					    rm -rf /opt/homarr
 | 
				
			||||||
    fetch_and_deploy_gh_release "homarr" "homarr-labs/homarr"
 | 
					    fetch_and_deploy_gh_release "homarr" "homarr-labs/homarr"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    msg_info "Updating and rebuilding ${APP} to v${RELEASE} (Patience)"
 | 
					    msg_info "Updating and rebuilding ${APP} (Patience)"
 | 
				
			||||||
    rm /opt/run_homarr.sh
 | 
					    rm /opt/run_homarr.sh
 | 
				
			||||||
    cat <<'EOF' >/opt/run_homarr.sh
 | 
					    cat <<'EOF' >/opt/run_homarr.sh
 | 
				
			||||||
#!/bin/bash
 | 
					#!/bin/bash
 | 
				
			||||||
@@ -153,7 +151,6 @@ EOF
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
    mkdir /opt/homarr/build
 | 
					    mkdir /opt/homarr/build
 | 
				
			||||||
    cp ./node_modules/better-sqlite3/build/Release/better_sqlite3.node ./build/better_sqlite3.node
 | 
					    cp ./node_modules/better-sqlite3/build/Release/better_sqlite3.node ./build/better_sqlite3.node
 | 
				
			||||||
    echo "${RELEASE}" >/opt/${APP}_version.txt
 | 
					 | 
				
			||||||
    msg_ok "Updated ${APP}"
 | 
					    msg_ok "Updated ${APP}"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    msg_info "Starting Services"
 | 
					    msg_info "Starting Services"
 | 
				
			||||||
@@ -164,8 +161,6 @@ EOF
 | 
				
			|||||||
    if [[ "$choice" =~ ^[Yy]$ ]]; then
 | 
					    if [[ "$choice" =~ ^[Yy]$ ]]; then
 | 
				
			||||||
      reboot
 | 
					      reboot
 | 
				
			||||||
    fi
 | 
					    fi
 | 
				
			||||||
  else
 | 
					 | 
				
			||||||
    msg_ok "No update required. ${APP} is already at v${RELEASE}"
 | 
					 | 
				
			||||||
  fi
 | 
					  fi
 | 
				
			||||||
  exit
 | 
					  exit
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -1,165 +0,0 @@
 | 
				
			|||||||
#!/usr/bin/env bash
 | 
					 | 
				
			||||||
source <(curl -fsSL https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/misc/build.func)
 | 
					 | 
				
			||||||
# Copyright (c) 2021-2025 community-scripts ORG
 | 
					 | 
				
			||||||
# Author: tteck (tteckster) | Co-Author: MickLesk (CanbiZ)
 | 
					 | 
				
			||||||
# License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE
 | 
					 | 
				
			||||||
# Source: https://www.home-assistant.io/
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
APP="Home Assistant-Core"
 | 
					 | 
				
			||||||
var_tags="${var_tags:-automation;smarthome}"
 | 
					 | 
				
			||||||
var_cpu="${var_cpu:-2}"
 | 
					 | 
				
			||||||
var_ram="${var_ram:-2048}"
 | 
					 | 
				
			||||||
var_disk="${var_disk:-10}"
 | 
					 | 
				
			||||||
var_os="${var_os:-ubuntu}"
 | 
					 | 
				
			||||||
var_version="${var_version:-24.10}"
 | 
					 | 
				
			||||||
var_unprivileged="${var_unprivileged:-1}"
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
header_info "$APP"
 | 
					 | 
				
			||||||
variables
 | 
					 | 
				
			||||||
color
 | 
					 | 
				
			||||||
catch_errors
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
function update_script() {
 | 
					 | 
				
			||||||
  header_info
 | 
					 | 
				
			||||||
  if ! lsb_release -d | grep -q "Ubuntu 24.10"; then
 | 
					 | 
				
			||||||
    msg_error "Wrong OS detected. This script only supports Ubuntu 24.10."
 | 
					 | 
				
			||||||
    msg_error "Read Guide: https://github.com/community-scripts/ProxmoxVE/discussions/1549"
 | 
					 | 
				
			||||||
    exit 1
 | 
					 | 
				
			||||||
  fi
 | 
					 | 
				
			||||||
  check_container_storage
 | 
					 | 
				
			||||||
  check_container_resources
 | 
					 | 
				
			||||||
  if [[ ! -d /srv/homeassistant ]]; then
 | 
					 | 
				
			||||||
    msg_error "No ${APP} Installation Found!"
 | 
					 | 
				
			||||||
    exit 1
 | 
					 | 
				
			||||||
  fi
 | 
					 | 
				
			||||||
  setup_uv
 | 
					 | 
				
			||||||
  IP=$(hostname -I | awk '{print $1}')
 | 
					 | 
				
			||||||
  UPD=$(whiptail --backtitle "Proxmox VE Helper Scripts" --title "UPDATE" --radiolist --cancel-button Exit-Script "Spacebar = Select" 11 58 4 \
 | 
					 | 
				
			||||||
    "1" "Update Core" ON \
 | 
					 | 
				
			||||||
    "2" "Install HACS" OFF \
 | 
					 | 
				
			||||||
    "3" "Install FileBrowser" OFF \
 | 
					 | 
				
			||||||
    3>&1 1>&2 2>&3)
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
  if [ "$UPD" == "1" ]; then
 | 
					 | 
				
			||||||
    if (whiptail --backtitle "Proxmox VE Helper Scripts" --defaultno --title "SELECT BRANCH" --yesno "Use Beta Branch?" 10 58); then
 | 
					 | 
				
			||||||
      clear
 | 
					 | 
				
			||||||
      header_info
 | 
					 | 
				
			||||||
      echo -e "${GN}Updating to Beta Version${CL}"
 | 
					 | 
				
			||||||
      BR="--pre"
 | 
					 | 
				
			||||||
    else
 | 
					 | 
				
			||||||
      clear
 | 
					 | 
				
			||||||
      header_info
 | 
					 | 
				
			||||||
      echo -e "${GN}Updating to Stable Version${CL}"
 | 
					 | 
				
			||||||
      BR=""
 | 
					 | 
				
			||||||
    fi
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
    msg_info "Stopping Home Assistant"
 | 
					 | 
				
			||||||
    systemctl stop homeassistant
 | 
					 | 
				
			||||||
    msg_ok "Stopped Home Assistant"
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
    if [[ -d /srv/homeassistant/bin ]]; then
 | 
					 | 
				
			||||||
      msg_info "Migrating to .venv-based structure"
 | 
					 | 
				
			||||||
      $STD source /srv/homeassistant/bin/activate
 | 
					 | 
				
			||||||
      PY_VER=$(python3 -c "import sys; print(f'{sys.version_info.major}.{sys.version_info.minor}')")
 | 
					 | 
				
			||||||
      $STD deactivate
 | 
					 | 
				
			||||||
      mv /srv/homeassistant "/srv/homeassistant_backup_$PY_VER"
 | 
					 | 
				
			||||||
      mkdir -p /srv/homeassistant
 | 
					 | 
				
			||||||
      cd /srv/homeassistant
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
      $STD uv python install 3.13
 | 
					 | 
				
			||||||
      UV_PYTHON=$(uv python list | awk '/3\.13\.[0-9]+.*\/root\/.local/ {print $2; exit}')
 | 
					 | 
				
			||||||
      if [[ -z "$UV_PYTHON" ]]; then
 | 
					 | 
				
			||||||
        msg_error "No local Python 3.13 found via uv"
 | 
					 | 
				
			||||||
        exit 1
 | 
					 | 
				
			||||||
      fi
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
      $STD uv venv .venv --python "$UV_PYTHON"
 | 
					 | 
				
			||||||
      $STD source .venv/bin/activate
 | 
					 | 
				
			||||||
      $STD uv pip install homeassistant mysqlclient psycopg2-binary isal webrtcvad wheel
 | 
					 | 
				
			||||||
      mkdir -p /root/.homeassistant
 | 
					 | 
				
			||||||
      msg_ok "Migration complete"
 | 
					 | 
				
			||||||
    else
 | 
					 | 
				
			||||||
      source /srv/homeassistant/.venv/bin/activate
 | 
					 | 
				
			||||||
    fi
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
    msg_info "Updating Home Assistant"
 | 
					 | 
				
			||||||
    $STD uv pip install $BR --upgrade homeassistant
 | 
					 | 
				
			||||||
    msg_ok "Updated Home Assistant"
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
    msg_info "Starting Home Assistant"
 | 
					 | 
				
			||||||
    if [[ -f /etc/systemd/system/homeassistant.service ]] && grep -q "/srv/homeassistant/bin/python3" /etc/systemd/system/homeassistant.service; then
 | 
					 | 
				
			||||||
      sed -i 's|ExecStart=/srv/homeassistant/bin/python3|ExecStart=/srv/homeassistant/.venv/bin/python3|' /etc/systemd/system/homeassistant.service
 | 
					 | 
				
			||||||
      sed -i 's|PATH=/srv/homeassistant/bin|PATH=/srv/homeassistant/.venv/bin|' /etc/systemd/system/homeassistant.service
 | 
					 | 
				
			||||||
      $STD systemctl daemon-reload
 | 
					 | 
				
			||||||
    fi
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
    systemctl start homeassistant
 | 
					 | 
				
			||||||
    sleep 5
 | 
					 | 
				
			||||||
    msg_ok "Started Home Assistant"
 | 
					 | 
				
			||||||
    msg_ok "Update Successful"
 | 
					 | 
				
			||||||
    echo -e "${TAB}${GATEWAY}${BGN}http://${IP}:8123${CL}"
 | 
					 | 
				
			||||||
    exit
 | 
					 | 
				
			||||||
  fi
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
  if [ "$UPD" == "2" ]; then
 | 
					 | 
				
			||||||
    msg_info "Installing Home Assistant Community Store (HACS)"
 | 
					 | 
				
			||||||
    $STD apt update
 | 
					 | 
				
			||||||
    cd /root/.homeassistant
 | 
					 | 
				
			||||||
    $STD bash <(curl -fsSL https://get.hacs.xyz)
 | 
					 | 
				
			||||||
    msg_ok "Installed Home Assistant Community Store (HACS)"
 | 
					 | 
				
			||||||
    echo -e "\n Reboot Home Assistant and clear browser cache then Add HACS integration.\n"
 | 
					 | 
				
			||||||
    exit
 | 
					 | 
				
			||||||
  fi
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
  if [ "$UPD" == "3" ]; then
 | 
					 | 
				
			||||||
    set +Eeuo pipefail
 | 
					 | 
				
			||||||
    read -r -p "${TAB3}Would you like to use No Authentication? <y/N> " prompt
 | 
					 | 
				
			||||||
    msg_info "Installing FileBrowser"
 | 
					 | 
				
			||||||
    RELEASE=$(curl -fsSL https://api.github.com/repos/filebrowser/filebrowser/releases/latest | grep -o '"tag_name": ".*"' | sed 's/"//g' | sed 's/tag_name: //g')
 | 
					 | 
				
			||||||
    $STD curl -fsSL https://github.com/filebrowser/filebrowser/releases/download/$RELEASE/linux-amd64-filebrowser.tar.gz | tar -xzv -C /usr/local/bin
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
    if [[ "${prompt,,}" =~ ^(y|yes)$ ]]; then
 | 
					 | 
				
			||||||
      $STD filebrowser config init -a '0.0.0.0'
 | 
					 | 
				
			||||||
      $STD filebrowser config set -a '0.0.0.0'
 | 
					 | 
				
			||||||
      $STD filebrowser config set --auth.method=noauth
 | 
					 | 
				
			||||||
      $STD filebrowser users add ID 1 --perm.admin
 | 
					 | 
				
			||||||
    else
 | 
					 | 
				
			||||||
      $STD filebrowser config init -a '0.0.0.0'
 | 
					 | 
				
			||||||
      $STD filebrowser config set -a '0.0.0.0'
 | 
					 | 
				
			||||||
      $STD filebrowser users add admin helper-scripts.com --perm.admin
 | 
					 | 
				
			||||||
    fi
 | 
					 | 
				
			||||||
    msg_ok "Installed FileBrowser"
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
    msg_info "Creating Service"
 | 
					 | 
				
			||||||
    cat <<EOF >/etc/systemd/system/filebrowser.service
 | 
					 | 
				
			||||||
[Unit]
 | 
					 | 
				
			||||||
Description=Filebrowser
 | 
					 | 
				
			||||||
After=network-online.target
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
[Service]
 | 
					 | 
				
			||||||
User=root
 | 
					 | 
				
			||||||
WorkingDirectory=/root/
 | 
					 | 
				
			||||||
ExecStart=/usr/local/bin/filebrowser -r /root/.homeassistant
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
[Install]
 | 
					 | 
				
			||||||
WantedBy=default.target
 | 
					 | 
				
			||||||
EOF
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
    systemctl enable --now -q filebrowser.service
 | 
					 | 
				
			||||||
    msg_ok "Created Service"
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
    msg_ok "Completed Successfully!\n"
 | 
					 | 
				
			||||||
    echo -e "FileBrowser should be reachable by going to the following URL.
 | 
					 | 
				
			||||||
         ${BL}http://$IP:8080${CL}   admin|helper-scripts.com\n"
 | 
					 | 
				
			||||||
    exit
 | 
					 | 
				
			||||||
  fi
 | 
					 | 
				
			||||||
}
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
start
 | 
					 | 
				
			||||||
build_container
 | 
					 | 
				
			||||||
description
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
msg_ok "Completed Successfully!\n"
 | 
					 | 
				
			||||||
echo -e "${CREATING}${GN}${APP} setup has been successfully initialized!${CL}"
 | 
					 | 
				
			||||||
echo -e "${INFO}${YW} Access it using the following URL:${CL}"
 | 
					 | 
				
			||||||
echo -e "${TAB}${GATEWAY}${BGN}http://${IP}:8123${CL}"
 | 
					 | 
				
			||||||
@@ -22,32 +22,34 @@ function update_script() {
 | 
				
			|||||||
  header_info
 | 
					  header_info
 | 
				
			||||||
  check_container_storage
 | 
					  check_container_storage
 | 
				
			||||||
  check_container_resources
 | 
					  check_container_resources
 | 
				
			||||||
  if [[ ! -d /opt/homebox ]]; then
 | 
					  if [[ ! -f /etc/systemd/system/homebox.service ]]; then
 | 
				
			||||||
    msg_error "No ${APP} Installation Found!"
 | 
					    msg_error "No ${APP} Installation Found!"
 | 
				
			||||||
    exit
 | 
					    exit
 | 
				
			||||||
  fi
 | 
					  fi
 | 
				
			||||||
  if [[ -x /opt/homebox ]]; then
 | 
					  if [[ -x /opt/homebox ]]; then
 | 
				
			||||||
    sed -i 's|/opt\b|/opt/homebox|g' /etc/systemd/system/homebox.service
 | 
					    sed -i 's|WorkingDirectory=/opt$|WorkingDirectory=/opt/homebox|' /etc/systemd/system/homebox.service
 | 
				
			||||||
    sed -i 's|^ExecStart=/opt/homebox$|ExecStart=/opt/homebox/homebox|' /etc/systemd/system/homebox.service
 | 
					    sed -i 's|ExecStart=/opt/homebox$|ExecStart=/opt/homebox/homebox|' /etc/systemd/system/homebox.service
 | 
				
			||||||
 | 
					    sed -i 's|EnvironmentFile=/opt/.env$|EnvironmentFile=/opt/homebox/.env|' /etc/systemd/system/homebox.service
 | 
				
			||||||
 | 
					    systemctl daemon-reload
 | 
				
			||||||
  fi
 | 
					  fi
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  RELEASE=$(curl -fsSL https://api.github.com/repos/sysadminsmedia/homebox/releases/latest | grep "tag_name" | awk '{print substr($2, 3, length($2)-4) }')
 | 
					  if check_for_gh_release "homebox" "sysadminsmedia/homebox"; then
 | 
				
			||||||
  if [[ "${RELEASE}" != "$(cat ~/.homebox 2>/dev/null)" ]] || [[ ! -f ~/.homebox ]]; then
 | 
					 | 
				
			||||||
    msg_info "Stopping ${APP}"
 | 
					    msg_info "Stopping ${APP}"
 | 
				
			||||||
    systemctl stop homebox
 | 
					    systemctl stop homebox
 | 
				
			||||||
    msg_ok "${APP} Stopped"
 | 
					    msg_ok "${APP} Stopped"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    if [ -f /opt/homebox ] && [ -x /opt/homebox ]; then
 | 
				
			||||||
 | 
					      rm -f /opt/homebox
 | 
				
			||||||
 | 
					    fi
 | 
				
			||||||
    fetch_and_deploy_gh_release "homebox" "sysadminsmedia/homebox" "prebuild" "latest" "/opt/homebox" "homebox_Linux_x86_64.tar.gz"
 | 
					    fetch_and_deploy_gh_release "homebox" "sysadminsmedia/homebox" "prebuild" "latest" "/opt/homebox" "homebox_Linux_x86_64.tar.gz"
 | 
				
			||||||
    chmod +x /opt/homebox/homebox
 | 
					    chmod +x /opt/homebox/homebox
 | 
				
			||||||
    [ -f /opt/.env ] && mv /opt/.env /opt/homebox/.env
 | 
					    [ -f /opt/.env ] && mv /opt/.env /opt/homebox/.env
 | 
				
			||||||
 | 
					    [ -d /opt/.data ] && mv /opt/.data /opt/homebox/.data
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    msg_info "Starting ${APP}"
 | 
					    msg_info "Starting ${APP}"
 | 
				
			||||||
    systemctl start homebox
 | 
					    systemctl start homebox
 | 
				
			||||||
    msg_ok "Started ${APP}"
 | 
					    msg_ok "Started ${APP}"
 | 
				
			||||||
 | 
					 | 
				
			||||||
    msg_ok "Updated Successfully"
 | 
					    msg_ok "Updated Successfully"
 | 
				
			||||||
  else
 | 
					 | 
				
			||||||
    msg_ok "No update required. ${APP} is already at ${RELEASE}"
 | 
					 | 
				
			||||||
  fi
 | 
					  fi
 | 
				
			||||||
  exit
 | 
					  exit
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 
 | 
				
			|||||||
							
								
								
									
										71
									
								
								ct/hortusfox.sh
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										71
									
								
								ct/hortusfox.sh
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,71 @@
 | 
				
			|||||||
 | 
					#!/usr/bin/env bash
 | 
				
			||||||
 | 
					source <(curl -fsSL https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/misc/build.func)
 | 
				
			||||||
 | 
					# Copyright (c) 2021-2025 community-scripts ORG
 | 
				
			||||||
 | 
					# Author: MickLesk (CanbiZ)
 | 
				
			||||||
 | 
					# License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE
 | 
				
			||||||
 | 
					# Source: https://github.com/danielbrendel/hortusfox-web
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					APP="HortusFox"
 | 
				
			||||||
 | 
					var_tags="${var_tags:-plants}"
 | 
				
			||||||
 | 
					var_cpu="${var_cpu:-2}"
 | 
				
			||||||
 | 
					var_ram="${var_ram:-2048}"
 | 
				
			||||||
 | 
					var_disk="${var_disk:-5}"
 | 
				
			||||||
 | 
					var_os="${var_os:-debian}"
 | 
				
			||||||
 | 
					var_version="${var_version:-12}"
 | 
				
			||||||
 | 
					var_unprivileged="${var_unprivileged:-1}"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					header_info "$APP"
 | 
				
			||||||
 | 
					variables
 | 
				
			||||||
 | 
					color
 | 
				
			||||||
 | 
					catch_errors
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					function update_script() {
 | 
				
			||||||
 | 
					  header_info
 | 
				
			||||||
 | 
					  check_container_storage
 | 
				
			||||||
 | 
					  check_container_resources
 | 
				
			||||||
 | 
					  if [[ ! -d /opt/hortusfox ]]; then
 | 
				
			||||||
 | 
					    msg_error "No ${APP} Installation Found!"
 | 
				
			||||||
 | 
					    exit
 | 
				
			||||||
 | 
					  fi
 | 
				
			||||||
 | 
					  if check_for_gh_release "hortusfox" "danielbrendel/hortusfox-web"; then
 | 
				
			||||||
 | 
					    msg_info "Stopping Service"
 | 
				
			||||||
 | 
					    systemctl stop apache2
 | 
				
			||||||
 | 
					    msg_ok "Stopped Service"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    msg_info "Backing up current HortusFox installation"
 | 
				
			||||||
 | 
					    cd /opt
 | 
				
			||||||
 | 
					    mv /opt/hortusfox/ /opt/hortusfox-backup
 | 
				
			||||||
 | 
					    msg_ok "Backed up current HortusFox installation"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    fetch_and_deploy_gh_release "hortusfox" "danielbrendel/hortusfox-web"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    msg_info "Updating HortusFox"
 | 
				
			||||||
 | 
					    cd /opt/hortusfox
 | 
				
			||||||
 | 
					    mv /opt/hortusfox-backup/.env /opt/hortusfox/.env
 | 
				
			||||||
 | 
					    $STD composer install --no-dev --optimize-autoloader
 | 
				
			||||||
 | 
					    $STD php asatru migrate --no-interaction
 | 
				
			||||||
 | 
					    $STD php asatru plants:attributes
 | 
				
			||||||
 | 
					    $STD php asatru calendar:classes
 | 
				
			||||||
 | 
					    chown -R www-data:www-data /opt/hortusfox
 | 
				
			||||||
 | 
					    msg_ok "Updated HortusFox"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    msg_info "Starting Service"
 | 
				
			||||||
 | 
					    systemctl start apache2
 | 
				
			||||||
 | 
					    msg_ok "Started Service"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    msg_info "Cleaning up"
 | 
				
			||||||
 | 
					    rm -r /opt/hortusfox-backup
 | 
				
			||||||
 | 
					    msg_ok "Cleaned"
 | 
				
			||||||
 | 
					    msg_ok "Updated Successfully"
 | 
				
			||||||
 | 
					  fi
 | 
				
			||||||
 | 
					  exit
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					start
 | 
				
			||||||
 | 
					build_container
 | 
				
			||||||
 | 
					description
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					msg_ok "Completed Successfully!\n"
 | 
				
			||||||
 | 
					echo -e "${CREATING}${GN}${APP} setup has been successfully initialized!${CL}"
 | 
				
			||||||
 | 
					echo -e "${INFO}${YW} Access it using the following URL:${CL}"
 | 
				
			||||||
 | 
					echo -e "${TAB}${GATEWAY}${BGN}http://${IP}${CL}"
 | 
				
			||||||
@@ -30,26 +30,24 @@ function update_script() {
 | 
				
			|||||||
  fi
 | 
					  fi
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  setup_uv
 | 
					  setup_uv
 | 
				
			||||||
  RELEASE=$(curl -fsSL https://api.github.com/repos/plexguide/Huntarr.io/releases/latest | grep "tag_name" | awk '{print substr($2, 2, length($2)-3)}')
 | 
					
 | 
				
			||||||
  if [[ -f ~/.huntarr && "${RELEASE}" == "$(cat ~/.huntarr)" ]]; then
 | 
					  if check_for_gh_release "huntarr" "plexguide/Huntarr.io"; then
 | 
				
			||||||
    msg_ok "No update required. ${APP} is already at ${RELEASE}"
 | 
					    msg_info "Stopping huntarr"
 | 
				
			||||||
    exit
 | 
					    systemctl stop huntarr
 | 
				
			||||||
 | 
					    msg_ok "Stopped huntarr"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    fetch_and_deploy_gh_release "huntarr" "plexguide/Huntarr.io"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    msg_info "Configuring $APP"
 | 
				
			||||||
 | 
					    cd /opt/huntarr
 | 
				
			||||||
 | 
					    $STD uv pip install -r requirements.txt --python /opt/huntarr/.venv/bin/python
 | 
				
			||||||
 | 
					    msg_ok "Configured $APP"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    msg_info "Starting $APP"
 | 
				
			||||||
 | 
					    systemctl start huntarr
 | 
				
			||||||
 | 
					    msg_ok "Started $APP"
 | 
				
			||||||
 | 
					    msg_ok "Updated $APP"
 | 
				
			||||||
  fi
 | 
					  fi
 | 
				
			||||||
  msg_info "Stopping huntarr service"
 | 
					 | 
				
			||||||
  systemctl stop huntarr
 | 
					 | 
				
			||||||
  msg_ok "Stopped huntarr service"
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
  fetch_and_deploy_gh_release "huntarr" "plexguide/Huntarr.io"
 | 
					 | 
				
			||||||
  msg_info "Configuring $APP"
 | 
					 | 
				
			||||||
  cd /opt/huntarr
 | 
					 | 
				
			||||||
  $STD uv pip install -r requirements.txt --python /opt/huntarr/.venv/bin/python
 | 
					 | 
				
			||||||
  msg_ok "Configured $APP"
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
  msg_info "Starting $APP"
 | 
					 | 
				
			||||||
  systemctl start huntarr
 | 
					 | 
				
			||||||
  msg_ok "Started $APP"
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
  msg_ok "Updated $APP to v${RELEASE}"
 | 
					 | 
				
			||||||
  exit
 | 
					  exit
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 
 | 
				
			|||||||
Some files were not shown because too many files have changed in this diff Show More
		Reference in New Issue
	
	Block a user