mirror of
				https://github.com/community-scripts/ProxmoxVE.git
				synced 2025-11-04 02:12:49 +00:00 
			
		
		
		
	Compare commits
	
		
			458 Commits
		
	
	
		
			2025-09-27
			...
			asterisk_f
		
	
	| Author | SHA1 | Date | |
|---|---|---|---|
| 
						 | 
					8984dbf601 | ||
| 
						 | 
					5a01dd2ec9 | ||
| 
						 | 
					7aaaa9a71f | ||
| 
						 | 
					cbc2ba1832 | ||
| 
						 | 
					ee02bc1977 | ||
| 
						 | 
					fda22e8890 | ||
| 
						 | 
					6f52a6cff9 | ||
| 
						 | 
					be539981f8 | ||
| 
						 | 
					2009da9a79 | ||
| 
						 | 
					a5fb2c0fb6 | ||
| 
						 | 
					ac32d7a304 | ||
| 
						 | 
					3fe234b021 | ||
| 
						 | 
					b9404efc57 | ||
| 
						 | 
					304de66ec1 | ||
| 
						 | 
					9f565d3914 | ||
| 
						 | 
					e702c552c5 | ||
| 
						 | 
					b853739fdc | ||
| 
						 | 
					c84c44804f | ||
| 
						 | 
					f77c2594c3 | ||
| 
						 | 
					b3849dbf2b | ||
| 
						 | 
					2cd02870c5 | ||
| 
						 | 
					f6da623676 | ||
| 
						 | 
					a4e1d261af | ||
| 
						 | 
					909dbc20ce | ||
| 
						 | 
					3a1f1bf813 | ||
| 
						 | 
					0adc827c69 | ||
| 
						 | 
					279d3d391a | ||
| 
						 | 
					15047893bc | ||
| 
						 | 
					8b54f615a8 | ||
| 
						 | 
					57d435647b | ||
| 
						 | 
					fe2734f96a | ||
| 
						 | 
					01f1985d2d | ||
| 
						 | 
					92f9033981 | ||
| 
						 | 
					e1603bebec | ||
| 
						 | 
					abdbca59ff | ||
| 
						 | 
					6c662ae6ea | ||
| 
						 | 
					5c04c89f3f | ||
| 
						 | 
					fba1d16626 | ||
| 
						 | 
					3666f4981f | ||
| 
						 | 
					db9809a817 | ||
| 
						 | 
					e69da3846a | ||
| 
						 | 
					cfb76fd0ab | ||
| 
						 | 
					fb11b1a0e2 | ||
| 
						 | 
					66b8d6cb90 | ||
| 
						 | 
					1723775c55 | ||
| 
						 | 
					8852def9a6 | ||
| 
						 | 
					249a02754a | ||
| 
						 | 
					65c79447ea | ||
| 
						 | 
					a6607734b7 | ||
| 
						 | 
					a8d5fc9bc8 | ||
| 
						 | 
					0e7a089949 | ||
| 
						 | 
					e208b571b9 | ||
| 
						 | 
					327544c737 | ||
| 
						 | 
					1c8b7b4e7e | ||
| 
						 | 
					6e5140314f | ||
| 
						 | 
					622f85db23 | ||
| 
						 | 
					55be335b66 | ||
| 
						 | 
					5db685f235 | ||
| 
						 | 
					14027a605a | ||
| 
						 | 
					5f0dba82ad | ||
| 
						 | 
					c0087bf8aa | ||
| 
						 | 
					691fc48915 | ||
| 
						 | 
					fe9e894e79 | ||
| 
						 | 
					43356df77f | ||
| 
						 | 
					e4b96ec200 | ||
| 
						 | 
					01a63d0a9d | ||
| 
						 | 
					0a4a64ca0c | ||
| 
						 | 
					4cdb43065d | ||
| 
						 | 
					add12ef634 | ||
| 
						 | 
					3ab5167d8a | ||
| 
						 | 
					b16a7f4562 | ||
| 
						 | 
					fa3f993256 | ||
| 
						 | 
					c0894cb612 | ||
| 
						 | 
					3b96230327 | ||
| 
						 | 
					99617f265a | ||
| 
						 | 
					1fe00c2493 | ||
| 
						 | 
					05fd03d160 | ||
| 
						 | 
					e837ebb0e5 | ||
| 
						 | 
					8e1a9ffb07 | ||
| 
						 | 
					af991286dc | ||
| 
						 | 
					c1205691e7 | ||
| 
						 | 
					394787e10e | ||
| 
						 | 
					e37ef10283 | ||
| 
						 | 
					130e3c7efe | ||
| 
						 | 
					634a847c06 | ||
| 
						 | 
					c92f9d5518 | ||
| 
						 | 
					c7fffd85d3 | ||
| 
						 | 
					2ae62055a6 | ||
| 
						 | 
					e6bd1b5759 | ||
| 
						 | 
					55120ae165 | ||
| 
						 | 
					4672934701 | ||
| 
						 | 
					560e1fdad3 | ||
| 
						 | 
					e60020a998 | ||
| 
						 | 
					dfda118e65 | ||
| 
						 | 
					6d7c318dec | ||
| 
						 | 
					9c39c9cd67 | ||
| 
						 | 
					0ed95ea9cb | ||
| 
						 | 
					433119e830 | ||
| 
						 | 
					a794358c14 | ||
| 
						 | 
					0f69e8cc69 | ||
| 
						 | 
					2e34f534eb | ||
| 
						 | 
					1c9d325ae8 | ||
| 
						 | 
					a117cb7a34 | ||
| 
						 | 
					33d61e45c4 | ||
| 
						 | 
					69a6590ab0 | ||
| 
						 | 
					0f2117ceba | ||
| 
						 | 
					87ae749eba | ||
| 
						 | 
					cc4b944b3b | ||
| 
						 | 
					1c14b31a05 | ||
| 
						 | 
					395e522430 | ||
| 
						 | 
					5277be0bc3 | ||
| 
						 | 
					bd8d91057e | ||
| 
						 | 
					de35c2a1f9 | ||
| 
						 | 
					f151c80b8b | ||
| 
						 | 
					5f607a3132 | ||
| 
						 | 
					14bcaa054f | ||
| 
						 | 
					3d01a3bc03 | ||
| 
						 | 
					389e40e6f0 | ||
| 
						 | 
					e94666c4d5 | ||
| 
						 | 
					f81cac1f70 | ||
| 
						 | 
					b8b5e92fd2 | ||
| 
						 | 
					c160079447 | ||
| 
						 | 
					9dc31f48ef | ||
| 
						 | 
					49c8e29a56 | ||
| 
						 | 
					0f1abd953f | ||
| 
						 | 
					56c5067853 | ||
| 
						 | 
					ee8e7f5bf0 | ||
| 
						 | 
					b2b892c430 | ||
| 
						 | 
					ef4fab1a2c | ||
| 
						 | 
					dc358da26f | ||
| 
						 | 
					345708aae6 | ||
| 
						 | 
					bcdbbc4678 | ||
| 
						 | 
					af0bd86db4 | ||
| 
						 | 
					c188984601 | ||
| 
						 | 
					489339ce4e | ||
| 
						 | 
					523d2b66bd | ||
| 
						 | 
					9a40d53d06 | ||
| 
						 | 
					a257a77f63 | ||
| 
						 | 
					25251add27 | ||
| 
						 | 
					ea1021095d | ||
| 
						 | 
					932de62b38 | ||
| 
						 | 
					8fd8bb407e | ||
| 
						 | 
					8ece0e3676 | ||
| 
						 | 
					b34a449d9f | ||
| 
						 | 
					60be24660d | ||
| 
						 | 
					a2be293397 | ||
| 
						 | 
					e44e8a30d1 | ||
| 
						 | 
					3cd8d0d08b | ||
| 
						 | 
					2d95a73923 | ||
| 
						 | 
					3743af8c78 | ||
| 
						 | 
					f91daa6b72 | ||
| 
						 | 
					4685612685 | ||
| 
						 | 
					f4106db935 | ||
| 
						 | 
					4a4dbfa15e | ||
| 
						 | 
					475ccd7a33 | ||
| 
						 | 
					b36b4258cc | ||
| 
						 | 
					8ab6e2d469 | ||
| 
						 | 
					22e71e5a05 | ||
| 
						 | 
					edb105fad9 | ||
| 
						 | 
					6584d658e1 | ||
| 
						 | 
					6877f53853 | ||
| 
						 | 
					83ad8433bd | ||
| 
						 | 
					da552dcbd8 | ||
| 
						 | 
					77aba17771 | ||
| 
						 | 
					3df8fadbba | ||
| 
						 | 
					59f8e85b1c | ||
| 
						 | 
					eaed744f2e | ||
| 
						 | 
					14bd66ed91 | ||
| 
						 | 
					5c0ce0959e | ||
| 
						 | 
					35810eb770 | ||
| 
						 | 
					048d468e8f | ||
| 
						 | 
					a204f29f48 | ||
| 
						 | 
					b17257f464 | ||
| 
						 | 
					01ccfc023a | ||
| 
						 | 
					c055781fed | ||
| 
						 | 
					c6b85deb13 | ||
| 
						 | 
					b56e8d0bbb | ||
| 
						 | 
					32d98aa3c5 | ||
| 
						 | 
					1611e48581 | ||
| 
						 | 
					2b5ec97862 | ||
| 
						 | 
					f761d9bf7c | ||
| 
						 | 
					996294daae | ||
| 
						 | 
					e87bce1542 | ||
| 
						 | 
					730b16af72 | ||
| 
						 | 
					554ea0d65e | ||
| 
						 | 
					6ee5c9eab4 | ||
| 
						 | 
					bd38e7bdf4 | ||
| 
						 | 
					78c8933855 | ||
| 
						 | 
					c16e187f36 | ||
| 
						 | 
					ac89626832 | ||
| 
						 | 
					72ecf11324 | ||
| 
						 | 
					98f2bd9783 | ||
| 
						 | 
					ca2c708ad6 | ||
| 
						 | 
					b46820966e | ||
| 
						 | 
					d0cee74371 | ||
| 
						 | 
					8f09a1c8e7 | ||
| 
						 | 
					f9a51de384 | ||
| 
						 | 
					67cff5e18a | ||
| 
						 | 
					4625dc58cb | ||
| 
						 | 
					2d2f284a0b | ||
| 
						 | 
					4fad531e0d | ||
| 
						 | 
					36259b6951 | ||
| 
						 | 
					f1f960a71a | ||
| 
						 | 
					30f462b62a | ||
| 
						 | 
					55a369ded6 | ||
| 
						 | 
					f47991cda1 | ||
| 
						 | 
					3cd857f2e0 | ||
| 
						 | 
					6e331d3456 | ||
| 
						 | 
					d46c948f2d | ||
| 
						 | 
					6c8975e4aa | ||
| 
						 | 
					50ddb09cee | ||
| 
						 | 
					341f87045c | ||
| 
						 | 
					fbf4bf34aa | ||
| 
						 | 
					12eec5f160 | ||
| 
						 | 
					64ea47c2f4 | ||
| 
						 | 
					62d0c247dc | ||
| 
						 | 
					535589c3dd | ||
| 
						 | 
					2610ef524d | ||
| 
						 | 
					239cc1c278 | ||
| 
						 | 
					feb014ab79 | ||
| 
						 | 
					eb2c3b7156 | ||
| 
						 | 
					2d807eedab | ||
| 
						 | 
					7c2bfc7c38 | ||
| 
						 | 
					67445bd9ed | ||
| 
						 | 
					0303e93c40 | ||
| 
						 | 
					53f397512a | ||
| 
						 | 
					f303b5e3ef | ||
| 
						 | 
					13098ec5b7 | ||
| 
						 | 
					36726e2263 | ||
| 
						 | 
					d4dd02c115 | ||
| 
						 | 
					dbeb56afe9 | ||
| 
						 | 
					4da1be45b5 | ||
| 
						 | 
					d32f0653fb | ||
| 
						 | 
					e4179ddafe | ||
| 
						 | 
					e4ec0e4032 | ||
| 
						 | 
					1fd132e6d3 | ||
| 
						 | 
					7a6f6631b2 | ||
| 
						 | 
					c9f031f8af | ||
| 
						 | 
					9ba1e00de6 | ||
| 
						 | 
					fd32db9157 | ||
| 
						 | 
					bd7aef10cc | ||
| 
						 | 
					21bb9c618b | ||
| 
						 | 
					68924a2fc2 | ||
| 
						 | 
					fce7c8a100 | ||
| 
						 | 
					e0ffcb4160 | ||
| 
						 | 
					f0fa24e1a5 | ||
| 
						 | 
					a015537d0b | ||
| 
						 | 
					2244676cee | ||
| 
						 | 
					b4f0fcb3d3 | ||
| 
						 | 
					b39672f92e | ||
| 
						 | 
					45e1e490aa | ||
| 
						 | 
					bda3f22016 | ||
| 
						 | 
					03af580449 | ||
| 
						 | 
					a43f97df92 | ||
| 
						 | 
					d53a249bbf | ||
| 
						 | 
					1bdd93a137 | ||
| 
						 | 
					e2e63cf319 | ||
| 
						 | 
					4a7648da94 | ||
| 
						 | 
					86a1aadfda | ||
| 
						 | 
					2fefd45b2f | ||
| 
						 | 
					220196309b | ||
| 
						 | 
					984d722563 | ||
| 
						 | 
					f81e50c430 | ||
| 
						 | 
					9b4812df33 | ||
| 
						 | 
					0ba2abc53d | ||
| 
						 | 
					a733c85293 | ||
| 
						 | 
					8199c77708 | ||
| 
						 | 
					58f56851f2 | ||
| 
						 | 
					ab6974186c | ||
| 
						 | 
					578b9fc7de | ||
| 
						 | 
					67c7c32b7b | ||
| 
						 | 
					ca6bcfc087 | ||
| 
						 | 
					fc644d8434 | ||
| 
						 | 
					3e0ffc193b | ||
| 
						 | 
					21513cffbc | ||
| 
						 | 
					2d838629eb | ||
| 
						 | 
					a672b22650 | ||
| 
						 | 
					3f02934bf5 | ||
| 
						 | 
					162ac5b066 | ||
| 
						 | 
					f58b58806b | ||
| 
						 | 
					e12b9383a9 | ||
| 
						 | 
					62feaf76f4 | ||
| 
						 | 
					5aeb235768 | ||
| 
						 | 
					1ae9543eec | ||
| 
						 | 
					efecfdfb2d | ||
| 
						 | 
					4b5fc75ee1 | ||
| 
						 | 
					f39b17ad7a | ||
| 
						 | 
					1f5a83732e | ||
| 
						 | 
					8d058f78d5 | ||
| 
						 | 
					4515070a97 | ||
| 
						 | 
					8c6b5c3534 | ||
| 
						 | 
					d07affa368 | ||
| 
						 | 
					b7511fa41f | ||
| 
						 | 
					0f11893fd2 | ||
| 
						 | 
					1045d75f3e | ||
| 
						 | 
					23b9f54f0f | ||
| 
						 | 
					9884f2a9f9 | ||
| 
						 | 
					e7b2b86648 | ||
| 
						 | 
					ec1391c233 | ||
| 
						 | 
					32230b4b0e | ||
| 
						 | 
					10673493c0 | ||
| 
						 | 
					dccf2f78e2 | ||
| 
						 | 
					77188d25c9 | ||
| 
						 | 
					de47dfe287 | ||
| 
						 | 
					5716eb3086 | ||
| 
						 | 
					05c7b84a2f | ||
| 
						 | 
					2681528ec6 | ||
| 
						 | 
					3be6e206b5 | ||
| 
						 | 
					264ff2b602 | ||
| 
						 | 
					ab38031a32 | ||
| 
						 | 
					5b23ef6bb0 | ||
| 
						 | 
					659ea81740 | ||
| 
						 | 
					a127124080 | ||
| 
						 | 
					cce58c281d | ||
| 
						 | 
					888dbd6061 | ||
| 
						 | 
					bfcda5d07a | ||
| 
						 | 
					2e4ea927ea | ||
| 
						 | 
					78a66c3612 | ||
| 
						 | 
					86e67fc5cf | ||
| 
						 | 
					c75be209e2 | ||
| 
						 | 
					ad1650ddc2 | ||
| 
						 | 
					637e66d79d | ||
| 
						 | 
					a2774ea013 | ||
| 
						 | 
					6027811e4a | ||
| 
						 | 
					2e42b6d752 | ||
| 
						 | 
					71a40f17ea | ||
| 
						 | 
					f2b98890d6 | ||
| 
						 | 
					b9d4fa6bb4 | ||
| 
						 | 
					beeed04666 | ||
| 
						 | 
					f618e207c1 | ||
| 
						 | 
					7670c7402c | ||
| 
						 | 
					ecef9a346e | ||
| 
						 | 
					dcb3bfe763 | ||
| 
						 | 
					1bd231752e | ||
| 
						 | 
					abc95db08a | ||
| 
						 | 
					a475eff11e | ||
| 
						 | 
					7245af7208 | ||
| 
						 | 
					c3a75d8a5d | ||
| 
						 | 
					3b81c36e75 | ||
| 
						 | 
					588cebad26 | ||
| 
						 | 
					830b2d9e37 | ||
| 
						 | 
					2092c5bdce | ||
| 
						 | 
					e87dc5dbbc | ||
| 
						 | 
					479ce977e6 | ||
| 
						 | 
					a2057d4302 | ||
| 
						 | 
					bbe509c334 | ||
| 
						 | 
					563a69e68b | ||
| 
						 | 
					7ab2bcbb40 | ||
| 
						 | 
					57031bdaad | ||
| 
						 | 
					833a369f61 | ||
| 
						 | 
					8f8eb7aba5 | ||
| 
						 | 
					942ff02d37 | ||
| 
						 | 
					3e1753b3c7 | ||
| 
						 | 
					6863c774fa | ||
| 
						 | 
					965b8cb33e | ||
| 
						 | 
					0768456b2c | ||
| 
						 | 
					9f531ef4a7 | ||
| 
						 | 
					6491ec3f09 | ||
| 
						 | 
					9b5fa050c7 | ||
| 
						 | 
					efb8e0f2f3 | ||
| 
						 | 
					07eda340ea | ||
| 
						 | 
					1a37c759c3 | ||
| 
						 | 
					e39dd5ffa3 | ||
| 
						 | 
					aded2cbd56 | ||
| 
						 | 
					2c791b9e41 | ||
| 
						 | 
					d1786241ec | ||
| 
						 | 
					73cf6c66e3 | ||
| 
						 | 
					efc9153926 | ||
| 
						 | 
					1f4b446788 | ||
| 
						 | 
					aeafbb1047 | ||
| 
						 | 
					938609d5eb | ||
| 
						 | 
					ae6ca4de23 | ||
| 
						 | 
					dfdf8c0ddb | ||
| 
						 | 
					4136f5e7e3 | ||
| 
						 | 
					51302d516e | ||
| 
						 | 
					ab995bd493 | ||
| 
						 | 
					ac12051057 | ||
| 
						 | 
					c3cca616a4 | ||
| 
						 | 
					b1bca924b9 | ||
| 
						 | 
					1909e35e62 | ||
| 
						 | 
					237349ef47 | ||
| 
						 | 
					e4cf50dfcd | ||
| 
						 | 
					0c30d8e3e7 | ||
| 
						 | 
					92999b4db3 | ||
| 
						 | 
					4a02986de1 | ||
| 
						 | 
					d06299685f | ||
| 
						 | 
					71f71fbca9 | ||
| 
						 | 
					938fb6dc58 | ||
| 
						 | 
					03d36a6c10 | ||
| 
						 | 
					8e25b70a25 | ||
| 
						 | 
					1840cce15f | ||
| 
						 | 
					1d0ac4ca10 | ||
| 
						 | 
					deb85bd264 | ||
| 
						 | 
					348f8863a8 | ||
| 
						 | 
					74b332b7ec | ||
| 
						 | 
					2fe3ee667b | ||
| 
						 | 
					48e3b66342 | ||
| 
						 | 
					e93dccb0d5 | ||
| 
						 | 
					168e7b7c2b | ||
| 
						 | 
					3f54d0d7f4 | ||
| 
						 | 
					9477677385 | ||
| 
						 | 
					e58d1dc3d2 | ||
| 
						 | 
					2a765f58f0 | ||
| 
						 | 
					8dfb632a4d | ||
| 
						 | 
					42ae2a4cdc | ||
| 
						 | 
					36e41aca22 | ||
| 
						 | 
					6b1141f9de | ||
| 
						 | 
					97f891d53b | ||
| 
						 | 
					0c63e64662 | ||
| 
						 | 
					d83a378af4 | ||
| 
						 | 
					6820bdcade | ||
| 
						 | 
					8ff82d0c3c | ||
| 
						 | 
					9e39c6cd2b | ||
| 
						 | 
					0bea24888e | ||
| 
						 | 
					70d2be62e9 | ||
| 
						 | 
					fe30e06a48 | ||
| 
						 | 
					193a2ea2df | ||
| 
						 | 
					ffbe0feee1 | ||
| 
						 | 
					107865b06d | ||
| 
						 | 
					0d33b38e29 | ||
| 
						 | 
					11ae7450c7 | ||
| 
						 | 
					598bfd291f | ||
| 
						 | 
					1a38df4c12 | ||
| 
						 | 
					cfc85c1b79 | ||
| 
						 | 
					e7d41fecdc | ||
| 
						 | 
					34ef80ac87 | ||
| 
						 | 
					b18d45631f | ||
| 
						 | 
					efe1e1edb5 | ||
| 
						 | 
					4567505c55 | ||
| 
						 | 
					42c87ba0d4 | ||
| 
						 | 
					b52c252553 | ||
| 
						 | 
					be5ac7153e | ||
| 
						 | 
					07f2849722 | ||
| 
						 | 
					760299283a | ||
| 
						 | 
					0bd2dd7a65 | ||
| 
						 | 
					6591c30e66 | ||
| 
						 | 
					780e5c114c | ||
| 
						 | 
					ba10ec721b | ||
| 
						 | 
					f66dc834bd | ||
| 
						 | 
					be36fc6a94 | ||
| 
						 | 
					65ada6e6f3 | ||
| 
						 | 
					853eb40bba | ||
| 
						 | 
					ace6265895 | ||
| 
						 | 
					639d4f2d53 | ||
| 
						 | 
					d7e77e232c | ||
| 
						 | 
					b850d3f79e | ||
| 
						 | 
					72e5ac5c80 | ||
| 
						 | 
					587579b3a1 | ||
| 
						 | 
					9b4e996d93 | ||
| 
						 | 
					e6f317ede9 | ||
| 
						 | 
					3e4420e357 | ||
| 
						 | 
					38f7e81d8b | ||
| 
						 | 
					8f5d50a9fa | ||
| 
						 | 
					32048cff2d | ||
| 
						 | 
					5775f7cf33 | ||
| 
						 | 
					4d7c004810 | ||
| 
						 | 
					d74131fe6f | ||
| 
						 | 
					87b30f67fa | 
							
								
								
									
										59
									
								
								.github/workflows/close_template_issue.yml
									
									
									
										generated
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										59
									
								
								.github/workflows/close_template_issue.yml
									
									
									
										generated
									
									
										vendored
									
									
										Normal file
									
								
							@@ -0,0 +1,59 @@
 | 
			
		||||
name: Auto-Close Wrong Template Issues
 | 
			
		||||
on:
 | 
			
		||||
  issues:
 | 
			
		||||
    types: [opened]
 | 
			
		||||
 | 
			
		||||
jobs:
 | 
			
		||||
  close_tteck_issues:
 | 
			
		||||
    if: github.repository == 'community-scripts/ProxmoxVE'
 | 
			
		||||
    runs-on: ubuntu-latest
 | 
			
		||||
    steps:
 | 
			
		||||
      - name: Auto-close if wrong Template issue detected
 | 
			
		||||
        uses: actions/github-script@v7
 | 
			
		||||
        with:
 | 
			
		||||
          script: |
 | 
			
		||||
            const issue = context.payload.issue;
 | 
			
		||||
            const content = `${issue.title}\n${issue.body}`;
 | 
			
		||||
            const issueNumber = issue.number;
 | 
			
		||||
 | 
			
		||||
            // Regex patterns (case-insensitive, flexible versioning)
 | 
			
		||||
            const patterns = [
 | 
			
		||||
              /Template\s+debian-13-standard_[\d.]+-[\d]+_amd64\.tar\.zst\s*\[(online|local)\]/i,
 | 
			
		||||
              /Template\s+debian-13-standard_[\d.]+-[\d]+_amd64\.tar\.zst\s+is\s+missing\s+or\s+corrupted/i,
 | 
			
		||||
              /Container\s+creation\s+failed\.?\s+Checking\s+if\s+template\s+is\s+corrupted\s+or\s+incomplete/i,
 | 
			
		||||
              /Template\s+is\s+valid,\s+but\s+container\s+creation\s+still\s+failed/i,
 | 
			
		||||
              /exit\s+code\s+0:\s+while\s+executing\s+command\s+bash\s+-c\s+"\$?\(curl\s+-fsSL\s+https:\/\/raw\.githubusercontent\.com\/[\w/-]+\/create_lxc\.sh\)"/i
 | 
			
		||||
            ];
 | 
			
		||||
 | 
			
		||||
            const matched = patterns.some((regex) => regex.test(content));
 | 
			
		||||
 | 
			
		||||
            if (matched) {
 | 
			
		||||
              const message = `👋 Hello!
 | 
			
		||||
 | 
			
		||||
It looks like you are referencing a **container creation issue with a Debian 13 template** (e.g. \`debian-13-standard_13.x-x_amd64.tar.zst\`).
 | 
			
		||||
 | 
			
		||||
We receive many similar reports about this, and it’s not related to the scripts themselves but to **a Proxmox base template bug**.
 | 
			
		||||
 | 
			
		||||
Please refer to [discussion #8126](https://github.com/community-scripts/ProxmoxVE/discussions/8126) for details.  
 | 
			
		||||
If your issue persists after following the guidance there, feel free to reopen this issue.
 | 
			
		||||
 | 
			
		||||
_This issue was automatically closed by a bot._`;
 | 
			
		||||
 | 
			
		||||
              await github.rest.issues.createComment({
 | 
			
		||||
                ...context.repo,
 | 
			
		||||
                issue_number: issueNumber,
 | 
			
		||||
                body: message
 | 
			
		||||
              });
 | 
			
		||||
 | 
			
		||||
              await github.rest.issues.addLabels({
 | 
			
		||||
                ...context.repo,
 | 
			
		||||
                issue_number: issueNumber,
 | 
			
		||||
                labels: ["not planned"]
 | 
			
		||||
              });
 | 
			
		||||
 | 
			
		||||
              await github.rest.issues.update({
 | 
			
		||||
                ...context.repo,
 | 
			
		||||
                issue_number: issueNumber,
 | 
			
		||||
                state: "closed"
 | 
			
		||||
              });
 | 
			
		||||
            }
 | 
			
		||||
							
								
								
									
										14
									
								
								.github/workflows/frontend-cicd.yml
									
									
									
										generated
									
									
										vendored
									
									
								
							
							
						
						
									
										14
									
								
								.github/workflows/frontend-cicd.yml
									
									
									
										generated
									
									
										vendored
									
									
								
							@@ -97,7 +97,7 @@ jobs:
 | 
			
		||||
              success = test_json_files()
 | 
			
		||||
              sys.exit(0 if success else 1)
 | 
			
		||||
          EOF
 | 
			
		||||
  
 | 
			
		||||
 | 
			
		||||
  build:
 | 
			
		||||
    if: github.repository == 'community-scripts/ProxmoxVE'
 | 
			
		||||
    needs: test-json-files
 | 
			
		||||
@@ -109,15 +109,13 @@ jobs:
 | 
			
		||||
      - name: Checkout
 | 
			
		||||
        uses: actions/checkout@v4
 | 
			
		||||
 | 
			
		||||
      - name: Setup Node
 | 
			
		||||
        uses: actions/setup-node@v4
 | 
			
		||||
      - name: Setup Bun
 | 
			
		||||
        uses: oven-sh/setup-bun@v2
 | 
			
		||||
        with:
 | 
			
		||||
          node-version: "20"
 | 
			
		||||
          cache: npm
 | 
			
		||||
          cache-dependency-path: frontend/package-lock.json
 | 
			
		||||
          bun-version: latest
 | 
			
		||||
 | 
			
		||||
      - name: Install dependencies
 | 
			
		||||
        run: npm ci --prefer-offline --legacy-peer-deps
 | 
			
		||||
        run: bun install --frozen-lockfile
 | 
			
		||||
 | 
			
		||||
      - name: Configure Next.js for pages
 | 
			
		||||
        uses: actions/configure-pages@v5
 | 
			
		||||
@@ -125,7 +123,7 @@ jobs:
 | 
			
		||||
          static_site_generator: next
 | 
			
		||||
 | 
			
		||||
      - name: Build with Next.js
 | 
			
		||||
        run: npm run build
 | 
			
		||||
        run: bun run build
 | 
			
		||||
 | 
			
		||||
      - name: Upload artifact
 | 
			
		||||
        if: github.ref == 'refs/heads/main'
 | 
			
		||||
 
 | 
			
		||||
							
								
								
									
										511
									
								
								CHANGELOG.md
									
									
									
									
									
								
							
							
						
						
									
										511
									
								
								CHANGELOG.md
									
									
									
									
									
								
							@@ -10,8 +10,519 @@
 | 
			
		||||
> [!CAUTION]
 | 
			
		||||
Exercise vigilance regarding copycat or coat-tailing sites that seek to exploit the project's popularity for potentially malicious purposes.
 | 
			
		||||
 | 
			
		||||
## 2025-10-29
 | 
			
		||||
 | 
			
		||||
### 🚀 Updated Scripts
 | 
			
		||||
 | 
			
		||||
  - #### 🐞 Bug Fixes
 | 
			
		||||
 | 
			
		||||
    - Dispatcharr: add folders in installer / add more build ressources [@MickLesk](https://github.com/MickLesk) ([#8708](https://github.com/community-scripts/ProxmoxVE/pull/8708))
 | 
			
		||||
    - LibreTranslate: bump torch version [@MickLesk](https://github.com/MickLesk) ([#8710](https://github.com/community-scripts/ProxmoxVE/pull/8710))
 | 
			
		||||
 | 
			
		||||
  - #### 🔧 Refactor
 | 
			
		||||
 | 
			
		||||
    - tracktor: refactor envfile [@CrazyWolf13](https://github.com/CrazyWolf13) ([#8711](https://github.com/community-scripts/ProxmoxVE/pull/8711))
 | 
			
		||||
    - Kimai / Ghost / ManageMyDamnLife: Switch to MariaDB [@MickLesk](https://github.com/MickLesk) ([#8712](https://github.com/community-scripts/ProxmoxVE/pull/8712))
 | 
			
		||||
 | 
			
		||||
## 2025-10-28
 | 
			
		||||
 | 
			
		||||
### 🚀 Updated Scripts
 | 
			
		||||
 | 
			
		||||
  - #### 🐞 Bug Fixes
 | 
			
		||||
 | 
			
		||||
    - Update alpine-komodo.sh fixing missing pull images command [@glopes](https://github.com/glopes) ([#8689](https://github.com/community-scripts/ProxmoxVE/pull/8689))
 | 
			
		||||
 | 
			
		||||
  - #### ✨ New Features
 | 
			
		||||
 | 
			
		||||
    - Update SABnzbd. Include par2cmdline-turbo [@burgerga](https://github.com/burgerga) ([#8648](https://github.com/community-scripts/ProxmoxVE/pull/8648))
 | 
			
		||||
    - jotty: Add more ENV VARS (disabled) [@vhsdream](https://github.com/vhsdream) ([#8688](https://github.com/community-scripts/ProxmoxVE/pull/8688))
 | 
			
		||||
    - Bump bazarr to Debian 13 [@burgerga](https://github.com/burgerga) ([#8677](https://github.com/community-scripts/ProxmoxVE/pull/8677))
 | 
			
		||||
    - Update flaresolverr to Debian 13 [@burgerga](https://github.com/burgerga) ([#8672](https://github.com/community-scripts/ProxmoxVE/pull/8672))
 | 
			
		||||
 | 
			
		||||
## 2025-10-27
 | 
			
		||||
 | 
			
		||||
### 🆕 New Scripts
 | 
			
		||||
 | 
			
		||||
  - Dispatcharr ([#8658](https://github.com/community-scripts/ProxmoxVE/pull/8658))
 | 
			
		||||
- Garage | Alpine-Garage ([#8656](https://github.com/community-scripts/ProxmoxVE/pull/8656))
 | 
			
		||||
 | 
			
		||||
### 🚀 Updated Scripts
 | 
			
		||||
 | 
			
		||||
  - #### 🐞 Bug Fixes
 | 
			
		||||
 | 
			
		||||
    - Add typescript and esbuild to browserless setup [@MickLesk](https://github.com/MickLesk) ([#8666](https://github.com/community-scripts/ProxmoxVE/pull/8666))
 | 
			
		||||
    - jellyfin: fix: intel deps [@CrazyWolf13](https://github.com/CrazyWolf13) ([#8657](https://github.com/community-scripts/ProxmoxVE/pull/8657))
 | 
			
		||||
 | 
			
		||||
## 2025-10-26
 | 
			
		||||
 | 
			
		||||
### 🆕 New Scripts
 | 
			
		||||
 | 
			
		||||
  - ComfyUI ([#8633](https://github.com/community-scripts/ProxmoxVE/pull/8633))
 | 
			
		||||
 | 
			
		||||
### 🚀 Updated Scripts
 | 
			
		||||
 | 
			
		||||
  - #### 🐞 Bug Fixes
 | 
			
		||||
 | 
			
		||||
    - PiHole: Bump to Debian 12 [@MickLesk](https://github.com/MickLesk) ([#8649](https://github.com/community-scripts/ProxmoxVE/pull/8649))
 | 
			
		||||
 | 
			
		||||
  - #### 🔧 Refactor
 | 
			
		||||
 | 
			
		||||
    - Refactor: Mylar3 [@tremor021](https://github.com/tremor021) ([#8642](https://github.com/community-scripts/ProxmoxVE/pull/8642))
 | 
			
		||||
 | 
			
		||||
## 2025-10-25
 | 
			
		||||
 | 
			
		||||
### 🆕 New Scripts
 | 
			
		||||
 | 
			
		||||
  - PatchMon ([#8632](https://github.com/community-scripts/ProxmoxVE/pull/8632))
 | 
			
		||||
 | 
			
		||||
### 🚀 Updated Scripts
 | 
			
		||||
 | 
			
		||||
  - #### 🐞 Bug Fixes
 | 
			
		||||
 | 
			
		||||
    - UrBackup Server: Fix install going interactive [@tremor021](https://github.com/tremor021) ([#8622](https://github.com/community-scripts/ProxmoxVE/pull/8622))
 | 
			
		||||
 | 
			
		||||
## 2025-10-24
 | 
			
		||||
 | 
			
		||||
### 🌐 Website
 | 
			
		||||
 | 
			
		||||
  - #### 📝 Script Information
 | 
			
		||||
 | 
			
		||||
    - Fix config path for BunkerWeb [@Nonolanlan1007](https://github.com/Nonolanlan1007) ([#8618](https://github.com/community-scripts/ProxmoxVE/pull/8618))
 | 
			
		||||
    - Update logo URL in guardian.json [@HydroshieldMKII](https://github.com/HydroshieldMKII) ([#8615](https://github.com/community-scripts/ProxmoxVE/pull/8615))
 | 
			
		||||
 | 
			
		||||
## 2025-10-23
 | 
			
		||||
 | 
			
		||||
### 🚀 Updated Scripts
 | 
			
		||||
 | 
			
		||||
  - #### 🐞 Bug Fixes
 | 
			
		||||
 | 
			
		||||
    - Radicale: Update dependencies [@ilofX](https://github.com/ilofX) ([#8603](https://github.com/community-scripts/ProxmoxVE/pull/8603))
 | 
			
		||||
    - Various Downgrades to Debian 12 (MySQL / OMW / Technitium)  [@MickLesk](https://github.com/MickLesk) ([#8595](https://github.com/community-scripts/ProxmoxVE/pull/8595))
 | 
			
		||||
    - MeTube: Fix inserting path into .bashrc [@tremor021](https://github.com/tremor021) ([#8589](https://github.com/community-scripts/ProxmoxVE/pull/8589))
 | 
			
		||||
 | 
			
		||||
  - #### 🔧 Refactor
 | 
			
		||||
 | 
			
		||||
    - Refactor: Kavita + Updated tools.func (no-same-owner) [@MickLesk](https://github.com/MickLesk) ([#8594](https://github.com/community-scripts/ProxmoxVE/pull/8594))
 | 
			
		||||
    - tools.func: update update_check messages for clarity [@MickLesk](https://github.com/MickLesk) ([#8588](https://github.com/community-scripts/ProxmoxVE/pull/8588))
 | 
			
		||||
 | 
			
		||||
## 2025-10-22
 | 
			
		||||
 | 
			
		||||
### 🚀 Updated Scripts
 | 
			
		||||
 | 
			
		||||
  - Refactor: Full Change & Feature-Bump of tools.func [@MickLesk](https://github.com/MickLesk) ([#8409](https://github.com/community-scripts/ProxmoxVE/pull/8409))
 | 
			
		||||
 | 
			
		||||
  - #### 🐞 Bug Fixes
 | 
			
		||||
 | 
			
		||||
    - part-db: use helper-script php function [@MickLesk](https://github.com/MickLesk) ([#8575](https://github.com/community-scripts/ProxmoxVE/pull/8575))
 | 
			
		||||
    - omada: remove static mongodb install [@MickLesk](https://github.com/MickLesk) ([#8577](https://github.com/community-scripts/ProxmoxVE/pull/8577))
 | 
			
		||||
 | 
			
		||||
## 2025-10-21
 | 
			
		||||
 | 
			
		||||
### 🆕 New Scripts
 | 
			
		||||
 | 
			
		||||
  - rwMarkable: migrate from rwMarkable => jotty [@vhsdream](https://github.com/vhsdream) ([#8554](https://github.com/community-scripts/ProxmoxVE/pull/8554))
 | 
			
		||||
 | 
			
		||||
### 🚀 Updated Scripts
 | 
			
		||||
 | 
			
		||||
  - #### 🐞 Bug Fixes
 | 
			
		||||
 | 
			
		||||
    - Guardian: Added validation before copying file and fix build command error [@HydroshieldMKII](https://github.com/HydroshieldMKII) ([#8553](https://github.com/community-scripts/ProxmoxVE/pull/8553))
 | 
			
		||||
    - Unifi: Bump libssl debian version to new update [@fastiuk](https://github.com/fastiuk) ([#8547](https://github.com/community-scripts/ProxmoxVE/pull/8547))
 | 
			
		||||
    - Alpine-TeamSpeak-Server: Fix release version fetching [@tremor021](https://github.com/tremor021) ([#8537](https://github.com/community-scripts/ProxmoxVE/pull/8537))
 | 
			
		||||
    - jellyfin: fix opencl dep for ubuntu [@MickLesk](https://github.com/MickLesk) ([#8535](https://github.com/community-scripts/ProxmoxVE/pull/8535))
 | 
			
		||||
 | 
			
		||||
  - #### ✨ New Features
 | 
			
		||||
 | 
			
		||||
    - Refactor: ProjectSend [@tremor021](https://github.com/tremor021) ([#8552](https://github.com/community-scripts/ProxmoxVE/pull/8552))
 | 
			
		||||
 | 
			
		||||
### 🌐 Website
 | 
			
		||||
 | 
			
		||||
  - #### 📝 Script Information
 | 
			
		||||
 | 
			
		||||
    - Open Archiver: Fix application icon [@tremor021](https://github.com/tremor021) ([#8542](https://github.com/community-scripts/ProxmoxVE/pull/8542))
 | 
			
		||||
 | 
			
		||||
## 2025-10-20
 | 
			
		||||
 | 
			
		||||
### 🚀 Updated Scripts
 | 
			
		||||
 | 
			
		||||
  - #### 🐞 Bug Fixes
 | 
			
		||||
 | 
			
		||||
    - jellyfin: fix: version conflict [@CrazyWolf13](https://github.com/CrazyWolf13) ([#8520](https://github.com/community-scripts/ProxmoxVE/pull/8520))
 | 
			
		||||
    - Paperless-AI: Increase CPU and RAM [@MickLesk](https://github.com/MickLesk) ([#8507](https://github.com/community-scripts/ProxmoxVE/pull/8507))
 | 
			
		||||
 | 
			
		||||
  - #### ✨ New Features
 | 
			
		||||
 | 
			
		||||
    - Enhance error message for container creation failure [@MickLesk](https://github.com/MickLesk) ([#8511](https://github.com/community-scripts/ProxmoxVE/pull/8511))
 | 
			
		||||
    - Filebrowser-Quantum: change initial config to newer default [@MickLesk](https://github.com/MickLesk) ([#8497](https://github.com/community-scripts/ProxmoxVE/pull/8497))
 | 
			
		||||
 | 
			
		||||
  - #### 💥 Breaking Changes
 | 
			
		||||
 | 
			
		||||
    - Remove: GoMFT [@MickLesk](https://github.com/MickLesk) ([#8499](https://github.com/community-scripts/ProxmoxVE/pull/8499))
 | 
			
		||||
 | 
			
		||||
  - #### 🔧 Refactor
 | 
			
		||||
 | 
			
		||||
    - palmr: update node to v24 [@CrazyWolf13](https://github.com/CrazyWolf13) ([#8521](https://github.com/community-scripts/ProxmoxVE/pull/8521))
 | 
			
		||||
    - jellyfin: add: intel dependencies [@CrazyWolf13](https://github.com/CrazyWolf13) ([#8508](https://github.com/community-scripts/ProxmoxVE/pull/8508))
 | 
			
		||||
    - Jellyfin: ensure libjemalloc is used / increase hdd space [@MickLesk](https://github.com/MickLesk) ([#8494](https://github.com/community-scripts/ProxmoxVE/pull/8494))
 | 
			
		||||
 | 
			
		||||
## 2025-10-19
 | 
			
		||||
 | 
			
		||||
### 🚀 Updated Scripts
 | 
			
		||||
 | 
			
		||||
  - #### 🐞 Bug Fixes
 | 
			
		||||
 | 
			
		||||
    - rwMarkable: Increase RAM [@vhsdream](https://github.com/vhsdream) ([#8482](https://github.com/community-scripts/ProxmoxVE/pull/8482))
 | 
			
		||||
    - changedetection: fix: update [@CrazyWolf13](https://github.com/CrazyWolf13) ([#8480](https://github.com/community-scripts/ProxmoxVE/pull/8480))
 | 
			
		||||
 | 
			
		||||
## 2025-10-18
 | 
			
		||||
 | 
			
		||||
### 🆕 New Scripts
 | 
			
		||||
 | 
			
		||||
  - Open-Archiver ([#8452](https://github.com/community-scripts/ProxmoxVE/pull/8452))
 | 
			
		||||
 | 
			
		||||
### 🚀 Updated Scripts
 | 
			
		||||
 | 
			
		||||
  - #### 🐞 Bug Fixes
 | 
			
		||||
 | 
			
		||||
    - Cronicle: Dont copy init.d service file [@tremor021](https://github.com/tremor021) ([#8451](https://github.com/community-scripts/ProxmoxVE/pull/8451))
 | 
			
		||||
 | 
			
		||||
  - #### 🔧 Refactor
 | 
			
		||||
 | 
			
		||||
    - Refactor: Nginx Proxy Manager [@MickLesk](https://github.com/MickLesk) ([#8453](https://github.com/community-scripts/ProxmoxVE/pull/8453))
 | 
			
		||||
 | 
			
		||||
## 2025-10-17
 | 
			
		||||
 | 
			
		||||
### 🚀 Updated Scripts
 | 
			
		||||
 | 
			
		||||
  - Revert back to debian 12 template for various apps [@tremor021](https://github.com/tremor021) ([#8431](https://github.com/community-scripts/ProxmoxVE/pull/8431))
 | 
			
		||||
 | 
			
		||||
  - #### 🐞 Bug Fixes
 | 
			
		||||
 | 
			
		||||
    - [FIX]Pulse: replace policykit-1 with polkitd [@vhsdream](https://github.com/vhsdream) ([#8439](https://github.com/community-scripts/ProxmoxVE/pull/8439))
 | 
			
		||||
    - MySpeed: Fix build step [@tremor021](https://github.com/tremor021) ([#8427](https://github.com/community-scripts/ProxmoxVE/pull/8427))
 | 
			
		||||
 | 
			
		||||
  - #### ✨ New Features
 | 
			
		||||
 | 
			
		||||
    - GLPI: Bump to Debian 13 base [@tremor021](https://github.com/tremor021) ([#8443](https://github.com/community-scripts/ProxmoxVE/pull/8443))
 | 
			
		||||
 | 
			
		||||
  - #### 🔧 Refactor
 | 
			
		||||
 | 
			
		||||
    - refactor: fix pve-scripts local install script [@michelroegl-brunner](https://github.com/michelroegl-brunner) ([#8418](https://github.com/community-scripts/ProxmoxVE/pull/8418))
 | 
			
		||||
 | 
			
		||||
### 🌐 Website
 | 
			
		||||
 | 
			
		||||
  - #### 📝 Script Information
 | 
			
		||||
 | 
			
		||||
    - PLANKA: Fix config path [@tremor021](https://github.com/tremor021) ([#8422](https://github.com/community-scripts/ProxmoxVE/pull/8422))
 | 
			
		||||
 | 
			
		||||
## 2025-10-16
 | 
			
		||||
 | 
			
		||||
### 🚀 Updated Scripts
 | 
			
		||||
 | 
			
		||||
  - post-pve/post-pbs: Disable 'pve-enterprise' and 'ceph enterprise' repositories [@MickLesk](https://github.com/MickLesk) ([#8399](https://github.com/community-scripts/ProxmoxVE/pull/8399))
 | 
			
		||||
 | 
			
		||||
  - #### 🐞 Bug Fixes
 | 
			
		||||
 | 
			
		||||
    - fix: changedetection: fix for tsc and esbuild not found [@CrazyWolf13](https://github.com/CrazyWolf13) ([#8407](https://github.com/community-scripts/ProxmoxVE/pull/8407))
 | 
			
		||||
    - paperless-ngx: remove unneeded deps, use static ghostscript [@MickLesk](https://github.com/MickLesk) ([#8397](https://github.com/community-scripts/ProxmoxVE/pull/8397))
 | 
			
		||||
    - UmlautAdaptarr: Revert back to bookworm repo [@tremor021](https://github.com/tremor021) ([#8392](https://github.com/community-scripts/ProxmoxVE/pull/8392))
 | 
			
		||||
 | 
			
		||||
  - #### 🔧 Refactor
 | 
			
		||||
 | 
			
		||||
    - Enhance nginx proxy manager install script [@MickLesk](https://github.com/MickLesk) ([#8400](https://github.com/community-scripts/ProxmoxVE/pull/8400))
 | 
			
		||||
 | 
			
		||||
## 2025-10-15
 | 
			
		||||
 | 
			
		||||
### 🆕 New Scripts
 | 
			
		||||
 | 
			
		||||
  - LimeSurvey ([#8364](https://github.com/community-scripts/ProxmoxVE/pull/8364))
 | 
			
		||||
- Guardian ([#8365](https://github.com/community-scripts/ProxmoxVE/pull/8365))
 | 
			
		||||
 | 
			
		||||
### 🚀 Updated Scripts
 | 
			
		||||
 | 
			
		||||
  - #### 🐞 Bug Fixes
 | 
			
		||||
 | 
			
		||||
    - Update omada-install.sh to use correct libssl version [@punctualwesley](https://github.com/punctualwesley) ([#8380](https://github.com/community-scripts/ProxmoxVE/pull/8380))
 | 
			
		||||
    - zigbee2mqtt: Use hardlinks for PNPM packages [@mikeage](https://github.com/mikeage) ([#8357](https://github.com/community-scripts/ProxmoxVE/pull/8357))
 | 
			
		||||
 | 
			
		||||
  - #### ✨ New Features
 | 
			
		||||
 | 
			
		||||
    - Bump Q to S-Scripts to Debian 13 (Trixie) [@MickLesk](https://github.com/MickLesk) ([#8366](https://github.com/community-scripts/ProxmoxVE/pull/8366))
 | 
			
		||||
    - Bump O to P-Scripts to Debian 13 (Trixie) [@MickLesk](https://github.com/MickLesk) ([#8367](https://github.com/community-scripts/ProxmoxVE/pull/8367))
 | 
			
		||||
    - Bump L to N-Scripts to Debian 13 (Trixie) [@MickLesk](https://github.com/MickLesk) ([#8368](https://github.com/community-scripts/ProxmoxVE/pull/8368))
 | 
			
		||||
    - Immich: v2.1.0 - VectorChord 0.5+ support [@vhsdream](https://github.com/vhsdream) ([#8348](https://github.com/community-scripts/ProxmoxVE/pull/8348))
 | 
			
		||||
 | 
			
		||||
## 2025-10-14
 | 
			
		||||
 | 
			
		||||
### 🚀 Updated Scripts
 | 
			
		||||
 | 
			
		||||
  - #### 🐞 Bug Fixes
 | 
			
		||||
 | 
			
		||||
    - MediaManager: Use managed Python 3.13 [@vhsdream](https://github.com/vhsdream) ([#8343](https://github.com/community-scripts/ProxmoxVE/pull/8343))
 | 
			
		||||
 | 
			
		||||
  - #### 🔧 Refactor
 | 
			
		||||
 | 
			
		||||
    - Update cockpit installation/update [@burgerga](https://github.com/burgerga) ([#8346](https://github.com/community-scripts/ProxmoxVE/pull/8346))
 | 
			
		||||
 | 
			
		||||
## 2025-10-13
 | 
			
		||||
 | 
			
		||||
### 🚀 Updated Scripts
 | 
			
		||||
 | 
			
		||||
  - #### 🐞 Bug Fixes
 | 
			
		||||
 | 
			
		||||
    - GLPI: fix version 11 [@opastorello](https://github.com/opastorello) ([#8238](https://github.com/community-scripts/ProxmoxVE/pull/8238))
 | 
			
		||||
    - Keycloak: Fix typo in update function [@tremor021](https://github.com/tremor021) ([#8316](https://github.com/community-scripts/ProxmoxVE/pull/8316))
 | 
			
		||||
 | 
			
		||||
  - #### 🔧 Refactor
 | 
			
		||||
 | 
			
		||||
    - fix: adjust configarr to use binaries [@BlackDark](https://github.com/BlackDark) ([#8254](https://github.com/community-scripts/ProxmoxVE/pull/8254))
 | 
			
		||||
 | 
			
		||||
## 2025-10-12
 | 
			
		||||
 | 
			
		||||
### 🚀 Updated Scripts
 | 
			
		||||
 | 
			
		||||
  - #### 🐞 Bug Fixes
 | 
			
		||||
 | 
			
		||||
    - Immich: add Debian Testing repo [@vhsdream](https://github.com/vhsdream) ([#8310](https://github.com/community-scripts/ProxmoxVE/pull/8310))
 | 
			
		||||
    - Tinyauth: Fix install issues for v4 [@tremor021](https://github.com/tremor021) ([#8309](https://github.com/community-scripts/ProxmoxVE/pull/8309))
 | 
			
		||||
 | 
			
		||||
## 2025-10-11
 | 
			
		||||
 | 
			
		||||
### 🚀 Updated Scripts
 | 
			
		||||
 | 
			
		||||
  - #### 🐞 Bug Fixes
 | 
			
		||||
 | 
			
		||||
    - Zabbix: various bugfixes agent1/agent2 [@MickLesk](https://github.com/MickLesk) ([#8294](https://github.com/community-scripts/ProxmoxVE/pull/8294))
 | 
			
		||||
    - wger: fix python and pip install [@MickLesk](https://github.com/MickLesk) ([#8295](https://github.com/community-scripts/ProxmoxVE/pull/8295))
 | 
			
		||||
    - searxng: add msgspec as dependency [@MickLesk](https://github.com/MickLesk) ([#8293](https://github.com/community-scripts/ProxmoxVE/pull/8293))
 | 
			
		||||
    - keycloak: fix update check [@MickLesk](https://github.com/MickLesk) ([#8275](https://github.com/community-scripts/ProxmoxVE/pull/8275))
 | 
			
		||||
    - komga: fix update check [@MickLesk](https://github.com/MickLesk) ([#8285](https://github.com/community-scripts/ProxmoxVE/pull/8285))
 | 
			
		||||
 | 
			
		||||
  - #### ✨ New Features
 | 
			
		||||
 | 
			
		||||
    - host-backup.sh: Added "ALL" option and include timestamp in backup filename [@stumpyofpain](https://github.com/stumpyofpain) ([#8276](https://github.com/community-scripts/ProxmoxVE/pull/8276))
 | 
			
		||||
    - Komga: Update dependencies and enable RAR5 support [@tremor021](https://github.com/tremor021) ([#8257](https://github.com/community-scripts/ProxmoxVE/pull/8257))
 | 
			
		||||
 | 
			
		||||
### 🌐 Website
 | 
			
		||||
 | 
			
		||||
  - Update script count in metadata and page content from 300+ to 400+ [@BramSuurdje](https://github.com/BramSuurdje) ([#8279](https://github.com/community-scripts/ProxmoxVE/pull/8279))
 | 
			
		||||
- Refactor CI workflow to use Bun instead of Node.js. [@BramSuurdje](https://github.com/BramSuurdje) ([#8277](https://github.com/community-scripts/ProxmoxVE/pull/8277))
 | 
			
		||||
 | 
			
		||||
## 2025-10-10
 | 
			
		||||
 | 
			
		||||
### 🆕 New Scripts
 | 
			
		||||
 | 
			
		||||
  - Prometheus-Blackbox-Exporter ([#8255](https://github.com/community-scripts/ProxmoxVE/pull/8255))
 | 
			
		||||
- SonarQube ([#8256](https://github.com/community-scripts/ProxmoxVE/pull/8256))
 | 
			
		||||
 | 
			
		||||
### 🚀 Updated Scripts
 | 
			
		||||
 | 
			
		||||
  - Unifi installation script fix [@knightfall](https://github.com/knightfall) ([#8242](https://github.com/community-scripts/ProxmoxVE/pull/8242))
 | 
			
		||||
 | 
			
		||||
  - #### 🐞 Bug Fixes
 | 
			
		||||
 | 
			
		||||
    - Docmost: Fix env variables [@tremor021](https://github.com/tremor021) ([#8244](https://github.com/community-scripts/ProxmoxVE/pull/8244))
 | 
			
		||||
 | 
			
		||||
  - #### 🔧 Refactor
 | 
			
		||||
 | 
			
		||||
    - Harmonize Service MSG-Blocks [@MickLesk](https://github.com/MickLesk) ([#8233](https://github.com/community-scripts/ProxmoxVE/pull/8233))
 | 
			
		||||
 | 
			
		||||
## 2025-10-09
 | 
			
		||||
 | 
			
		||||
### 🆕 New Scripts
 | 
			
		||||
 | 
			
		||||
  - New Script: rwMarkable ([#8215](https://github.com/community-scripts/ProxmoxVE/pull/8215))
 | 
			
		||||
 | 
			
		||||
### 🚀 Updated Scripts
 | 
			
		||||
 | 
			
		||||
  - #### 🐞 Bug Fixes
 | 
			
		||||
 | 
			
		||||
    - Alpine-Tinyauth: Fixes for v4 release [@tremor021](https://github.com/tremor021) ([#8225](https://github.com/community-scripts/ProxmoxVE/pull/8225))
 | 
			
		||||
 | 
			
		||||
  - #### ✨ New Features
 | 
			
		||||
 | 
			
		||||
    - Bump U-T Scripts to Debian 13 [@MickLesk](https://github.com/MickLesk) ([#8227](https://github.com/community-scripts/ProxmoxVE/pull/8227))
 | 
			
		||||
 | 
			
		||||
## 2025-10-08
 | 
			
		||||
 | 
			
		||||
### 🚀 Updated Scripts
 | 
			
		||||
 | 
			
		||||
  - MyIP: Increase resources [@tremor021](https://github.com/tremor021) ([#8199](https://github.com/community-scripts/ProxmoxVE/pull/8199))
 | 
			
		||||
 | 
			
		||||
  - #### 🐞 Bug Fixes
 | 
			
		||||
 | 
			
		||||
    - Wireguard: Fix sysctl for Trixie [@tremor021](https://github.com/tremor021) ([#8209](https://github.com/community-scripts/ProxmoxVE/pull/8209))
 | 
			
		||||
    - Update prompt for Stirling-PDF login option [@EarMaster](https://github.com/EarMaster) ([#8196](https://github.com/community-scripts/ProxmoxVE/pull/8196))
 | 
			
		||||
 | 
			
		||||
  - #### 🔧 Refactor
 | 
			
		||||
 | 
			
		||||
    - Refactor: Fixed incorrect tag variables in several scripts [@tremor021](https://github.com/tremor021) ([#8182](https://github.com/community-scripts/ProxmoxVE/pull/8182))
 | 
			
		||||
    - ZeroTier One: Fix install output [@tremor021](https://github.com/tremor021) ([#8179](https://github.com/community-scripts/ProxmoxVE/pull/8179))
 | 
			
		||||
 | 
			
		||||
## 2025-10-07
 | 
			
		||||
 | 
			
		||||
### 🚀 Updated Scripts
 | 
			
		||||
 | 
			
		||||
  - #### 🐞 Bug Fixes
 | 
			
		||||
 | 
			
		||||
    - Alpine-Caddy: remove functions [@MickLesk](https://github.com/MickLesk) ([#8177](https://github.com/community-scripts/ProxmoxVE/pull/8177))
 | 
			
		||||
    - Palmr: Fix NodeJS setup [@tremor021](https://github.com/tremor021) ([#8173](https://github.com/community-scripts/ProxmoxVE/pull/8173))
 | 
			
		||||
    - GLPI: Fix UNBOUND variable [@tremor021](https://github.com/tremor021) ([#8167](https://github.com/community-scripts/ProxmoxVE/pull/8167))
 | 
			
		||||
    - BookLore: upgrade to Java 25/Gradle 9 [@vhsdream](https://github.com/vhsdream) ([#8165](https://github.com/community-scripts/ProxmoxVE/pull/8165))
 | 
			
		||||
    - Alpine-Wireguard: Fix for update failing in normal mode [@tremor021](https://github.com/tremor021) ([#8160](https://github.com/community-scripts/ProxmoxVE/pull/8160))
 | 
			
		||||
 | 
			
		||||
  - #### ✨ New Features
 | 
			
		||||
 | 
			
		||||
    - Bump W-V Scripts to Debian 13 [@MickLesk](https://github.com/MickLesk) ([#8176](https://github.com/community-scripts/ProxmoxVE/pull/8176))
 | 
			
		||||
    - Bump Z-Y Scripts to Debian 13 [@MickLesk](https://github.com/MickLesk) ([#8174](https://github.com/community-scripts/ProxmoxVE/pull/8174))
 | 
			
		||||
    - Docmost: Fixes and updates [@tremor021](https://github.com/tremor021) ([#8158](https://github.com/community-scripts/ProxmoxVE/pull/8158))
 | 
			
		||||
 | 
			
		||||
## 2025-10-06
 | 
			
		||||
 | 
			
		||||
### 🚀 Updated Scripts
 | 
			
		||||
 | 
			
		||||
  - #### 🐞 Bug Fixes
 | 
			
		||||
 | 
			
		||||
    - GLPI: Revert fix for v11 [@tremor021](https://github.com/tremor021) ([#8148](https://github.com/community-scripts/ProxmoxVE/pull/8148))
 | 
			
		||||
 | 
			
		||||
  - #### ✨ New Features
 | 
			
		||||
 | 
			
		||||
    - Node-Red: bump to Debian 13 [@MickLesk](https://github.com/MickLesk) ([#8141](https://github.com/community-scripts/ProxmoxVE/pull/8141))
 | 
			
		||||
    - NocoDB: bump to Debian 13 [@MickLesk](https://github.com/MickLesk) ([#8140](https://github.com/community-scripts/ProxmoxVE/pull/8140))
 | 
			
		||||
    - Navidrome: bump to Debian 13 [@MickLesk](https://github.com/MickLesk) ([#8139](https://github.com/community-scripts/ProxmoxVE/pull/8139))
 | 
			
		||||
    - pve-scripts-local: add update function [@MickLesk](https://github.com/MickLesk) ([#8138](https://github.com/community-scripts/ProxmoxVE/pull/8138))
 | 
			
		||||
 | 
			
		||||
### 🌐 Website
 | 
			
		||||
 | 
			
		||||
  - #### 📝 Script Information
 | 
			
		||||
 | 
			
		||||
    - Update config_path for Zigbee2MQTT configuration [@MickLesk](https://github.com/MickLesk) ([#8153](https://github.com/community-scripts/ProxmoxVE/pull/8153))
 | 
			
		||||
 | 
			
		||||
## 2025-10-05
 | 
			
		||||
 | 
			
		||||
### 🚀 Updated Scripts
 | 
			
		||||
 | 
			
		||||
  - #### ✨ New Features
 | 
			
		||||
 | 
			
		||||
    - ActualBudget: bump to debian 13 [@MickLesk](https://github.com/MickLesk) ([#8124](https://github.com/community-scripts/ProxmoxVE/pull/8124))
 | 
			
		||||
    - 2fauth: bump to debian 13 [@MickLesk](https://github.com/MickLesk) ([#8123](https://github.com/community-scripts/ProxmoxVE/pull/8123))
 | 
			
		||||
    - AdventureLog: bump to debian 13 [@MickLesk](https://github.com/MickLesk) ([#8125](https://github.com/community-scripts/ProxmoxVE/pull/8125))
 | 
			
		||||
    - Update cockpit to Debian 13 [@burgerga](https://github.com/burgerga) ([#8119](https://github.com/community-scripts/ProxmoxVE/pull/8119))
 | 
			
		||||
 | 
			
		||||
## 2025-10-04
 | 
			
		||||
 | 
			
		||||
### 🚀 Updated Scripts
 | 
			
		||||
 | 
			
		||||
  - immich: guard /dev/dri permissions so CPU-only installs don’t fail [@mlongwell](https://github.com/mlongwell) ([#8094](https://github.com/community-scripts/ProxmoxVE/pull/8094))
 | 
			
		||||
 | 
			
		||||
  - #### ✨ New Features
 | 
			
		||||
 | 
			
		||||
    - PosgreSQL: Add version choice [@tremor021](https://github.com/tremor021) ([#8103](https://github.com/community-scripts/ProxmoxVE/pull/8103))
 | 
			
		||||
 | 
			
		||||
## 2025-10-03
 | 
			
		||||
 | 
			
		||||
### 🆕 New Scripts
 | 
			
		||||
 | 
			
		||||
  - pve-scripts-local ([#8083](https://github.com/community-scripts/ProxmoxVE/pull/8083))
 | 
			
		||||
 | 
			
		||||
### 🚀 Updated Scripts
 | 
			
		||||
 | 
			
		||||
  - #### 🐞 Bug Fixes
 | 
			
		||||
 | 
			
		||||
    - GLPI: Pin version to v10.0.20 [@tremor021](https://github.com/tremor021) ([#8092](https://github.com/community-scripts/ProxmoxVE/pull/8092))
 | 
			
		||||
    - GLPI: Fix database setup [@tremor021](https://github.com/tremor021) ([#8074](https://github.com/community-scripts/ProxmoxVE/pull/8074))
 | 
			
		||||
    - Overseerr: Increase resources [@tremor021](https://github.com/tremor021) ([#8086](https://github.com/community-scripts/ProxmoxVE/pull/8086))
 | 
			
		||||
    - FIX: post-pve-install.sh just quitting [@michelroegl-brunner](https://github.com/michelroegl-brunner) ([#8070](https://github.com/community-scripts/ProxmoxVE/pull/8070))
 | 
			
		||||
    - fix: ensure /etc/pulse exists before chown in update script [@rcourtman](https://github.com/rcourtman) ([#8068](https://github.com/community-scripts/ProxmoxVE/pull/8068))
 | 
			
		||||
    - grist: remove unneeded var [@MickLesk](https://github.com/MickLesk) ([#8060](https://github.com/community-scripts/ProxmoxVE/pull/8060))
 | 
			
		||||
 | 
			
		||||
  - #### 🔧 Refactor
 | 
			
		||||
 | 
			
		||||
    - Immich: bump version to 2.0.1 [@vhsdream](https://github.com/vhsdream) ([#8090](https://github.com/community-scripts/ProxmoxVE/pull/8090))
 | 
			
		||||
 | 
			
		||||
### 🌐 Website
 | 
			
		||||
 | 
			
		||||
  - #### 🐞 Bug Fixes
 | 
			
		||||
 | 
			
		||||
    - Adjust navbar layout for large screen [@BramSuurdje](https://github.com/BramSuurdje) ([#8087](https://github.com/community-scripts/ProxmoxVE/pull/8087))
 | 
			
		||||
 | 
			
		||||
## 2025-10-02
 | 
			
		||||
 | 
			
		||||
### 🚀 Updated Scripts
 | 
			
		||||
 | 
			
		||||
  - #### 🐞 Bug Fixes
 | 
			
		||||
 | 
			
		||||
    - EMQX: removal logic in emqx update [@MickLesk](https://github.com/MickLesk) ([#8050](https://github.com/community-scripts/ProxmoxVE/pull/8050))
 | 
			
		||||
    - fix FlareSolverr version check to v3.3.25 [@MickLesk](https://github.com/MickLesk) ([#8051](https://github.com/community-scripts/ProxmoxVE/pull/8051))
 | 
			
		||||
 | 
			
		||||
## 2025-10-01
 | 
			
		||||
 | 
			
		||||
### 🆕 New Scripts
 | 
			
		||||
 | 
			
		||||
  - New Script: PhpMyAdmin (Addon) [@MickLesk](https://github.com/MickLesk) ([#8030](https://github.com/community-scripts/ProxmoxVE/pull/8030))
 | 
			
		||||
 | 
			
		||||
### 🚀 Updated Scripts
 | 
			
		||||
 | 
			
		||||
  - #### 🐞 Bug Fixes
 | 
			
		||||
 | 
			
		||||
    - openwrt: Add conditional logic for EFI disk allocation [@MickLesk](https://github.com/MickLesk) ([#8024](https://github.com/community-scripts/ProxmoxVE/pull/8024))
 | 
			
		||||
    - Plant-IT: Pin version to v0.10.0 [@tremor021](https://github.com/tremor021) ([#8023](https://github.com/community-scripts/ProxmoxVE/pull/8023))
 | 
			
		||||
 | 
			
		||||
  - #### ✨ New Features
 | 
			
		||||
 | 
			
		||||
    - Immich: bump version to 2.0.0 stable [@vhsdream](https://github.com/vhsdream) ([#8041](https://github.com/community-scripts/ProxmoxVE/pull/8041))
 | 
			
		||||
 | 
			
		||||
  - #### 🔧 Refactor
 | 
			
		||||
 | 
			
		||||
    - Immich: bump version to 1.144.1 [@vhsdream](https://github.com/vhsdream) ([#7994](https://github.com/community-scripts/ProxmoxVE/pull/7994))
 | 
			
		||||
 | 
			
		||||
## 2025-09-30
 | 
			
		||||
 | 
			
		||||
### 🚀 Updated Scripts
 | 
			
		||||
 | 
			
		||||
  - #### 🐞 Bug Fixes
 | 
			
		||||
 | 
			
		||||
    - caddy: fix typo for setup_go [@MickLesk](https://github.com/MickLesk) ([#8017](https://github.com/community-scripts/ProxmoxVE/pull/8017))
 | 
			
		||||
    - Changedetection: Fix Browserless installation and update process [@h-stoyanov](https://github.com/h-stoyanov) ([#8011](https://github.com/community-scripts/ProxmoxVE/pull/8011))
 | 
			
		||||
    - n8n: Update procedure workaround [@tremor021](https://github.com/tremor021) ([#8004](https://github.com/community-scripts/ProxmoxVE/pull/8004))
 | 
			
		||||
    - Changedetection: Bump nodejs to 24 [@MickLesk](https://github.com/MickLesk) ([#8002](https://github.com/community-scripts/ProxmoxVE/pull/8002))
 | 
			
		||||
 | 
			
		||||
  - #### ✨ New Features
 | 
			
		||||
 | 
			
		||||
    - Bump Guacamole to Debian 13 [@burgerga](https://github.com/burgerga) ([#8010](https://github.com/community-scripts/ProxmoxVE/pull/8010))
 | 
			
		||||
 | 
			
		||||
## 2025-09-29
 | 
			
		||||
 | 
			
		||||
### 🆕 New Scripts
 | 
			
		||||
 | 
			
		||||
  - Ghostfolio ([#7982](https://github.com/community-scripts/ProxmoxVE/pull/7982))
 | 
			
		||||
- Warracker ([#7977](https://github.com/community-scripts/ProxmoxVE/pull/7977))
 | 
			
		||||
- MyIP ([#7974](https://github.com/community-scripts/ProxmoxVE/pull/7974))
 | 
			
		||||
- Verdaccio ([#7967](https://github.com/community-scripts/ProxmoxVE/pull/7967))
 | 
			
		||||
 | 
			
		||||
### 🌐 Website
 | 
			
		||||
 | 
			
		||||
  - #### 🐞 Bug Fixes
 | 
			
		||||
 | 
			
		||||
    - fix sidebar loading issues and navbar on mobile [@BramSuurdje](https://github.com/BramSuurdje) ([#7991](https://github.com/community-scripts/ProxmoxVE/pull/7991))
 | 
			
		||||
 | 
			
		||||
  - #### ✨ New Features
 | 
			
		||||
 | 
			
		||||
    - Improve mobile ui: added a hamburger navigation to the mobile view. [@BramSuurdje](https://github.com/BramSuurdje) ([#7987](https://github.com/community-scripts/ProxmoxVE/pull/7987))
 | 
			
		||||
 | 
			
		||||
  - #### 📝 Script Information
 | 
			
		||||
 | 
			
		||||
    - Remove Frigate from Website [@MickLesk](https://github.com/MickLesk) ([#7972](https://github.com/community-scripts/ProxmoxVE/pull/7972))
 | 
			
		||||
 | 
			
		||||
## 2025-09-28
 | 
			
		||||
 | 
			
		||||
### 🚀 Updated Scripts
 | 
			
		||||
 | 
			
		||||
  - #### 🐞 Bug Fixes
 | 
			
		||||
 | 
			
		||||
    - Metube: remove uv flags [@vhsdream](https://github.com/vhsdream) ([#7962](https://github.com/community-scripts/ProxmoxVE/pull/7962))
 | 
			
		||||
    - freshrss: fix for broken permissions after update [@CrazyWolf13](https://github.com/CrazyWolf13) ([#7953](https://github.com/community-scripts/ProxmoxVE/pull/7953))
 | 
			
		||||
 | 
			
		||||
## 2025-09-27
 | 
			
		||||
 | 
			
		||||
### 🚀 Updated Scripts
 | 
			
		||||
 
 | 
			
		||||
							
								
								
									
										13
									
								
								ct/2fauth.sh
									
									
									
									
									
								
							
							
						
						
									
										13
									
								
								ct/2fauth.sh
									
									
									
									
									
								
							@@ -11,7 +11,7 @@ var_cpu="${var_cpu:-1}"
 | 
			
		||||
var_ram="${var_ram:-512}"
 | 
			
		||||
var_disk="${var_disk:-2}"
 | 
			
		||||
var_os="${var_os:-debian}"
 | 
			
		||||
var_version="${var_version:-12}"
 | 
			
		||||
var_version="${var_version:-13}"
 | 
			
		||||
var_unprivileged="${var_unprivileged:-1}"
 | 
			
		||||
 | 
			
		||||
header_info "$APP"
 | 
			
		||||
@@ -29,8 +29,8 @@ function update_script() {
 | 
			
		||||
    exit
 | 
			
		||||
  fi
 | 
			
		||||
  if check_for_gh_release "2fauth" "Bubka/2FAuth"; then
 | 
			
		||||
    $STD apt-get update
 | 
			
		||||
    $STD apt-get -y upgrade
 | 
			
		||||
    $STD apt update
 | 
			
		||||
    $STD apt -y upgrade
 | 
			
		||||
 | 
			
		||||
    msg_info "Creating Backup"
 | 
			
		||||
    mv "/opt/2fauth" "/opt/2fauth-backup"
 | 
			
		||||
@@ -60,10 +60,11 @@ function update_script() {
 | 
			
		||||
 | 
			
		||||
    msg_info "Cleaning Up"
 | 
			
		||||
    if dpkg -l | grep -q 'php8.2'; then
 | 
			
		||||
      $STD apt-get remove --purge -y php8.2*
 | 
			
		||||
      $STD apt remove --purge -y php8.2*
 | 
			
		||||
    fi
 | 
			
		||||
    $STD apt-get -y autoremove
 | 
			
		||||
    $STD apt-get -y autoclean
 | 
			
		||||
    $STD apt -y autoremove
 | 
			
		||||
    $STD apt -y autoclean
 | 
			
		||||
    $STD apt -y clean
 | 
			
		||||
    msg_ok "Cleanup Completed"
 | 
			
		||||
    msg_ok "Updated Successfully"
 | 
			
		||||
  fi
 | 
			
		||||
 
 | 
			
		||||
@@ -11,7 +11,7 @@ var_cpu="${var_cpu:-2}"
 | 
			
		||||
var_ram="${var_ram:-2048}"
 | 
			
		||||
var_disk="${var_disk:-4}"
 | 
			
		||||
var_os="${var_os:-debian}"
 | 
			
		||||
var_version="${var_version:-12}"
 | 
			
		||||
var_version="${var_version:-13}"
 | 
			
		||||
var_unprivileged="${var_unprivileged:-1}"
 | 
			
		||||
 | 
			
		||||
header_info "$APP"
 | 
			
		||||
@@ -28,23 +28,22 @@ function update_script() {
 | 
			
		||||
    msg_error "No ${APP} Installation Found!"
 | 
			
		||||
    exit
 | 
			
		||||
  fi
 | 
			
		||||
  NODE_VERSION="22"
 | 
			
		||||
  setup_nodejs
 | 
			
		||||
  NODE_VERSION="22" setup_nodejs
 | 
			
		||||
  RELEASE=$(curl -fsSL https://api.github.com/repos/actualbudget/actual/releases/latest | grep "tag_name" | awk '{print substr($2, 3, length($2)-4) }')
 | 
			
		||||
  if [[ -f /opt/actualbudget-data/config.json ]]; then
 | 
			
		||||
    if [[ ! -f /opt/actualbudget_version.txt ]] || [[ "${RELEASE}" != "$(cat /opt/actualbudget_version.txt)" ]]; then
 | 
			
		||||
      msg_info "Stopping ${APP}"
 | 
			
		||||
      msg_info "Stopping Service"
 | 
			
		||||
      systemctl stop actualbudget
 | 
			
		||||
      msg_ok "${APP} Stopped"
 | 
			
		||||
      msg_ok "Stopped Service"
 | 
			
		||||
 | 
			
		||||
      msg_info "Updating ${APP} to ${RELEASE}"
 | 
			
		||||
      $STD npm update -g @actual-app/sync-server
 | 
			
		||||
      echo "${RELEASE}" >/opt/actualbudget_version.txt
 | 
			
		||||
      msg_ok "Updated ${APP} to ${RELEASE}"
 | 
			
		||||
 | 
			
		||||
      msg_info "Starting ${APP}"
 | 
			
		||||
      msg_info "Starting Service"
 | 
			
		||||
      systemctl start actualbudget
 | 
			
		||||
      msg_ok "Restarted ${APP}"
 | 
			
		||||
      msg_ok "Started Service"
 | 
			
		||||
    else
 | 
			
		||||
      msg_info "${APP} is already up to date"
 | 
			
		||||
    fi
 | 
			
		||||
 
 | 
			
		||||
@@ -11,7 +11,7 @@ var_disk="${var_disk:-7}"
 | 
			
		||||
var_cpu="${var_cpu:-2}"
 | 
			
		||||
var_ram="${var_ram:-2048}"
 | 
			
		||||
var_os="${var_os:-debian}"
 | 
			
		||||
var_version="${var_version:-12}"
 | 
			
		||||
var_version="${var_version:-13}"
 | 
			
		||||
var_unprivileged="${var_unprivileged:-1}"
 | 
			
		||||
 | 
			
		||||
header_info "$APP"
 | 
			
		||||
@@ -28,8 +28,8 @@ function update_script() {
 | 
			
		||||
    exit
 | 
			
		||||
  fi
 | 
			
		||||
  if ! command -v memcached >/dev/null 2>&1; then
 | 
			
		||||
    $STD apt-get update
 | 
			
		||||
    $STD apt-get install -y memcached libmemcached-tools
 | 
			
		||||
    $STD apt update
 | 
			
		||||
    $STD apt install -y memcached libmemcached-tools
 | 
			
		||||
  fi
 | 
			
		||||
  if check_for_gh_release "adventurelog" "seanmorley15/adventurelog"; then
 | 
			
		||||
    msg_info "Stopping Services"
 | 
			
		||||
@@ -43,12 +43,12 @@ function update_script() {
 | 
			
		||||
    msg_ok "Backup done"
 | 
			
		||||
 | 
			
		||||
    fetch_and_deploy_gh_release "adventurelog" "seanmorley15/adventurelog"
 | 
			
		||||
    PYTHON_VERSION="3.12" setup_uv
 | 
			
		||||
    PYTHON_VERSION="3.13" setup_uv
 | 
			
		||||
 | 
			
		||||
    msg_info "Updating ${APP}"
 | 
			
		||||
    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
 | 
			
		||||
    cd /opt/adventurelog/backend/server
 | 
			
		||||
    cd /opt/adventurelog/backend/server || exit
 | 
			
		||||
    if [[ ! -x .venv/bin/python ]]; then
 | 
			
		||||
      $STD uv venv .venv
 | 
			
		||||
      $STD .venv/bin/python -m ensurepip --upgrade
 | 
			
		||||
@@ -59,7 +59,7 @@ function update_script() {
 | 
			
		||||
    $STD .venv/bin/python -m manage migrate
 | 
			
		||||
 | 
			
		||||
    cp /opt/adventurelog-backup/frontend/.env /opt/adventurelog/frontend/.env
 | 
			
		||||
    cd /opt/adventurelog/frontend
 | 
			
		||||
    cd /opt/adventurelog/frontend || exit
 | 
			
		||||
    $STD pnpm i
 | 
			
		||||
    $STD pnpm build
 | 
			
		||||
    msg_ok "Updated ${APP}"
 | 
			
		||||
 
 | 
			
		||||
@@ -21,8 +21,6 @@ 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
 | 
			
		||||
 
 | 
			
		||||
							
								
								
									
										63
									
								
								ct/alpine-garage.sh
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										63
									
								
								ct/alpine-garage.sh
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,63 @@
 | 
			
		||||
#!/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://garagehq.deuxfleurs.fr/
 | 
			
		||||
 | 
			
		||||
APP="Alpine-Garage"
 | 
			
		||||
var_tags="${var_tags:-alpine;object-storage}"
 | 
			
		||||
var_cpu="${var_cpu:-1}"
 | 
			
		||||
var_ram="${var_ram:-512}"
 | 
			
		||||
var_disk="${var_disk:-5}"
 | 
			
		||||
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 [[ ! -f /usr/local/bin/garage ]]; then
 | 
			
		||||
    msg_error "No ${APP} Installation Found!"
 | 
			
		||||
    exit
 | 
			
		||||
  fi
 | 
			
		||||
 | 
			
		||||
  GITEA_RELEASE=$(curl -fsSL https://api.github.com/repos/deuxfleurs-org/garage/tags | jq -r '.[0].name')
 | 
			
		||||
  if [[ "${GITEA_RELEASE}" != "$(cat ~/.garage 2>/dev/null)" ]] || [[ ! -f ~/.garage ]]; then
 | 
			
		||||
    msg_info "Stopping Service"
 | 
			
		||||
    rc-service garage stop || true
 | 
			
		||||
    msg_ok "Stopped Service"
 | 
			
		||||
 | 
			
		||||
    msg_info "Backing Up Data"
 | 
			
		||||
    cp /usr/local/bin/garage /usr/local/bin/garage.old 2>/dev/null || true
 | 
			
		||||
    cp /etc/garage.toml /etc/garage.toml.bak 2>/dev/null || true
 | 
			
		||||
    msg_ok "Backed Up Data"
 | 
			
		||||
 | 
			
		||||
    msg_info "Updating Garage"
 | 
			
		||||
    curl -fsSL "https://garagehq.deuxfleurs.fr/_releases/${GITEA_RELEASE}/x86_64-unknown-linux-musl/garage" -o /usr/local/bin/garage
 | 
			
		||||
    chmod +x /usr/local/bin/garage
 | 
			
		||||
    echo "${GITEA_RELEASE}" >~/.garage
 | 
			
		||||
    msg_ok "Updated Garage"
 | 
			
		||||
 | 
			
		||||
    msg_info "Starting Service"
 | 
			
		||||
    rc-service garage start || rc-service garage restart
 | 
			
		||||
    msg_ok "Started Service"
 | 
			
		||||
    msg_ok "Update Successfully!"
 | 
			
		||||
  else
 | 
			
		||||
    msg_ok "No update required. Garage is already at ${GITEA_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}${CL}"
 | 
			
		||||
@@ -52,6 +52,7 @@ function update_script() {
 | 
			
		||||
    mv "$BACKUP_FILE" "$COMPOSE_FILE"
 | 
			
		||||
    exit 1
 | 
			
		||||
  fi
 | 
			
		||||
  $STD docker compose -p komodo -f "$COMPOSE_FILE" --env-file /opt/komodo/compose.env pull
 | 
			
		||||
  $STD docker compose -p komodo -f "$COMPOSE_FILE" --env-file /opt/komodo/compose.env up -d
 | 
			
		||||
  msg_ok "Updated ${APP}"
 | 
			
		||||
  exit
 | 
			
		||||
 
 | 
			
		||||
@@ -24,23 +24,23 @@ function update_script() {
 | 
			
		||||
  check_container_resources
 | 
			
		||||
 | 
			
		||||
  if [[ ! -d /opt/redlib ]]; then
 | 
			
		||||
      msg_error "No ${APP} Installation Found!"
 | 
			
		||||
      exit
 | 
			
		||||
    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"
 | 
			
		||||
  msg_info "Stopping Service"
 | 
			
		||||
  $STD rc-service redlib stop
 | 
			
		||||
  msg_ok "Stopped ${APP} Service"
 | 
			
		||||
  msg_ok "Stopped 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"
 | 
			
		||||
  msg_info "Starting Service"
 | 
			
		||||
  $STD rc-service redlib start
 | 
			
		||||
  msg_ok "Started ${APP} Service"
 | 
			
		||||
  msg_ok "Started Service"
 | 
			
		||||
 | 
			
		||||
  msg_ok "Update Successful"
 | 
			
		||||
  exit
 | 
			
		||||
 
 | 
			
		||||
@@ -27,7 +27,7 @@ function update_script() {
 | 
			
		||||
    exit 1
 | 
			
		||||
  fi
 | 
			
		||||
 | 
			
		||||
  set +o pipefail && RELEASE=$(curl -fsSL https://teamspeak.com/en/downloads/#server | sed -n 's/.teamspeak3-server_linux_amd64-([0-9]+.[0-9]+.[0-9]+)./\1/p' | head -1) && set -o pipefail
 | 
			
		||||
  set +o pipefail && RELEASE=$(curl -fsSL https://teamspeak.com/en/downloads/#server | sed -n 's/.*teamspeak3-server_linux_amd64-\([0-9.]*[0-9]\).*/\1/p' | head -1) && set -o pipefail
 | 
			
		||||
 | 
			
		||||
  if [ "${RELEASE}" != "$(cat ~/.teamspeak-server)" ] || [ ! -f ~/.teamspeak-server ]; then
 | 
			
		||||
    msg_info "Updating ${APP} LXC"
 | 
			
		||||
 
 | 
			
		||||
@@ -29,15 +29,19 @@ function update_script() {
 | 
			
		||||
  $STD apk -U upgrade
 | 
			
		||||
  msg_ok "Updated packages"
 | 
			
		||||
 | 
			
		||||
  msg_info "Updating Tinyauth"
 | 
			
		||||
  RELEASE=$(curl -s https://api.github.com/repos/steveiliop56/tinyauth/releases/latest | grep "tag_name" | awk '{print substr($2, 3, length($2)-4) }')
 | 
			
		||||
 | 
			
		||||
  if [ "${RELEASE}" != "$(cat /opt/tinyauth_version.txt)" ] || [ ! -f /opt/tinyauth_version.txt ]; then
 | 
			
		||||
  if [ "${RELEASE}" != "$(cat ~/.tinyauth 2>/dev/null)" ] || [ ! -f ~/.tinyauth ]; then
 | 
			
		||||
    msg_info "Stopping Service"
 | 
			
		||||
    $STD service tinyauth stop
 | 
			
		||||
    msg_ok "Service Stopped"
 | 
			
		||||
 | 
			
		||||
    msg_info "Updating Tinyauth"
 | 
			
		||||
    rm -f /opt/tinyauth/tinyauth
 | 
			
		||||
    curl -fsSL "https://github.com/steveiliop56/tinyauth/releases/download/v${RELEASE}/tinyauth-amd64" -o /opt/tinyauth/tinyauth
 | 
			
		||||
    chmod +x /opt/tinyauth/tinyauth
 | 
			
		||||
    echo "${RELEASE}" >/opt/tinyauth_version.txt
 | 
			
		||||
    echo "${RELEASE}" >~/.tinyauth
 | 
			
		||||
    msg_ok "Updated Tinyauth"
 | 
			
		||||
 | 
			
		||||
    msg_info "Restarting Tinyauth"
 | 
			
		||||
    $STD service tinyauth start
 | 
			
		||||
    msg_ok "Restarted Tinyauth"
 | 
			
		||||
 
 | 
			
		||||
@@ -32,7 +32,7 @@ function update_script() {
 | 
			
		||||
  if [[ -d /etc/wgdashboard/src ]]; then
 | 
			
		||||
    msg_info "update WGDashboard"
 | 
			
		||||
    cd /etc/wgdashboard/src
 | 
			
		||||
    $STD echo "y" | ./wgd.sh update
 | 
			
		||||
    echo "y" | ./wgd.sh update >/dev/null 2>&1
 | 
			
		||||
    $STD ./wgd.sh start
 | 
			
		||||
    msg_ok "WGDashboard updated"
 | 
			
		||||
  fi
 | 
			
		||||
 
 | 
			
		||||
@@ -11,7 +11,7 @@ var_disk="${var_disk:-4}"
 | 
			
		||||
var_cpu="${var_cpu:-1}"
 | 
			
		||||
var_ram="${var_ram:-2048}"
 | 
			
		||||
var_os="${var_os:-debian}"
 | 
			
		||||
var_version="${var_version:-12}"
 | 
			
		||||
var_version="${var_version:-13}"
 | 
			
		||||
var_unprivileged="${var_unprivileged:-1}"
 | 
			
		||||
 | 
			
		||||
header_info "$APP"
 | 
			
		||||
@@ -38,4 +38,4 @@ 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}:8080/guacamole${CL}"
 | 
			
		||||
echo -e "${TAB}${GATEWAY}${BGN}http://${IP}:8080/guacamole${CL}"
 | 
			
		||||
 
 | 
			
		||||
@@ -29,9 +29,9 @@ function update_script() {
 | 
			
		||||
  fi
 | 
			
		||||
  RELEASE="$(curl -fsSL https://dlcdn.apache.org/tika/ | grep -oP '(?<=href=")[0-9]+\.[0-9]+\.[0-9]+(?=/")' | sort -V | tail -n1)"
 | 
			
		||||
  if [[ ! -f /opt/${APP}_version.txt ]] || [[ "${RELEASE}" != "$(cat /opt/${APP}_version.txt)" ]]; then
 | 
			
		||||
    msg_info "Stopping ${APP}"
 | 
			
		||||
    msg_info "Stopping Service"
 | 
			
		||||
    systemctl stop apache-tika
 | 
			
		||||
    msg_ok "Stopped ${APP}"
 | 
			
		||||
    msg_ok "Stopped Service"
 | 
			
		||||
 | 
			
		||||
    msg_info "Updating ${APP} to v${RELEASE}"
 | 
			
		||||
    cd /opt/apache-tika
 | 
			
		||||
@@ -41,9 +41,9 @@ function update_script() {
 | 
			
		||||
    echo "${RELEASE}" >/opt/${APP}_version.txt
 | 
			
		||||
    msg_ok "Updated ${APP} to v${RELEASE}"
 | 
			
		||||
 | 
			
		||||
    msg_info "Starting ${APP}"
 | 
			
		||||
    msg_info "Starting Service"
 | 
			
		||||
    systemctl start apache-tika
 | 
			
		||||
    msg_ok "Started ${APP}"
 | 
			
		||||
    msg_ok "Started Service"
 | 
			
		||||
    msg_info "Cleaning Up"
 | 
			
		||||
    rm -rf /opt/apache-tika/tika-server-standard-prev-version.jar
 | 
			
		||||
    msg_ok "Cleanup Completed"
 | 
			
		||||
@@ -61,4 +61,4 @@ 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}:9998${CL}"
 | 
			
		||||
echo -e "${TAB}${GATEWAY}${BGN}http://${IP}:9998${CL}"
 | 
			
		||||
 
 | 
			
		||||
@@ -6,7 +6,7 @@ source <(curl -fsSL https://raw.githubusercontent.com/community-scripts/ProxmoxV
 | 
			
		||||
# Source: https://www.authelia.com/
 | 
			
		||||
 | 
			
		||||
APP="Authelia"
 | 
			
		||||
TAGS=""
 | 
			
		||||
var_tags="${var_tags:-authenticator}"
 | 
			
		||||
var_cpu="${var_cpu:-1}"
 | 
			
		||||
var_ram="${var_ram:-512}"
 | 
			
		||||
var_disk="${var_disk:-2}"
 | 
			
		||||
@@ -25,7 +25,7 @@ function update_script() {
 | 
			
		||||
  header_info
 | 
			
		||||
  check_container_storage
 | 
			
		||||
  check_container_resources
 | 
			
		||||
  if [[ ! -d "/etc/authelia/" ]]; then
 | 
			
		||||
  if [[ ! -d /etc/authelia/ ]]; then
 | 
			
		||||
    msg_error "No ${APP} Installation Found!"
 | 
			
		||||
    exit
 | 
			
		||||
  fi
 | 
			
		||||
 
 | 
			
		||||
@@ -29,15 +29,15 @@ function update_script() {
 | 
			
		||||
  fi
 | 
			
		||||
 | 
			
		||||
  if check_for_gh_release "autobrr" "autobrr/autobrr"; then
 | 
			
		||||
    msg_info "Stopping ${APP} LXC"
 | 
			
		||||
    msg_info "Stopping Service"
 | 
			
		||||
    systemctl stop autobrr
 | 
			
		||||
    msg_ok "Stopped ${APP} LXC"
 | 
			
		||||
    msg_ok "Stopped Service"
 | 
			
		||||
 | 
			
		||||
    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 Service"
 | 
			
		||||
    systemctl start autobrr
 | 
			
		||||
    msg_ok "Started ${APP} LXC"
 | 
			
		||||
    msg_ok "Started Service"
 | 
			
		||||
    msg_ok "Updated Successfully"
 | 
			
		||||
  fi
 | 
			
		||||
  exit
 | 
			
		||||
 
 | 
			
		||||
@@ -29,9 +29,9 @@ function update_script() {
 | 
			
		||||
  fi
 | 
			
		||||
  RELEASE=$(curl -fsSL https://api.github.com/repos/garethgeorge/backrest/releases/latest | grep "tag_name" | awk '{print substr($2, 3, length($2)-4) }')
 | 
			
		||||
  if [[ ! -f /opt/${APP}_version.txt ]] || [[ "${RELEASE}" != "$(cat /opt/${APP}_version.txt)" ]]; then
 | 
			
		||||
    msg_info "Stopping ${APP}"
 | 
			
		||||
    msg_info "Stopping Service"
 | 
			
		||||
    systemctl stop backrest
 | 
			
		||||
    msg_ok "Stopped ${APP}"
 | 
			
		||||
    msg_ok "Stopped Service"
 | 
			
		||||
 | 
			
		||||
    msg_info "Updating ${APP} to ${RELEASE}"
 | 
			
		||||
    temp_file=$(mktemp)
 | 
			
		||||
@@ -42,9 +42,9 @@ function update_script() {
 | 
			
		||||
    echo "${RELEASE}" >/opt/${APP}_version.txt
 | 
			
		||||
    msg_ok "Updated ${APP} to ${RELEASE}"
 | 
			
		||||
 | 
			
		||||
    msg_info "Starting ${APP}"
 | 
			
		||||
    msg_info "Starting Service"
 | 
			
		||||
    systemctl start backrest
 | 
			
		||||
    msg_ok "Started ${APP}"
 | 
			
		||||
    msg_ok "Started Service"
 | 
			
		||||
 | 
			
		||||
    msg_info "Cleaning up"
 | 
			
		||||
    rm -f "$temp_file"
 | 
			
		||||
 
 | 
			
		||||
							
								
								
									
										19
									
								
								ct/bazarr.sh
									
									
									
									
									
								
							
							
						
						
									
										19
									
								
								ct/bazarr.sh
									
									
									
									
									
								
							@@ -11,7 +11,7 @@ var_cpu="${var_cpu:-2}"
 | 
			
		||||
var_ram="${var_ram:-1024}"
 | 
			
		||||
var_disk="${var_disk:-4}"
 | 
			
		||||
var_os="${var_os:-debian}"
 | 
			
		||||
var_version="${var_version:-12}"
 | 
			
		||||
var_version="${var_version:-13}"
 | 
			
		||||
var_unprivileged="${var_unprivileged:-1}"
 | 
			
		||||
 | 
			
		||||
header_info "$APP"
 | 
			
		||||
@@ -28,15 +28,28 @@ function update_script() {
 | 
			
		||||
    exit
 | 
			
		||||
  fi
 | 
			
		||||
  if check_for_gh_release "bazarr" "morpheus65535/bazarr"; then
 | 
			
		||||
    PYTHON_VERSION="3.13" setup_uv
 | 
			
		||||
    msg_info "Stopping Service"
 | 
			
		||||
    systemctl stop bazarr
 | 
			
		||||
    msg_ok "Stopped Service"
 | 
			
		||||
 | 
			
		||||
    PYTHON_VERSION="3.12" 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/
 | 
			
		||||
    if [[ ! -d /opt/bazarr/venv/ ]]; then
 | 
			
		||||
      $STD uv venv /opt/bazarr/venv --python 3.12
 | 
			
		||||
      sed -i "s|ExecStart=/usr/bin/python3 /opt/bazarr/bazarr.py|ExecStart=/opt/bazarr/venv/bin/python3 /opt/bazarr/bazarr.py|g" /etc/systemd/system/bazarr.service
 | 
			
		||||
      systemctl daemon-reload
 | 
			
		||||
    fi
 | 
			
		||||
    sed -i.bak 's/--only-binary=Pillow//g' /opt/bazarr/requirements.txt
 | 
			
		||||
    $STD uv pip install -r /opt/bazarr/requirements.txt --system
 | 
			
		||||
    $STD uv pip install -r /opt/bazarr/requirements.txt --python /opt/bazarr/venv/bin/python3
 | 
			
		||||
    msg_ok "Setup Bazarr"
 | 
			
		||||
    
 | 
			
		||||
    msg_info "Starting Service"
 | 
			
		||||
    systemctl start bazarr
 | 
			
		||||
    msg_ok "Started Service"
 | 
			
		||||
    msg_ok "Updated Successfully"
 | 
			
		||||
  fi
 | 
			
		||||
  exit
 | 
			
		||||
 
 | 
			
		||||
@@ -45,6 +45,8 @@ function update_script() {
 | 
			
		||||
    $STD npm run build --configuration=production
 | 
			
		||||
    msg_ok "Built Frontend"
 | 
			
		||||
 | 
			
		||||
    JAVA_VERSION="25" setup_java
 | 
			
		||||
 | 
			
		||||
    msg_info "Building Backend"
 | 
			
		||||
    cd /opt/booklore/booklore-api
 | 
			
		||||
    APP_VERSION=$(curl -fsSL https://api.github.com/repos/booklore-app/BookLore/releases/latest | yq '.tag_name' | sed 's/^v//')
 | 
			
		||||
 
 | 
			
		||||
@@ -33,7 +33,7 @@ function update_script() {
 | 
			
		||||
   msg_ok "Updated $APP LXC"
 | 
			
		||||
 | 
			
		||||
    if command -v xcaddy >/dev/null 2>&1; then
 | 
			
		||||
      install_go
 | 
			
		||||
      setup_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}')
 | 
			
		||||
 
 | 
			
		||||
@@ -27,9 +27,9 @@ function update_script() {
 | 
			
		||||
    msg_error "No ${APP} Installation Found!"
 | 
			
		||||
    exit
 | 
			
		||||
  fi
 | 
			
		||||
  msg_info "Stopping ${APP}"
 | 
			
		||||
  msg_info "Stopping Service"
 | 
			
		||||
  systemctl stop cps
 | 
			
		||||
  msg_ok "Stopped ${APP}"
 | 
			
		||||
  msg_ok "Stopped Service"
 | 
			
		||||
 | 
			
		||||
  msg_info "Updating ${APP}"
 | 
			
		||||
  cd /opt/kepubify
 | 
			
		||||
@@ -121,9 +121,9 @@ function update_script() {
 | 
			
		||||
    $STD pip install --upgrade calibreweb
 | 
			
		||||
  fi
 | 
			
		||||
 | 
			
		||||
  msg_info "Starting ${APP}"
 | 
			
		||||
  msg_info "Starting Service"
 | 
			
		||||
  systemctl start cps
 | 
			
		||||
  msg_ok "Started ${APP}"
 | 
			
		||||
  msg_ok "Started Service"
 | 
			
		||||
  msg_ok "Updated Successfully"
 | 
			
		||||
  exit
 | 
			
		||||
}
 | 
			
		||||
@@ -135,4 +135,4 @@ 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}"
 | 
			
		||||
echo -e "${TAB}${GATEWAY}${BGN}http://${IP}:8083${CL}"
 | 
			
		||||
 
 | 
			
		||||
@@ -36,6 +36,8 @@ function update_script() {
 | 
			
		||||
    msg_ok "Updated Dependencies"
 | 
			
		||||
  fi
 | 
			
		||||
 | 
			
		||||
  NODE_VERSION="24" setup_nodejs
 | 
			
		||||
 | 
			
		||||
  msg_info "Updating ${APP}"
 | 
			
		||||
  $STD pip3 install changedetection.io --upgrade
 | 
			
		||||
  msg_ok "Updated ${APP}"
 | 
			
		||||
@@ -49,11 +51,13 @@ function update_script() {
 | 
			
		||||
    $STD git -C /opt/browserless/ fetch --all
 | 
			
		||||
    $STD git -C /opt/browserless/ reset --hard origin/main
 | 
			
		||||
    $STD npm update --prefix /opt/browserless
 | 
			
		||||
    $STD npm ci --include=optional --include=dev --prefix /opt/browserless
 | 
			
		||||
    $STD /opt/browserless/node_modules/playwright-core/cli.js install --with-deps
 | 
			
		||||
    # Update Chrome separately, as it has to be done with the force option. Otherwise the installation of other browsers will not be done if Chrome is already installed.
 | 
			
		||||
    $STD /opt/browserless/node_modules/playwright-core/cli.js install --force chrome
 | 
			
		||||
    $STD /opt/browserless/node_modules/playwright-core/cli.js install --force msedge
 | 
			
		||||
    $STD /opt/browserless/node_modules/playwright-core/cli.js install chromium firefox webkit
 | 
			
		||||
    $STD npm install --prefix /opt/browserless esbuild typescript ts-node @types/node --save-dev
 | 
			
		||||
    $STD npm run build --prefix /opt/browserless
 | 
			
		||||
    $STD npm run build:function --prefix /opt/browserless
 | 
			
		||||
    $STD npm prune production --prefix /opt/browserless
 | 
			
		||||
 
 | 
			
		||||
@@ -28,15 +28,15 @@ function update_script() {
 | 
			
		||||
    exit
 | 
			
		||||
  fi
 | 
			
		||||
  if check_for_gh_release "cleanuparr" "Cleanuparr/Cleanuparr"; then
 | 
			
		||||
    msg_info "Stopping ${APP}"
 | 
			
		||||
    msg_info "Stopping Service"
 | 
			
		||||
    systemctl stop cleanuparr
 | 
			
		||||
    msg_ok "Stopped ${APP}"
 | 
			
		||||
    msg_ok "Stopped Service"
 | 
			
		||||
 | 
			
		||||
    fetch_and_deploy_gh_release "Cleanuparr" "Cleanuparr/Cleanuparr" "prebuild" "latest" "/opt/cleanuparr" "*linux-amd64.zip"
 | 
			
		||||
 | 
			
		||||
    msg_info "Starting ${APP}"
 | 
			
		||||
    msg_info "Starting Service"
 | 
			
		||||
    systemctl start cleanuparr
 | 
			
		||||
    msg_ok "Started ${APP}"
 | 
			
		||||
    msg_ok "Started Service"
 | 
			
		||||
    msg_ok "Updated Successfully"
 | 
			
		||||
  fi
 | 
			
		||||
  exit
 | 
			
		||||
 
 | 
			
		||||
@@ -11,7 +11,7 @@ var_cpu="${var_cpu:-2}"
 | 
			
		||||
var_ram="${var_ram:-1024}"
 | 
			
		||||
var_disk="${var_disk:-4}"
 | 
			
		||||
var_os="${var_os:-debian}"
 | 
			
		||||
var_version="${var_version:-12}"
 | 
			
		||||
var_version="${var_version:-13}"
 | 
			
		||||
var_unprivileged="${var_unprivileged:-1}"
 | 
			
		||||
 | 
			
		||||
header_info "$APP"
 | 
			
		||||
@@ -27,73 +27,12 @@ function update_script() {
 | 
			
		||||
    msg_error "No ${APP} Installation Found!"
 | 
			
		||||
    exit
 | 
			
		||||
  fi
 | 
			
		||||
  UPD=$(whiptail --backtitle "Proxmox VE Helper Scripts" --title "SUPPORT" --radiolist --cancel-button Exit-Script "Spacebar = Select" 11 58 4 \
 | 
			
		||||
    "1" "Update LXC" ON \
 | 
			
		||||
    "2" "Install cockpit-file-sharing" OFF \
 | 
			
		||||
    "3" "Install cockpit-identities" OFF \
 | 
			
		||||
    "4" "Install cockpit-navigator" OFF \
 | 
			
		||||
    3>&1 1>&2 2>&3)
 | 
			
		||||
 | 
			
		||||
  if [ "$UPD" == "1" ]; then
 | 
			
		||||
    msg_info "Updating ${APP} LXC"
 | 
			
		||||
    $STD apt-get update
 | 
			
		||||
    $STD apt-get -y upgrade
 | 
			
		||||
    msg_ok "Updated ${APP} LXC"
 | 
			
		||||
    exit
 | 
			
		||||
  fi
 | 
			
		||||
 | 
			
		||||
  if [ "$UPD" == "2" ]; then
 | 
			
		||||
    msg_info "Installing dependencies (patience)"
 | 
			
		||||
    $STD apt-get install -y \
 | 
			
		||||
      attr \
 | 
			
		||||
      nfs-kernel-server \
 | 
			
		||||
      samba \
 | 
			
		||||
      samba-common-bin \
 | 
			
		||||
      winbind \
 | 
			
		||||
      gawk
 | 
			
		||||
    msg_ok "Installed dependencies"
 | 
			
		||||
    msg_info "Installing Cockpit file sharing"
 | 
			
		||||
    URL=$(curl -fsSL https://api.github.com/repos/45Drives/cockpit-file-sharing/releases/latest | grep download | grep focal_all.deb | cut -d\" -f4)
 | 
			
		||||
    FILE=$(basename "$URL")
 | 
			
		||||
    curl -fsSL "$URL" -o "$FILE"
 | 
			
		||||
    $STD dpkg -i "$FILE" || $STD apt-get install -f -y
 | 
			
		||||
    rm -f "$FILE"
 | 
			
		||||
    msg_ok "Installed Cockpit file sharing"
 | 
			
		||||
    exit
 | 
			
		||||
  fi
 | 
			
		||||
 | 
			
		||||
  if [ "$UPD" == "3" ]; then
 | 
			
		||||
    msg_info "Installing dependencies (patience)"
 | 
			
		||||
    $STD apt-get install -y \
 | 
			
		||||
      psmisc \
 | 
			
		||||
      samba \
 | 
			
		||||
      samba-common-bin
 | 
			
		||||
    msg_ok "Installed dependencies"
 | 
			
		||||
    msg_info "Installing Cockpit identities"
 | 
			
		||||
    URL=$(curl -fsSL https://api.github.com/repos/45Drives/cockpit-identities/releases/latest | grep download | grep focal_all.deb | cut -d\" -f4)
 | 
			
		||||
    FILE=$(basename "$URL")
 | 
			
		||||
    curl -fsSL "$URL" -o "$FILE"
 | 
			
		||||
    $STD dpkg -i "$FILE" || $STD apt-get install -f -y
 | 
			
		||||
    rm -f "$FILE"
 | 
			
		||||
    msg_ok "Installed Cockpit identities"
 | 
			
		||||
    exit
 | 
			
		||||
  fi
 | 
			
		||||
 | 
			
		||||
  if [ "$UPD" == "4" ]; then
 | 
			
		||||
    msg_info "Installing dependencies"
 | 
			
		||||
    $STD apt-get install -y \
 | 
			
		||||
      rsync \
 | 
			
		||||
      zip
 | 
			
		||||
    msg_ok "Installed dependencies"
 | 
			
		||||
    msg_info "Installing Cockpit navigator"
 | 
			
		||||
    URL=$(curl -fsSL https://api.github.com/repos/45Drives/cockpit-navigator/releases/latest | grep download | grep focal_all.deb | cut -d\" -f4)
 | 
			
		||||
    FILE=$(basename "$URL")
 | 
			
		||||
    curl -fsSL "$URL" -o "$FILE"
 | 
			
		||||
    $STD dpkg -i "$FILE" || $STD apt-get install -f -y
 | 
			
		||||
    rm -f "$FILE"
 | 
			
		||||
    msg_ok "Installed Cockpit navigator"
 | 
			
		||||
    exit
 | 
			
		||||
  fi
 | 
			
		||||
  
 | 
			
		||||
  msg_info "Updating ${APP} LXC"
 | 
			
		||||
  $STD apt update
 | 
			
		||||
  $STD apt -y upgrade
 | 
			
		||||
  msg_ok "Updated ${APP} LXC"
 | 
			
		||||
  exit
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
start
 | 
			
		||||
 
 | 
			
		||||
							
								
								
									
										42
									
								
								ct/comfyui.sh
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										42
									
								
								ct/comfyui.sh
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,42 @@
 | 
			
		||||
#!/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: jdacode
 | 
			
		||||
# License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE
 | 
			
		||||
# Source: https://github.com/comfyanonymous/ComfyUI
 | 
			
		||||
 | 
			
		||||
APP="ComfyUI"
 | 
			
		||||
var_tags="${var_tags:-ai}"
 | 
			
		||||
var_cpu="${var_cpu:-4}"
 | 
			
		||||
var_ram="${var_ram:-8192}"
 | 
			
		||||
var_disk="${var_disk:-25}"
 | 
			
		||||
var_os="${var_os:-debian}"
 | 
			
		||||
var_version="${var_version:-13}"
 | 
			
		||||
var_unprivileged="${var_unprivileged:-1}"
 | 
			
		||||
 | 
			
		||||
header_info "$APP"
 | 
			
		||||
variables
 | 
			
		||||
color
 | 
			
		||||
catch_errors
 | 
			
		||||
 | 
			
		||||
function update_script() {
 | 
			
		||||
  header_info
 | 
			
		||||
  check_container_storage
 | 
			
		||||
  check_container_resources
 | 
			
		||||
 | 
			
		||||
  if [[ ! -f /opt/${APP} ]]; then
 | 
			
		||||
    msg_error "No ${APP} Installation Found!"
 | 
			
		||||
    exit
 | 
			
		||||
  fi
 | 
			
		||||
  msg_error "To update use the ${APP} Manager."
 | 
			
		||||
  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}:8188${CL}"
 | 
			
		||||
@@ -29,9 +29,9 @@ function update_script() {
 | 
			
		||||
    exit
 | 
			
		||||
  fi
 | 
			
		||||
  if check_for_gh_release "commafeed" "Athou/commafeed"; then
 | 
			
		||||
    msg_info "Stopping ${APP}"
 | 
			
		||||
    msg_info "Stopping Service"
 | 
			
		||||
    systemctl stop commafeed
 | 
			
		||||
    msg_ok "Stopped ${APP}"
 | 
			
		||||
    msg_ok "Stopped Service"
 | 
			
		||||
 | 
			
		||||
    if ! [[ $(dpkg -s rsync 2>/dev/null) ]]; then
 | 
			
		||||
      msg_info "Installing Dependencies"
 | 
			
		||||
@@ -54,9 +54,9 @@ function update_script() {
 | 
			
		||||
      msg_ok "Restored data"
 | 
			
		||||
    fi
 | 
			
		||||
 | 
			
		||||
    msg_info "Starting ${APP}"
 | 
			
		||||
    msg_info "Starting Service"
 | 
			
		||||
    systemctl start commafeed
 | 
			
		||||
    msg_ok "Started ${APP}"
 | 
			
		||||
    msg_ok "Started Service"
 | 
			
		||||
    msg_ok "Updated Successfully"
 | 
			
		||||
  fi
 | 
			
		||||
  exit
 | 
			
		||||
 
 | 
			
		||||
@@ -10,7 +10,7 @@ var_cpu="${var_cpu:-1}"
 | 
			
		||||
var_ram="${var_ram:-512}"
 | 
			
		||||
var_disk="${var_disk:-4}"
 | 
			
		||||
var_os="${var_os:-debian}"
 | 
			
		||||
var_version="${var_version:-12}"
 | 
			
		||||
var_version="${var_version:-13}"
 | 
			
		||||
var_unprivileged="${var_unprivileged:-1}"
 | 
			
		||||
 | 
			
		||||
header_info "$APP"
 | 
			
		||||
@@ -28,27 +28,20 @@ function update_script() {
 | 
			
		||||
    exit
 | 
			
		||||
  fi
 | 
			
		||||
  if check_for_gh_release "configarr" "raydak-labs/configarr"; then
 | 
			
		||||
    msg_info "Stopping $APP"
 | 
			
		||||
    msg_info "Stopping Service"
 | 
			
		||||
    systemctl stop configarr-task.timer
 | 
			
		||||
    msg_ok "Stopped $APP"
 | 
			
		||||
    msg_ok "Stopped Service"
 | 
			
		||||
 | 
			
		||||
    msg_info "Updating $APP"
 | 
			
		||||
    mkdir -p /opt/backup/
 | 
			
		||||
    mv /opt/configarr/{config.yml,secrets.yml,.env} "/opt/backup/"
 | 
			
		||||
    rm -rf /opt/configarr
 | 
			
		||||
    fetch_and_deploy_gh_release "configarr" "raydak-labs/configarr"
 | 
			
		||||
    mv /opt/backup/{config.yml,secrets.yml,.env} "/opt/configarr/"
 | 
			
		||||
    cd /opt/configarr
 | 
			
		||||
    $STD pnpm install
 | 
			
		||||
    $STD pnpm run build
 | 
			
		||||
    msg_ok "Updated $APP"
 | 
			
		||||
 | 
			
		||||
    msg_info "Starting $APP"
 | 
			
		||||
    systemctl start configarr-task.timer
 | 
			
		||||
    msg_ok "Started configarr"
 | 
			
		||||
 | 
			
		||||
    mv /opt/configarr/{config.yml,secrets.yml,.env} /opt/backup/
 | 
			
		||||
    CLEAN_INSTALL=1 fetch_and_deploy_gh_release "configarr" "raydak-labs/configarr" "prebuild" "latest" "/opt/configarr" "configarr-linux-x64.tar.xz"
 | 
			
		||||
    mv /opt/backup/{config.yml,secrets.yml,.env} /opt/configarr/
 | 
			
		||||
    rm -rf /opt/backup
 | 
			
		||||
    msg_ok "Updated Successfully"
 | 
			
		||||
 | 
			
		||||
    msg_info "Starting Service"
 | 
			
		||||
    systemctl start configarr-task.timer
 | 
			
		||||
    msg_ok "Started Service"
 | 
			
		||||
    msg_ok "Updated Successfully!"
 | 
			
		||||
  fi
 | 
			
		||||
  exit
 | 
			
		||||
}
 | 
			
		||||
 
 | 
			
		||||
@@ -61,9 +61,6 @@ function update_script() {
 | 
			
		||||
      $STD node bin/build.js dist
 | 
			
		||||
      sed -i "s/localhost:3012/${IP}:3012/g" /opt/cronicle/conf/config.json
 | 
			
		||||
      $STD /opt/cronicle/bin/control.sh start
 | 
			
		||||
      $STD cp /opt/cronicle/bin/cronicled.init /etc/init.d/cronicled
 | 
			
		||||
      chmod 775 /etc/init.d/cronicled
 | 
			
		||||
      $STD update-rc.d cronicled defaults
 | 
			
		||||
      msg_ok "Installed Cronicle Worker"
 | 
			
		||||
 | 
			
		||||
      echo -e "\n Add Masters secret key to /opt/cronicle/conf/config.json \n"
 | 
			
		||||
 
 | 
			
		||||
@@ -28,9 +28,9 @@ function update_script() {
 | 
			
		||||
    exit
 | 
			
		||||
  fi
 | 
			
		||||
  if check_for_gh_release "dashy" "Lissy93/dashy"; then
 | 
			
		||||
    msg_info "Stopping ${APP}"
 | 
			
		||||
    msg_info "Stopping Service"
 | 
			
		||||
    systemctl stop dashy
 | 
			
		||||
    msg_ok "Stopped ${APP}"
 | 
			
		||||
    msg_ok "Stopped Service"
 | 
			
		||||
 | 
			
		||||
    msg_info "Backing up conf.yml"
 | 
			
		||||
    cd ~
 | 
			
		||||
 
 | 
			
		||||
							
								
								
									
										136
									
								
								ct/dispatcharr.sh
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										136
									
								
								ct/dispatcharr.sh
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,136 @@
 | 
			
		||||
#!/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: ekke85 | MickLesk
 | 
			
		||||
# License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE
 | 
			
		||||
# Source: https://github.com/Dispatcharr/Dispatcharr
 | 
			
		||||
 | 
			
		||||
APP="Dispatcharr"
 | 
			
		||||
var_tags="${var_tags:-media;arr}"
 | 
			
		||||
var_cpu="${var_cpu:-2}"
 | 
			
		||||
var_ram="${var_ram:-2048}"
 | 
			
		||||
var_disk="${var_disk:-8}"
 | 
			
		||||
var_os="${var_os:-debian}"
 | 
			
		||||
var_version="${var_version:-13}"
 | 
			
		||||
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/dispatcharr" ]]; then
 | 
			
		||||
    msg_error "No ${APP} Installation Found!"
 | 
			
		||||
    exit
 | 
			
		||||
  fi
 | 
			
		||||
 | 
			
		||||
  setup_uv
 | 
			
		||||
  NODE_VERSION="24" setup_nodejs
 | 
			
		||||
 | 
			
		||||
  if check_for_gh_release "Dispatcharr" "Dispatcharr/Dispatcharr"; then
 | 
			
		||||
    msg_info "Stopping Services"
 | 
			
		||||
    systemctl stop dispatcharr-celery
 | 
			
		||||
    systemctl stop dispatcharr-celerybeat
 | 
			
		||||
    systemctl stop dispatcharr-daphne
 | 
			
		||||
    systemctl stop dispatcharr
 | 
			
		||||
    msg_ok "Stopped Services"
 | 
			
		||||
 | 
			
		||||
    msg_info "Creating Backup"
 | 
			
		||||
    BACKUP_FILE="/opt/dispatcharr_backup_$(date +%F_%H-%M-%S).tar.gz"
 | 
			
		||||
    if [[ -f /opt/dispatcharr/.env ]]; then
 | 
			
		||||
      cp /opt/dispatcharr/.env /tmp/dispatcharr.env.backup
 | 
			
		||||
    fi
 | 
			
		||||
    if [[ -f /opt/dispatcharr/start-gunicorn.sh ]]; then
 | 
			
		||||
      cp /opt/dispatcharr/start-gunicorn.sh /tmp/start-gunicorn.sh.backup
 | 
			
		||||
    fi
 | 
			
		||||
    if [[ -f /opt/dispatcharr/start-celery.sh ]]; then
 | 
			
		||||
      cp /opt/dispatcharr/start-celery.sh /tmp/start-celery.sh.backup
 | 
			
		||||
    fi
 | 
			
		||||
    if [[ -f /opt/dispatcharr/start-celerybeat.sh ]]; then
 | 
			
		||||
      cp /opt/dispatcharr/start-celerybeat.sh /tmp/start-celerybeat.sh.backup
 | 
			
		||||
    fi
 | 
			
		||||
    if [[ -f /opt/dispatcharr/start-daphne.sh ]]; then
 | 
			
		||||
      cp /opt/dispatcharr/start-daphne.sh /tmp/start-daphne.sh.backup
 | 
			
		||||
    fi
 | 
			
		||||
    if [[ -f /opt/dispatcharr/.env ]]; then
 | 
			
		||||
      set -o allexport
 | 
			
		||||
      source /opt/dispatcharr/.env
 | 
			
		||||
      set +o allexport
 | 
			
		||||
      if [[ -n "$POSTGRES_DB" ]] && [[ -n "$POSTGRES_USER" ]] && [[ -n "$POSTGRES_PASSWORD" ]]; then
 | 
			
		||||
        PGPASSWORD=$POSTGRES_PASSWORD pg_dump -U $POSTGRES_USER -h ${POSTGRES_HOST:-localhost} $POSTGRES_DB >/tmp/dispatcharr_db_$(date +%F).sql
 | 
			
		||||
        msg_info "Database backup created"
 | 
			
		||||
      fi
 | 
			
		||||
    fi
 | 
			
		||||
    $STD tar -czf "$BACKUP_FILE" -C /opt dispatcharr /tmp/dispatcharr_db_*.sql
 | 
			
		||||
    msg_ok "Backup created: $BACKUP_FILE"
 | 
			
		||||
 | 
			
		||||
    CLEAN_INSTALL=1 fetch_and_deploy_gh_release "dispatcharr" "Dispatcharr/Dispatcharr"
 | 
			
		||||
 | 
			
		||||
    msg_info "Updating Dispatcharr Backend"
 | 
			
		||||
    if [[ -f /tmp/dispatcharr.env.backup ]]; then
 | 
			
		||||
      mv /tmp/dispatcharr.env.backup /opt/dispatcharr/.env
 | 
			
		||||
    fi
 | 
			
		||||
    if [[ -f /tmp/start-gunicorn.sh.backup ]]; then
 | 
			
		||||
      mv /tmp/start-gunicorn.sh.backup /opt/dispatcharr/start-gunicorn.sh
 | 
			
		||||
    fi
 | 
			
		||||
    if [[ -f /tmp/start-celery.sh.backup ]]; then
 | 
			
		||||
      mv /tmp/start-celery.sh.backup /opt/dispatcharr/start-celery.sh
 | 
			
		||||
    fi
 | 
			
		||||
    if [[ -f /tmp/start-celerybeat.sh.backup ]]; then
 | 
			
		||||
      mv /tmp/start-celerybeat.sh.backup /opt/dispatcharr/start-celerybeat.sh
 | 
			
		||||
    fi
 | 
			
		||||
    if [[ -f /tmp/start-daphne.sh.backup ]]; then
 | 
			
		||||
      mv /tmp/start-daphne.sh.backup /opt/dispatcharr/start-daphne.sh
 | 
			
		||||
    fi
 | 
			
		||||
 | 
			
		||||
    cd /opt/dispatcharr
 | 
			
		||||
    rm -rf .venv
 | 
			
		||||
    $STD uv venv
 | 
			
		||||
    $STD uv pip install -r requirements.txt --index-strategy unsafe-best-match
 | 
			
		||||
    $STD uv pip install gunicorn gevent celery redis daphne
 | 
			
		||||
    msg_ok "Updated Dispatcharr Backend"
 | 
			
		||||
 | 
			
		||||
    msg_info "Building Frontend"
 | 
			
		||||
    cd /opt/dispatcharr/frontend
 | 
			
		||||
    $STD npm install --legacy-peer-deps
 | 
			
		||||
    $STD npm run build
 | 
			
		||||
    msg_ok "Built Frontend"
 | 
			
		||||
 | 
			
		||||
    msg_info "Running Django Migrations"
 | 
			
		||||
    cd /opt/dispatcharr
 | 
			
		||||
    if [[ -f .env ]]; then
 | 
			
		||||
      set -o allexport
 | 
			
		||||
      source .env
 | 
			
		||||
      set +o allexport
 | 
			
		||||
    fi
 | 
			
		||||
    $STD uv run python manage.py migrate --noinput
 | 
			
		||||
    $STD uv run python manage.py collectstatic --noinput
 | 
			
		||||
    msg_ok "Migrations Complete"
 | 
			
		||||
 | 
			
		||||
    msg_info "Starting Services"
 | 
			
		||||
    systemctl start dispatcharr
 | 
			
		||||
    systemctl start dispatcharr-celery
 | 
			
		||||
    systemctl start dispatcharr-celerybeat
 | 
			
		||||
    systemctl start dispatcharr-daphne
 | 
			
		||||
    msg_ok "Started Services"
 | 
			
		||||
 | 
			
		||||
    msg_info "Cleaning up"
 | 
			
		||||
    rm -f /tmp/dispatcharr_db_*.sql
 | 
			
		||||
    msg_ok "Cleanup completed"
 | 
			
		||||
    msg_ok "Update 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}"
 | 
			
		||||
@@ -11,7 +11,7 @@ var_cpu="${var_cpu:-3}"
 | 
			
		||||
var_ram="${var_ram:-4096}"
 | 
			
		||||
var_disk="${var_disk:-8}"
 | 
			
		||||
var_os="${var_os:-debian}"
 | 
			
		||||
var_version="${var_version:-12}"
 | 
			
		||||
var_version="${var_version:-13}"
 | 
			
		||||
 | 
			
		||||
header_info "$APP"
 | 
			
		||||
variables
 | 
			
		||||
@@ -32,9 +32,9 @@ function update_script() {
 | 
			
		||||
  export NODE_OPTIONS="--max_old_space_size=4096"
 | 
			
		||||
 | 
			
		||||
  if check_for_gh_release "docmost" "docmost/docmost"; then
 | 
			
		||||
    msg_info "Stopping ${APP}"
 | 
			
		||||
    msg_info "Stopping Service"
 | 
			
		||||
    systemctl stop docmost
 | 
			
		||||
    msg_ok "${APP} Stopped"
 | 
			
		||||
    msg_ok "Stopped Service"
 | 
			
		||||
 | 
			
		||||
    msg_info "Backing up data"
 | 
			
		||||
    cp /opt/docmost/.env /opt/
 | 
			
		||||
@@ -52,9 +52,9 @@ function update_script() {
 | 
			
		||||
    $STD pnpm build
 | 
			
		||||
    msg_ok "Updated ${APP}"
 | 
			
		||||
 | 
			
		||||
    msg_info "Starting ${APP}"
 | 
			
		||||
    msg_info "Starting Service"
 | 
			
		||||
    systemctl start docmost
 | 
			
		||||
    msg_ok "Started ${APP}"
 | 
			
		||||
    msg_ok "Started Service"
 | 
			
		||||
    msg_ok "Updated Successfully"
 | 
			
		||||
  fi
 | 
			
		||||
  exit
 | 
			
		||||
 
 | 
			
		||||
@@ -29,9 +29,9 @@ function update_script() {
 | 
			
		||||
  fi
 | 
			
		||||
  RELEASE=$(curl -fsSL https://api.github.com/repos/documenso/documenso/releases/latest | grep "tag_name" | awk '{print substr($2, 3, length($2)-4) }')
 | 
			
		||||
  if [[ ! -f /opt/${APP}_version.txt ]] || [[ "${RELEASE}" != "$(cat /opt/${APP}_version.txt)" ]]; then
 | 
			
		||||
    msg_info "Stopping ${APP}"
 | 
			
		||||
    msg_info "Stopping Service"
 | 
			
		||||
    systemctl stop documenso
 | 
			
		||||
    msg_ok "${APP} Stopped"
 | 
			
		||||
    msg_ok "Stopped Service"
 | 
			
		||||
 | 
			
		||||
    msg_info "Updating ${APP} to ${RELEASE}"
 | 
			
		||||
    cp /opt/documenso/.env /opt/
 | 
			
		||||
@@ -53,9 +53,9 @@ function update_script() {
 | 
			
		||||
    echo "${RELEASE}" >/opt/${APP}_version.txt
 | 
			
		||||
    msg_ok "Updated ${APP}"
 | 
			
		||||
 | 
			
		||||
    msg_info "Starting ${APP}"
 | 
			
		||||
    msg_info "Starting Service"
 | 
			
		||||
    systemctl start documenso
 | 
			
		||||
    msg_ok "Started ${APP}"
 | 
			
		||||
    msg_ok "Started Service"
 | 
			
		||||
 | 
			
		||||
    msg_info "Cleaning Up"
 | 
			
		||||
    rm -rf /opt/v${RELEASE}.zip
 | 
			
		||||
 
 | 
			
		||||
@@ -29,15 +29,15 @@ function update_script() {
 | 
			
		||||
    exit
 | 
			
		||||
  fi
 | 
			
		||||
  if check_for_gh_release "emby" "MediaBrowser/Emby.Releases"; then
 | 
			
		||||
    msg_info "Stopping ${APP}"
 | 
			
		||||
    msg_info "Stopping Service"
 | 
			
		||||
    systemctl stop emby-server
 | 
			
		||||
    msg_ok "Stopped ${APP}"
 | 
			
		||||
    msg_ok "Stopped Service"
 | 
			
		||||
 | 
			
		||||
    fetch_and_deploy_gh_release "emby" "MediaBrowser/Emby.Releases" "binary"
 | 
			
		||||
 | 
			
		||||
    msg_info "Starting ${APP}"
 | 
			
		||||
    msg_info "Starting Service"
 | 
			
		||||
    systemctl start emby-server
 | 
			
		||||
    msg_ok "Started ${APP}"
 | 
			
		||||
    msg_ok "Started Service"
 | 
			
		||||
    msg_ok "Updated Successfully"
 | 
			
		||||
  fi
 | 
			
		||||
  exit
 | 
			
		||||
 
 | 
			
		||||
@@ -31,7 +31,13 @@ function update_script() {
 | 
			
		||||
    msg_ok "Stopped EMQX"
 | 
			
		||||
 | 
			
		||||
    msg_info "Removing old EMQX"
 | 
			
		||||
    $STD apt-get remove --purge -y emqx
 | 
			
		||||
    if dpkg -l | grep -q "^ii\s\+emqx\s"; then
 | 
			
		||||
      $STD apt-get remove --purge -y emqx
 | 
			
		||||
    elif dpkg -l | grep -q "^ii\s\+emqx-enterprise\s"; then
 | 
			
		||||
      $STD apt-get remove --purge -y emqx-enterprise
 | 
			
		||||
    else
 | 
			
		||||
      msg_ok "No old EMQX package found"
 | 
			
		||||
    fi
 | 
			
		||||
    msg_ok "Removed old EMQX"
 | 
			
		||||
 | 
			
		||||
    msg_info "Downloading EMQX v${RELEASE}"
 | 
			
		||||
 
 | 
			
		||||
@@ -28,9 +28,9 @@ function update_script() {
 | 
			
		||||
    exit 1
 | 
			
		||||
  fi
 | 
			
		||||
 | 
			
		||||
  msg_info "Stopping ${APP}"
 | 
			
		||||
  msg_info "Stopping Service"
 | 
			
		||||
  systemctl stop esphomeDashboard
 | 
			
		||||
  msg_ok "Stopped ${APP}"
 | 
			
		||||
  msg_ok "Stopped Service"
 | 
			
		||||
 | 
			
		||||
  VENV_PATH="/opt/esphome/.venv"
 | 
			
		||||
  ESPHOME_BIN="${VENV_PATH}/bin/esphome"
 | 
			
		||||
@@ -78,9 +78,9 @@ EOF
 | 
			
		||||
  ln -s /opt/esphome/.venv/bin/esphome /usr/local/bin/esphome
 | 
			
		||||
  msg_ok "Linked esphome binary"
 | 
			
		||||
 | 
			
		||||
  msg_info "Starting ${APP}"
 | 
			
		||||
  msg_info "Starting Service"
 | 
			
		||||
  systemctl start esphomeDashboard
 | 
			
		||||
  msg_ok "Started ${APP}"
 | 
			
		||||
  msg_ok "Started Service"
 | 
			
		||||
  msg_ok "Updated Successfully"
 | 
			
		||||
  exit
 | 
			
		||||
}
 | 
			
		||||
 
 | 
			
		||||
@@ -6,7 +6,7 @@ source <(curl -fsSL https://raw.githubusercontent.com/community-scripts/ProxmoxV
 | 
			
		||||
# Source: https://github.com/excalidraw/excalidraw
 | 
			
		||||
 | 
			
		||||
APP="Excalidraw"
 | 
			
		||||
TAGS="diagrams"
 | 
			
		||||
var_tags="${var_tags:-diagrams}"
 | 
			
		||||
var_cpu="${var_cpu:-2}"
 | 
			
		||||
var_ram="${var_ram:-3072}"
 | 
			
		||||
var_disk="${var_disk:-10}"
 | 
			
		||||
 
 | 
			
		||||
@@ -11,7 +11,7 @@ var_cpu="${var_cpu:-2}"
 | 
			
		||||
var_ram="${var_ram:-2048}"
 | 
			
		||||
var_disk="${var_disk:-4}"
 | 
			
		||||
var_os="${var_os:-debian}"
 | 
			
		||||
var_version="${var_version:-12}"
 | 
			
		||||
var_version="${var_version:-13}"
 | 
			
		||||
var_unprivileged="${var_unprivileged:-1}"
 | 
			
		||||
 | 
			
		||||
header_info "$APP"
 | 
			
		||||
@@ -28,13 +28,18 @@ function update_script() {
 | 
			
		||||
    msg_error "No ${APP} Installation Found!"
 | 
			
		||||
    exit
 | 
			
		||||
  fi
 | 
			
		||||
  if check_for_gh_release "flaresolverr" "FlareSolverr/FlareSolverr" "3.3.5"; then
 | 
			
		||||
  if [[ $(grep -E '^VERSION_ID=' /etc/os-release) == *"12"* ]]; then
 | 
			
		||||
    msg_error "Wrong Debian version detected!"
 | 
			
		||||
    msg_error "You must upgrade your LXC to Debian Trixie before updating."
 | 
			
		||||
    exit
 | 
			
		||||
  fi
 | 
			
		||||
  if check_for_gh_release "flaresolverr" "FlareSolverr/FlareSolverr"; then
 | 
			
		||||
    msg_info "Stopping service"
 | 
			
		||||
    systemctl stop flaresolverr
 | 
			
		||||
    msg_ok "Stopped service"
 | 
			
		||||
 | 
			
		||||
    rm -rf /opt/flaresolverr
 | 
			
		||||
    fetch_and_deploy_gh_release "flaresolverr" "FlareSolverr/FlareSolverr" "prebuild" "v3.3.25" "/opt/flaresolverr" "flaresolverr_linux_x64.tar.gz"
 | 
			
		||||
    fetch_and_deploy_gh_release "flaresolverr" "FlareSolverr/FlareSolverr" "prebuild" "latest" "/opt/flaresolverr" "flaresolverr_linux_x64.tar.gz"
 | 
			
		||||
 | 
			
		||||
    msg_info "Starting service"
 | 
			
		||||
    systemctl start flaresolverr
 | 
			
		||||
 
 | 
			
		||||
@@ -27,13 +27,13 @@ function update_script() {
 | 
			
		||||
    msg_error "No ${APP} Installation Found!"
 | 
			
		||||
    exit
 | 
			
		||||
  fi
 | 
			
		||||
  msg_info "Stopping ${APP}"
 | 
			
		||||
  msg_info "Stopping Service"
 | 
			
		||||
  systemctl stop forgejo
 | 
			
		||||
  msg_ok "Stopped ${APP}"
 | 
			
		||||
  msg_ok "Stopped Service"
 | 
			
		||||
 | 
			
		||||
  msg_info "Updating ${APP}"
 | 
			
		||||
  RELEASE=$(curl -fsSL https://codeberg.org/api/v1/repos/forgejo/forgejo/releases/latest | grep -oP '"tag_name":\s*"\K[^"]+' | sed 's/^v//')
 | 
			
		||||
curl -fsSL "https://codeberg.org/forgejo/forgejo/releases/download/v${RELEASE}/forgejo-${RELEASE}-linux-amd64" -o "forgejo-$RELEASE-linux-amd64"
 | 
			
		||||
  curl -fsSL "https://codeberg.org/forgejo/forgejo/releases/download/v${RELEASE}/forgejo-${RELEASE}-linux-amd64" -o "forgejo-$RELEASE-linux-amd64"
 | 
			
		||||
  rm -rf /opt/forgejo/*
 | 
			
		||||
  cp -r forgejo-$RELEASE-linux-amd64 /opt/forgejo/forgejo-$RELEASE-linux-amd64
 | 
			
		||||
  chmod +x /opt/forgejo/forgejo-$RELEASE-linux-amd64
 | 
			
		||||
@@ -44,9 +44,9 @@ curl -fsSL "https://codeberg.org/forgejo/forgejo/releases/download/v${RELEASE}/f
 | 
			
		||||
  rm -rf forgejo-$RELEASE-linux-amd64
 | 
			
		||||
  msg_ok "Cleaned"
 | 
			
		||||
 | 
			
		||||
  msg_info "Starting ${APP}"
 | 
			
		||||
  msg_info "Starting Service"
 | 
			
		||||
  systemctl start forgejo
 | 
			
		||||
  msg_ok "Started ${APP}"
 | 
			
		||||
  msg_ok "Started Service"
 | 
			
		||||
  msg_ok "Updated Successfully"
 | 
			
		||||
  exit
 | 
			
		||||
}
 | 
			
		||||
@@ -58,4 +58,4 @@ 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}"
 | 
			
		||||
echo -e "${TAB}${GATEWAY}${BGN}http://${IP}:3000${CL}"
 | 
			
		||||
 
 | 
			
		||||
@@ -27,8 +27,16 @@ function update_script() {
 | 
			
		||||
        msg_error "No ${APP} Installation Found!"
 | 
			
		||||
        exit
 | 
			
		||||
    fi
 | 
			
		||||
    msg_error "FreshRSS should be updated via the user interface."
 | 
			
		||||
    exit
 | 
			
		||||
 | 
			
		||||
    if [ ! -x /opt/freshrss/cli/sensitive-log.sh ]; then
 | 
			
		||||
        msg_info "Fixing wrong permissions"
 | 
			
		||||
        chmod +x /opt/freshrss/cli/sensitive-log.sh
 | 
			
		||||
        systemctl restart apache2
 | 
			
		||||
        msg_ok "Fixed wrong permissions"
 | 
			
		||||
    else
 | 
			
		||||
        msg_error "FreshRSS should be updated via the user interface."
 | 
			
		||||
        exit
 | 
			
		||||
    fi
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
start
 | 
			
		||||
@@ -38,4 +46,4 @@ 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}"
 | 
			
		||||
echo -e "${TAB}${GATEWAY}${BGN}http://${IP}${CL}"
 | 
			
		||||
 
 | 
			
		||||
							
								
								
									
										64
									
								
								ct/garage.sh
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										64
									
								
								ct/garage.sh
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,64 @@
 | 
			
		||||
#!/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://garagehq.deuxfleurs.fr/
 | 
			
		||||
 | 
			
		||||
APP="Garage"
 | 
			
		||||
var_tags="${var_tags:-object-storage}"
 | 
			
		||||
var_cpu="${var_cpu:-1}"
 | 
			
		||||
var_ram="${var_ram:-1024}"
 | 
			
		||||
var_disk="${var_disk:-5}"
 | 
			
		||||
var_os="${var_os:-debian}"
 | 
			
		||||
var_version="${var_version:-13}"
 | 
			
		||||
var_unprivileged="${var_unprivileged:-1}"
 | 
			
		||||
 | 
			
		||||
header_info "$APP"
 | 
			
		||||
variables
 | 
			
		||||
color
 | 
			
		||||
catch_errors
 | 
			
		||||
 | 
			
		||||
function update_script() {
 | 
			
		||||
  header_info
 | 
			
		||||
  check_container_storage
 | 
			
		||||
  check_container_resources
 | 
			
		||||
  if [[ ! -f /usr/local/bin/garage ]]; then
 | 
			
		||||
    msg_error "No ${APP} Installation Found!"
 | 
			
		||||
    exit
 | 
			
		||||
  fi
 | 
			
		||||
  GITEA_RELEASE=$(curl -fsSL https://api.github.com/repos/deuxfleurs-org/garage/tags | jq -r '.[0].name')
 | 
			
		||||
  if [[ "${GITEA_RELEASE}" != "$(cat ~/.garage 2>/dev/null)" ]] || [[ ! -f ~/.garage ]]; then
 | 
			
		||||
    msg_info "Stopping Service"
 | 
			
		||||
    systemctl stop garage
 | 
			
		||||
    msg_ok "Stopped Service"
 | 
			
		||||
 | 
			
		||||
    msg_info "Backing Up Data"
 | 
			
		||||
    cp /usr/local/bin/garage /usr/local/bin/garage.old 2>/dev/null || true
 | 
			
		||||
    cp /etc/garage.toml /etc/garage.toml.bak 2>/dev/null || true
 | 
			
		||||
    msg_ok "Backed Up Data"
 | 
			
		||||
 | 
			
		||||
    msg_info "Updating Garage"
 | 
			
		||||
    curl -fsSL "https://garagehq.deuxfleurs.fr/_releases/${GITEA_RELEASE}/x86_64-unknown-linux-musl/garage" -o /usr/local/bin/garage
 | 
			
		||||
    chmod +x /usr/local/bin/garage
 | 
			
		||||
    echo "${GITEA_RELEASE}" >~/.garage
 | 
			
		||||
    msg_ok "Updated Garage"
 | 
			
		||||
 | 
			
		||||
    msg_info "Starting Service"
 | 
			
		||||
    systemctl start garage
 | 
			
		||||
    msg_ok "Started Service"
 | 
			
		||||
    msg_ok "Update Successfully!"
 | 
			
		||||
  else
 | 
			
		||||
    msg_ok "No update required. Garage is already at ${GITEA_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}${CL}"
 | 
			
		||||
@@ -24,12 +24,9 @@ function update_script() {
 | 
			
		||||
  check_container_storage
 | 
			
		||||
  check_container_resources
 | 
			
		||||
 | 
			
		||||
  if ! dpkg-query -W -f='${Status}' mariadb-server 2>/dev/null | grep -q "install ok installed"; then
 | 
			
		||||
    setup_mysql
 | 
			
		||||
  fi
 | 
			
		||||
  NODE_VERSION="22" setup_nodejs
 | 
			
		||||
 | 
			
		||||
  msg_info "Updating ${APP} LXC"
 | 
			
		||||
  msg_info "Updating Ghost"
 | 
			
		||||
  if command -v ghost &>/dev/null; then
 | 
			
		||||
    current_version=$(ghost version | grep 'Ghost-CLI version' | awk '{print $3}')
 | 
			
		||||
    latest_version=$(npm show ghost-cli version)
 | 
			
		||||
 
 | 
			
		||||
							
								
								
									
										75
									
								
								ct/ghostfolio.sh
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										75
									
								
								ct/ghostfolio.sh
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,75 @@
 | 
			
		||||
#!/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: lucasfell
 | 
			
		||||
# License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE
 | 
			
		||||
# Source: https://ghostfol.io/
 | 
			
		||||
 | 
			
		||||
APP="Ghostfolio"
 | 
			
		||||
var_tags="${var_tags:-finance;investment}"
 | 
			
		||||
var_cpu="${var_cpu:-2}"
 | 
			
		||||
var_ram="${var_ram:-4096}"
 | 
			
		||||
var_disk="${var_disk:-8}"
 | 
			
		||||
var_os="${var_os:-debian}"
 | 
			
		||||
var_version="${var_version:-13}"
 | 
			
		||||
var_unprivileged="${var_unprivileged:-1}"
 | 
			
		||||
 | 
			
		||||
header_info "$APP"
 | 
			
		||||
variables
 | 
			
		||||
color
 | 
			
		||||
catch_errors
 | 
			
		||||
 | 
			
		||||
function update_script() {
 | 
			
		||||
    header_info
 | 
			
		||||
    check_container_storage
 | 
			
		||||
    check_container_resources
 | 
			
		||||
 | 
			
		||||
    if [[ ! -f /opt/ghostfolio/dist/apps/api/main.js ]]; then
 | 
			
		||||
        msg_error "No ${APP} Installation Found!"
 | 
			
		||||
        exit
 | 
			
		||||
    fi
 | 
			
		||||
 | 
			
		||||
    if check_for_gh_release "ghostfolio" "ghostfolio/ghostfolio"; then
 | 
			
		||||
      msg_info "Stopping Service"
 | 
			
		||||
      systemctl stop ghostfolio
 | 
			
		||||
      msg_ok "Stopped Service"
 | 
			
		||||
 | 
			
		||||
      msg_info "Creating Backup"
 | 
			
		||||
      tar -czf "/opt/ghostfolio_backup_$(date +%F).tar.gz" \
 | 
			
		||||
        -C /opt \
 | 
			
		||||
        --exclude="ghostfolio/node_modules" \
 | 
			
		||||
        --exclude="ghostfolio/dist" \
 | 
			
		||||
        ghostfolio
 | 
			
		||||
      mv /opt/ghostfolio/.env /opt/env.backup
 | 
			
		||||
      msg_ok "Backup Created"
 | 
			
		||||
 | 
			
		||||
      CLEAN_INSTALL=1 fetch_and_deploy_gh_release "ghostfolio" "ghostfolio/ghostfolio" "tarball" "latest" "/opt/ghostfolio"
 | 
			
		||||
 | 
			
		||||
      msg_info "Updating Ghostfolio"
 | 
			
		||||
      mv /opt/env.backup /opt/ghostfolio/.env
 | 
			
		||||
      cd /opt/ghostfolio
 | 
			
		||||
      $STD npm ci
 | 
			
		||||
      $STD npm run build:production
 | 
			
		||||
      $STD npx prisma migrate deploy
 | 
			
		||||
      msg_ok "Updated Ghostfolio"
 | 
			
		||||
 | 
			
		||||
    msg_info "Starting Service"
 | 
			
		||||
    systemctl start ghostfolio
 | 
			
		||||
    msg_ok "Started Service"
 | 
			
		||||
 | 
			
		||||
    msg_info "Cleaning Up"
 | 
			
		||||
    $STD npm cache clean --force
 | 
			
		||||
    msg_ok "Cleanup Completed"
 | 
			
		||||
    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}:3333${CL}"
 | 
			
		||||
@@ -11,7 +11,7 @@ var_cpu="${var_cpu:-2}"
 | 
			
		||||
var_ram="${var_ram:-2048}"
 | 
			
		||||
var_disk="${var_disk:-10}"
 | 
			
		||||
var_os="${var_os:-debian}"
 | 
			
		||||
var_version="${var_version:-12}"
 | 
			
		||||
var_version="${var_version:-13}"
 | 
			
		||||
var_unprivileged="${var_unprivileged:-1}"
 | 
			
		||||
 | 
			
		||||
header_info "$APP"
 | 
			
		||||
@@ -44,4 +44,4 @@ 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}"
 | 
			
		||||
echo -e "${TAB}${GATEWAY}${BGN}http://${IP}:80${CL}"
 | 
			
		||||
 
 | 
			
		||||
@@ -28,15 +28,15 @@ function update_script() {
 | 
			
		||||
    exit
 | 
			
		||||
  fi
 | 
			
		||||
  if check_for_gh_release "gokapi" "Forceu/Gokapi"; then
 | 
			
		||||
    msg_info "Stopping ${APP}"
 | 
			
		||||
    msg_info "Stopping Service"
 | 
			
		||||
    systemctl stop gokapi
 | 
			
		||||
    msg_ok "Stopped ${APP}"
 | 
			
		||||
    msg_ok "Stopped Service"
 | 
			
		||||
 | 
			
		||||
    fetch_and_deploy_gh_release "gokapi" "Forceu/Gokapi" "prebuild" "latest" "/opt/gokapi" "gokapi-linux_amd64.zip"
 | 
			
		||||
 | 
			
		||||
    msg_info "Starting ${APP}"
 | 
			
		||||
    msg_info "Starting Service"
 | 
			
		||||
    systemctl start gokapi
 | 
			
		||||
    msg_ok "Started ${APP}"
 | 
			
		||||
    msg_ok "Started Service"
 | 
			
		||||
    msg_ok "Updated Successfully"
 | 
			
		||||
  fi
 | 
			
		||||
  exit
 | 
			
		||||
 
 | 
			
		||||
@@ -28,16 +28,16 @@ function update_script() {
 | 
			
		||||
    exit
 | 
			
		||||
  fi
 | 
			
		||||
  if check_for_gh_release "gotify" "gotify/server"; then
 | 
			
		||||
    msg_info "Stopping ${APP}"
 | 
			
		||||
    msg_info "Stopping Service"
 | 
			
		||||
    systemctl stop gotify
 | 
			
		||||
    msg_ok "Stopped ${APP}"
 | 
			
		||||
    msg_ok "Stopped Service"
 | 
			
		||||
 | 
			
		||||
    fetch_and_deploy_gh_release "gotify" "gotify/server" "prebuild" "latest" "/opt/gotify" "gotify-linux-amd64.zip"
 | 
			
		||||
    chmod +x /opt/gotify/gotify-linux-amd64
 | 
			
		||||
 | 
			
		||||
    msg_info "Starting ${APP}"
 | 
			
		||||
    msg_info "Starting Service"
 | 
			
		||||
    systemctl start gotify
 | 
			
		||||
    msg_ok "Started ${APP}"
 | 
			
		||||
    msg_ok "Started Service"
 | 
			
		||||
    msg_ok "Updated Successfully"
 | 
			
		||||
  fi
 | 
			
		||||
  exit
 | 
			
		||||
 
 | 
			
		||||
@@ -6,7 +6,7 @@ source <(curl -fsSL https://raw.githubusercontent.com/community-scripts/ProxmoxV
 | 
			
		||||
# Source: https://graylog.org/
 | 
			
		||||
 | 
			
		||||
APP="Graylog"
 | 
			
		||||
TAGS="logging"
 | 
			
		||||
var_tags="${var_tags:-logging}"
 | 
			
		||||
var_cpu="${var_cpu:-2}"
 | 
			
		||||
var_ram="${var_ram:-8192}"
 | 
			
		||||
var_disk="${var_disk:-30}"
 | 
			
		||||
@@ -54,4 +54,4 @@ 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}:9000${CL}"
 | 
			
		||||
echo -e "${TAB}${GATEWAY}${BGN}http://${IP}:9000${CL}"
 | 
			
		||||
 
 | 
			
		||||
@@ -30,9 +30,9 @@ function update_script() {
 | 
			
		||||
  fi
 | 
			
		||||
 | 
			
		||||
  if check_for_gh_release "grist" "gristlabs/grist-core"; then
 | 
			
		||||
    msg_info "Stopping ${APP} Service"
 | 
			
		||||
    msg_info "Stopping Service"
 | 
			
		||||
    systemctl stop grist
 | 
			
		||||
    msg_ok "Stopped ${APP} Service"
 | 
			
		||||
    msg_ok "Stopped Service"
 | 
			
		||||
 | 
			
		||||
    msg_info "Creating backup"
 | 
			
		||||
    rm -rf /opt/grist_bak
 | 
			
		||||
@@ -52,9 +52,9 @@ function update_script() {
 | 
			
		||||
    $STD yarn run install:python
 | 
			
		||||
    msg_ok "Updated ${APP}"
 | 
			
		||||
 | 
			
		||||
    msg_info "Starting ${APP} Service"
 | 
			
		||||
    msg_info "Starting Service"
 | 
			
		||||
    systemctl start grist
 | 
			
		||||
    msg_ok "Started ${APP} Service"
 | 
			
		||||
    msg_ok "Started Service"
 | 
			
		||||
 | 
			
		||||
    msg_ok "Updated Successfully"
 | 
			
		||||
  fi
 | 
			
		||||
 
 | 
			
		||||
							
								
								
									
										80
									
								
								ct/guardian.sh
									
									
									
									
									
										Executable file
									
								
							
							
						
						
									
										80
									
								
								ct/guardian.sh
									
									
									
									
									
										Executable file
									
								
							@@ -0,0 +1,80 @@
 | 
			
		||||
#!/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: HydroshieldMKII
 | 
			
		||||
# License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE
 | 
			
		||||
# Source: https://github.com/HydroshieldMKII/Guardian
 | 
			
		||||
 | 
			
		||||
APP="Guardian"
 | 
			
		||||
var_tags="${var_tags:-media;monitoring}"
 | 
			
		||||
var_cpu="${var_cpu:-2}"
 | 
			
		||||
var_ram="${var_ram:-2048}"
 | 
			
		||||
var_disk="${var_disk:-6}"
 | 
			
		||||
var_os="${var_os:-debian}"
 | 
			
		||||
var_version="${var_version:-13}"
 | 
			
		||||
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/guardian" ]] ; then
 | 
			
		||||
  msg_error "No ${APP} Installation Found!"
 | 
			
		||||
  exit
 | 
			
		||||
fi
 | 
			
		||||
 | 
			
		||||
if check_for_gh_release "guardian" "HydroshieldMKII/Guardian" ; then
 | 
			
		||||
  msg_info "Stopping Services"
 | 
			
		||||
  systemctl stop guardian-backend guardian-frontend
 | 
			
		||||
  msg_ok "Stopped Services"
 | 
			
		||||
 | 
			
		||||
  if [[ -f "/opt/guardian/backend/plex-guard.db" ]] ; then
 | 
			
		||||
    msg_info "Backing up Database"
 | 
			
		||||
    cp "/opt/guardian/backend/plex-guard.db" "/tmp/plex-guard.db.backup"
 | 
			
		||||
    msg_ok "Backed up Database"
 | 
			
		||||
  fi
 | 
			
		||||
 | 
			
		||||
  [[ -f "/opt/guardian/.env" ]] && cp "/opt/guardian/.env" "/opt"
 | 
			
		||||
  CLEAN_INSTALL=1 fetch_and_deploy_gh_release "guardian" "HydroshieldMKII/Guardian" "tarball" "latest" "/opt/guardian"
 | 
			
		||||
  [[ -f "/opt/.env" ]] && mv "/opt/.env" "/opt/guardian"
 | 
			
		||||
 | 
			
		||||
  if [[ -f "/tmp/plex-guard.db.backup" ]] ; then
 | 
			
		||||
    msg_info "Restoring Database"
 | 
			
		||||
    cp "/tmp/plex-guard.db.backup" "/opt/guardian/backend/plex-guard.db"
 | 
			
		||||
    rm "/tmp/plex-guard.db.backup"
 | 
			
		||||
    msg_ok "Restored Database"
 | 
			
		||||
  fi
 | 
			
		||||
 | 
			
		||||
  msg_info "Updating Guardian"
 | 
			
		||||
  cd /opt/guardian/backend
 | 
			
		||||
  $STD npm ci
 | 
			
		||||
  $STD npm run build
 | 
			
		||||
 | 
			
		||||
  cd /opt/guardian/frontend
 | 
			
		||||
  $STD npm ci
 | 
			
		||||
  export DEPLOYMENT_MODE=standalone
 | 
			
		||||
  $STD npm run build
 | 
			
		||||
  msg_ok "Updated Guardian"
 | 
			
		||||
 | 
			
		||||
  msg_info "Starting Services"
 | 
			
		||||
  systemctl start guardian-backend guardian-frontend
 | 
			
		||||
  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}:3000${CL}"
 | 
			
		||||
							
								
								
									
										6
									
								
								ct/headers/alpine-garage
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										6
									
								
								ct/headers/alpine-garage
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,6 @@
 | 
			
		||||
    ___    __      _                  ______                          
 | 
			
		||||
   /   |  / /___  (_)___  ___        / ____/___ __________ _____ ____ 
 | 
			
		||||
  / /| | / / __ \/ / __ \/ _ \______/ / __/ __ `/ ___/ __ `/ __ `/ _ \
 | 
			
		||||
 / ___ |/ / /_/ / / / / /  __/_____/ /_/ / /_/ / /  / /_/ / /_/ /  __/
 | 
			
		||||
/_/  |_/_/ .___/_/_/ /_/\___/      \____/\__,_/_/   \__,_/\__, /\___/ 
 | 
			
		||||
        /_/                                              /____/       
 | 
			
		||||
							
								
								
									
										6
									
								
								ct/headers/comfyui
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										6
									
								
								ct/headers/comfyui
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,6 @@
 | 
			
		||||
   ______                ____      __  ______
 | 
			
		||||
  / ____/___  ____ ___  / __/_  __/ / / /  _/
 | 
			
		||||
 / /   / __ \/ __ `__ \/ /_/ / / / / / // /  
 | 
			
		||||
/ /___/ /_/ / / / / / / __/ /_/ / /_/ // /   
 | 
			
		||||
\____/\____/_/ /_/ /_/_/  \__, /\____/___/   
 | 
			
		||||
                         /____/              
 | 
			
		||||
							
								
								
									
										6
									
								
								ct/headers/dispatcharr
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										6
									
								
								ct/headers/dispatcharr
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,6 @@
 | 
			
		||||
    ____  _                  __       __                   
 | 
			
		||||
   / __ \(_)________  ____ _/ /______/ /_  ____ ___________
 | 
			
		||||
  / / / / / ___/ __ \/ __ `/ __/ ___/ __ \/ __ `/ ___/ ___/
 | 
			
		||||
 / /_/ / (__  ) /_/ / /_/ / /_/ /__/ / / / /_/ / /  / /    
 | 
			
		||||
/_____/_/____/ .___/\__,_/\__/\___/_/ /_/\__,_/_/  /_/     
 | 
			
		||||
            /_/                                            
 | 
			
		||||
							
								
								
									
										6
									
								
								ct/headers/garage
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										6
									
								
								ct/headers/garage
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,6 @@
 | 
			
		||||
   ______                          
 | 
			
		||||
  / ____/___ __________ _____ ____ 
 | 
			
		||||
 / / __/ __ `/ ___/ __ `/ __ `/ _ \
 | 
			
		||||
/ /_/ / /_/ / /  / /_/ / /_/ /  __/
 | 
			
		||||
\____/\__,_/_/   \__,_/\__, /\___/ 
 | 
			
		||||
                      /____/       
 | 
			
		||||
							
								
								
									
										6
									
								
								ct/headers/ghostfolio
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										6
									
								
								ct/headers/ghostfolio
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,6 @@
 | 
			
		||||
   ________               __  ____      ___     
 | 
			
		||||
  / ____/ /_  ____  _____/ /_/ __/___  / (_)___ 
 | 
			
		||||
 / / __/ __ \/ __ \/ ___/ __/ /_/ __ \/ / / __ \
 | 
			
		||||
/ /_/ / / / / /_/ (__  ) /_/ __/ /_/ / / / /_/ /
 | 
			
		||||
\____/_/ /_/\____/____/\__/_/  \____/_/_/\____/ 
 | 
			
		||||
                                                
 | 
			
		||||
@@ -1,6 +0,0 @@
 | 
			
		||||
   ______      __  _______________
 | 
			
		||||
  / ____/___  /  |/  / ____/_  __/
 | 
			
		||||
 / / __/ __ \/ /|_/ / /_    / /   
 | 
			
		||||
/ /_/ / /_/ / /  / / __/   / /    
 | 
			
		||||
\____/\____/_/  /_/_/     /_/     
 | 
			
		||||
                                  
 | 
			
		||||
							
								
								
									
										6
									
								
								ct/headers/guardian
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										6
									
								
								ct/headers/guardian
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,6 @@
 | 
			
		||||
   ______                     ___           
 | 
			
		||||
  / ____/_  ______ __________/ (_)___ _____ 
 | 
			
		||||
 / / __/ / / / __ `/ ___/ __  / / __ `/ __ \
 | 
			
		||||
/ /_/ / /_/ / /_/ / /  / /_/ / / /_/ / / / /
 | 
			
		||||
\____/\__,_/\__,_/_/   \__,_/_/\__,_/_/ /_/ 
 | 
			
		||||
                                            
 | 
			
		||||
							
								
								
									
										6
									
								
								ct/headers/jotty
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										6
									
								
								ct/headers/jotty
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,6 @@
 | 
			
		||||
       _       __  __       
 | 
			
		||||
      (_)___  / /_/ /___  __
 | 
			
		||||
     / / __ \/ __/ __/ / / /
 | 
			
		||||
    / / /_/ / /_/ /_/ /_/ / 
 | 
			
		||||
 __/ /\____/\__/\__/\__, /  
 | 
			
		||||
/___/              /____/   
 | 
			
		||||
							
								
								
									
										6
									
								
								ct/headers/limesurvey
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										6
									
								
								ct/headers/limesurvey
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,6 @@
 | 
			
		||||
    __    _               _____                            
 | 
			
		||||
   / /   (_)___ ___  ___ / ___/__  ________   _____  __  __
 | 
			
		||||
  / /   / / __ `__ \/ _ \\__ \/ / / / ___/ | / / _ \/ / / /
 | 
			
		||||
 / /___/ / / / / / /  __/__/ / /_/ / /   | |/ /  __/ /_/ / 
 | 
			
		||||
/_____/_/_/ /_/ /_/\___/____/\__,_/_/    |___/\___/\__, /  
 | 
			
		||||
                                                  /____/   
 | 
			
		||||
							
								
								
									
										6
									
								
								ct/headers/myip
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										6
									
								
								ct/headers/myip
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,6 @@
 | 
			
		||||
    __  ___      ________ 
 | 
			
		||||
   /  |/  /_  __/  _/ __ \
 | 
			
		||||
  / /|_/ / / / // // /_/ /
 | 
			
		||||
 / /  / / /_/ // // ____/ 
 | 
			
		||||
/_/  /_/\__, /___/_/      
 | 
			
		||||
       /____/             
 | 
			
		||||
							
								
								
									
										6
									
								
								ct/headers/open-archiver
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										6
									
								
								ct/headers/open-archiver
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,6 @@
 | 
			
		||||
   ____                         ___              __    _                
 | 
			
		||||
  / __ \____  ___  ____        /   |  __________/ /_  (_)   _____  _____
 | 
			
		||||
 / / / / __ \/ _ \/ __ \______/ /| | / ___/ ___/ __ \/ / | / / _ \/ ___/
 | 
			
		||||
/ /_/ / /_/ /  __/ / / /_____/ ___ |/ /  / /__/ / / / /| |/ /  __/ /    
 | 
			
		||||
\____/ .___/\___/_/ /_/     /_/  |_/_/   \___/_/ /_/_/ |___/\___/_/     
 | 
			
		||||
    /_/                                                                 
 | 
			
		||||
							
								
								
									
										6
									
								
								ct/headers/patchmon
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										6
									
								
								ct/headers/patchmon
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,6 @@
 | 
			
		||||
    ____        __       __    __  ___          
 | 
			
		||||
   / __ \____ _/ /______/ /_  /  |/  /___  ____ 
 | 
			
		||||
  / /_/ / __ `/ __/ ___/ __ \/ /|_/ / __ \/ __ \
 | 
			
		||||
 / ____/ /_/ / /_/ /__/ / / / /  / / /_/ / / / /
 | 
			
		||||
/_/    \__,_/\__/\___/_/ /_/_/  /_/\____/_/ /_/ 
 | 
			
		||||
                                                
 | 
			
		||||
@@ -1,6 +0,0 @@
 | 
			
		||||
    ____       __  _     
 | 
			
		||||
   / __ \___  / /_(_)___ 
 | 
			
		||||
  / /_/ / _ \/ __/ / __ \
 | 
			
		||||
 / ____/  __/ /_/ / /_/ /
 | 
			
		||||
/_/    \___/\__/_/\____/ 
 | 
			
		||||
                         
 | 
			
		||||
							
								
								
									
										6
									
								
								ct/headers/prometheus-blackbox-exporter
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										6
									
								
								ct/headers/prometheus-blackbox-exporter
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,6 @@
 | 
			
		||||
    ____                            __  __                          ____  __           __   __                     ______                      __           
 | 
			
		||||
   / __ \_________  ____ ___  ___  / /_/ /_  ___  __  _______      / __ )/ /___ ______/ /__/ /_  ____  _  __      / ____/  ______  ____  _____/ /____  _____
 | 
			
		||||
  / /_/ / ___/ __ \/ __ `__ \/ _ \/ __/ __ \/ _ \/ / / / ___/_____/ __  / / __ `/ ___/ //_/ __ \/ __ \| |/_/_____/ __/ | |/_/ __ \/ __ \/ ___/ __/ _ \/ ___/
 | 
			
		||||
 / ____/ /  / /_/ / / / / / /  __/ /_/ / / /  __/ /_/ (__  )_____/ /_/ / / /_/ / /__/ ,< / /_/ / /_/ />  </_____/ /____>  </ /_/ / /_/ / /  / /_/  __/ /    
 | 
			
		||||
/_/   /_/   \____/_/ /_/ /_/\___/\__/_/ /_/\___/\__,_/____/     /_____/_/\__,_/\___/_/|_/_.___/\____/_/|_|     /_____/_/|_/ .___/\____/_/   \__/\___/_/     
 | 
			
		||||
                                                                                                                         /_/                                
 | 
			
		||||
							
								
								
									
										6
									
								
								ct/headers/pve-scripts-local
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										6
									
								
								ct/headers/pve-scripts-local
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,6 @@
 | 
			
		||||
    ____ _    ________    _____           _       __             __                     __
 | 
			
		||||
   / __ \ |  / / ____/   / ___/__________(_)___  / /______      / /   ____  _________ _/ /
 | 
			
		||||
  / /_/ / | / / __/______\__ \/ ___/ ___/ / __ \/ __/ ___/_____/ /   / __ \/ ___/ __ `/ / 
 | 
			
		||||
 / ____/| |/ / /__/_____/__/ / /__/ /  / / /_/ / /_(__  )_____/ /___/ /_/ / /__/ /_/ / /  
 | 
			
		||||
/_/     |___/_____/    /____/\___/_/  /_/ .___/\__/____/     /_____/\____/\___/\__,_/_/   
 | 
			
		||||
                                       /_/                                                
 | 
			
		||||
							
								
								
									
										6
									
								
								ct/headers/rwmarkable
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										6
									
								
								ct/headers/rwmarkable
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,6 @@
 | 
			
		||||
                  __  ___           __         __    __   
 | 
			
		||||
   ______      __/  |/  /___ ______/ /______ _/ /_  / /__ 
 | 
			
		||||
  / ___/ | /| / / /|_/ / __ `/ ___/ //_/ __ `/ __ \/ / _ \
 | 
			
		||||
 / /   | |/ |/ / /  / / /_/ / /  / ,< / /_/ / /_/ / /  __/
 | 
			
		||||
/_/    |__/|__/_/  /_/\__,_/_/  /_/|_|\__,_/_.___/_/\___/ 
 | 
			
		||||
                                                          
 | 
			
		||||
							
								
								
									
										6
									
								
								ct/headers/sonarqube
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										6
									
								
								ct/headers/sonarqube
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,6 @@
 | 
			
		||||
   _____                        ____        __       
 | 
			
		||||
  / ___/____  ____  ____ ______/ __ \__  __/ /_  ___ 
 | 
			
		||||
  \__ \/ __ \/ __ \/ __ `/ ___/ / / / / / / __ \/ _ \
 | 
			
		||||
 ___/ / /_/ / / / / /_/ / /  / /_/ / /_/ / /_/ /  __/
 | 
			
		||||
/____/\____/_/ /_/\__,_/_/   \___\_\__,_/_.___/\___/ 
 | 
			
		||||
                                                     
 | 
			
		||||
							
								
								
									
										6
									
								
								ct/headers/verdaccio
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										6
									
								
								ct/headers/verdaccio
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,6 @@
 | 
			
		||||
 _    __              __                _     
 | 
			
		||||
| |  / /__  _________/ /___ ___________(_)___ 
 | 
			
		||||
| | / / _ \/ ___/ __  / __ `/ ___/ ___/ / __ \
 | 
			
		||||
| |/ /  __/ /  / /_/ / /_/ / /__/ /__/ / /_/ /
 | 
			
		||||
|___/\___/_/   \__,_/\__,_/\___/\___/_/\____/ 
 | 
			
		||||
                                              
 | 
			
		||||
							
								
								
									
										6
									
								
								ct/headers/warracker
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										6
									
								
								ct/headers/warracker
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,6 @@
 | 
			
		||||
 _       __                           __            
 | 
			
		||||
| |     / /___ _______________ ______/ /_____  _____
 | 
			
		||||
| | /| / / __ `/ ___/ ___/ __ `/ ___/ //_/ _ \/ ___/
 | 
			
		||||
| |/ |/ / /_/ / /  / /  / /_/ / /__/ ,< /  __/ /    
 | 
			
		||||
|__/|__/\__,_/_/  /_/   \__,_/\___/_/|_|\___/_/     
 | 
			
		||||
                                                    
 | 
			
		||||
@@ -32,16 +32,16 @@ function update_script() {
 | 
			
		||||
  fi
 | 
			
		||||
 | 
			
		||||
  if check_for_gh_release "headscale" "juanfont/headscale"; then
 | 
			
		||||
    msg_info "Stopping ${APP}"
 | 
			
		||||
    msg_info "Stopping Service"
 | 
			
		||||
    systemctl stop headscale
 | 
			
		||||
    msg_ok "Stopped ${APP}"
 | 
			
		||||
    msg_ok "Stopped Service"
 | 
			
		||||
 | 
			
		||||
    fetch_and_deploy_gh_release "headscale" "juanfont/headscale" "binary"
 | 
			
		||||
    fetch_and_deploy_gh_release "headscale-admin" "GoodiesHQ/headscale-admin" "prebuild" "latest" "/opt/headscale-admin" "admin.zip"
 | 
			
		||||
 | 
			
		||||
    msg_info "Starting ${APP}"
 | 
			
		||||
    msg_info "Starting Service"
 | 
			
		||||
    systemctl enable -q --now headscale
 | 
			
		||||
    msg_ok "Started ${APP}"
 | 
			
		||||
    msg_ok "Started Service"
 | 
			
		||||
    msg_ok "Updated Successfully"
 | 
			
		||||
  fi
 | 
			
		||||
  exit
 | 
			
		||||
 
 | 
			
		||||
@@ -29,10 +29,10 @@ function update_script() {
 | 
			
		||||
  fi
 | 
			
		||||
  RELEASE=$(curl -fsSL "https://api.github.com/repos/linuxserver/Heimdall/releases/latest" | awk '/tag_name/{print $4;exit}' FS='[""]')
 | 
			
		||||
  if [[ "${RELEASE}" != "$(cat /opt/${APP}_version.txt)" ]] || [[ ! -f /opt/${APP}_version.txt ]]; then
 | 
			
		||||
    msg_info "Stopping ${APP}"
 | 
			
		||||
    msg_info "Stopping Service"
 | 
			
		||||
    systemctl stop heimdall
 | 
			
		||||
    sleep 1
 | 
			
		||||
    msg_ok "Stopped ${APP}"
 | 
			
		||||
    msg_ok "Stopped Service"
 | 
			
		||||
    msg_info "Backing up Data"
 | 
			
		||||
    cp -R /opt/Heimdall/database database-backup
 | 
			
		||||
    cp -R /opt/Heimdall/public public-backup
 | 
			
		||||
@@ -59,10 +59,10 @@ function update_script() {
 | 
			
		||||
    rm -rf {"${RELEASE}".tar.gz,Heimdall-"${VER}",public-backup,database-backup,Heimdall}
 | 
			
		||||
    sleep 1
 | 
			
		||||
    msg_ok "Cleaned"
 | 
			
		||||
    msg_info "Starting ${APP}"
 | 
			
		||||
    msg_info "Starting Service"
 | 
			
		||||
    systemctl start heimdall.service
 | 
			
		||||
    sleep 2
 | 
			
		||||
    msg_ok "Started ${APP}"
 | 
			
		||||
    msg_ok "Started Service"
 | 
			
		||||
    msg_ok "Updated Successfully"
 | 
			
		||||
  else
 | 
			
		||||
    msg_ok "No update required.  ${APP} is already at ${RELEASE}."
 | 
			
		||||
 
 | 
			
		||||
@@ -6,7 +6,7 @@ source <(curl -fsSL https://raw.githubusercontent.com/community-scripts/ProxmoxV
 | 
			
		||||
# Source: https://github.com/heiher/hev-socks5-server
 | 
			
		||||
 | 
			
		||||
APP="hev-socks5-server"
 | 
			
		||||
TAGS="proxy,socks5"
 | 
			
		||||
var_tags="${var_tags:-proxy;socks5}"
 | 
			
		||||
var_cpu="${var_cpu:-1}"
 | 
			
		||||
var_ram="${var_ram:-512}"
 | 
			
		||||
var_disk="${var_disk:-2}"
 | 
			
		||||
@@ -61,4 +61,4 @@ msg_ok "Completed Successfully!\n"
 | 
			
		||||
echo -e "${CREATING}${GN}${APP} setup has been successfully initialized!${CL}"
 | 
			
		||||
echo -e "${INFO}${YW} Access it with a SOCKS5 client using the following URL:${CL}"
 | 
			
		||||
echo -e "${TAB}${GATEWAY}${BGN}${IP}:1080${CL}"
 | 
			
		||||
echo -e "${INFO}${YW} and the credentials stored at /root/hev.creds${CL}"
 | 
			
		||||
echo -e "${INFO}${YW} and the credentials stored at /root/hev.creds${CL}"
 | 
			
		||||
 
 | 
			
		||||
@@ -34,9 +34,9 @@ function update_script() {
 | 
			
		||||
  fi
 | 
			
		||||
 | 
			
		||||
  if check_for_gh_release "homebox" "sysadminsmedia/homebox"; then
 | 
			
		||||
    msg_info "Stopping ${APP}"
 | 
			
		||||
    msg_info "Stopping Service"
 | 
			
		||||
    systemctl stop homebox
 | 
			
		||||
    msg_ok "${APP} Stopped"
 | 
			
		||||
    msg_ok "Stopped Service"
 | 
			
		||||
 | 
			
		||||
    if [ -f /opt/homebox ] && [ -x /opt/homebox ]; then
 | 
			
		||||
      rm -f /opt/homebox
 | 
			
		||||
@@ -46,9 +46,9 @@ function update_script() {
 | 
			
		||||
    [ -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 Service"
 | 
			
		||||
    systemctl start homebox
 | 
			
		||||
    msg_ok "Started ${APP}"
 | 
			
		||||
    msg_ok "Started Service"
 | 
			
		||||
    msg_ok "Updated Successfully"
 | 
			
		||||
  fi
 | 
			
		||||
  exit
 | 
			
		||||
 
 | 
			
		||||
@@ -27,9 +27,9 @@ function update_script() {
 | 
			
		||||
        msg_error "No ${APP} Installation Found!"
 | 
			
		||||
        exit
 | 
			
		||||
    fi
 | 
			
		||||
    msg_info "Stopping ${APP}"
 | 
			
		||||
    msg_info "Stopping Service"
 | 
			
		||||
    systemctl stop homer
 | 
			
		||||
    msg_ok "Stopped ${APP}"
 | 
			
		||||
    msg_ok "Stopped Service"
 | 
			
		||||
 | 
			
		||||
    msg_info "Backing up assets directory"
 | 
			
		||||
    cd ~
 | 
			
		||||
@@ -53,9 +53,9 @@ function update_script() {
 | 
			
		||||
    rm -rf assets-backup /opt/homer/homer.zip
 | 
			
		||||
    msg_ok "Cleaned"
 | 
			
		||||
 | 
			
		||||
    msg_info "Starting ${APP}"
 | 
			
		||||
    msg_info "Starting Service"
 | 
			
		||||
    systemctl start homer
 | 
			
		||||
    msg_ok "Started ${APP}"
 | 
			
		||||
    msg_ok "Started Service"
 | 
			
		||||
    msg_ok "Updated Successfully"
 | 
			
		||||
    exit
 | 
			
		||||
}
 | 
			
		||||
 
 | 
			
		||||
							
								
								
									
										59
									
								
								ct/immich.sh
									
									
									
									
									
								
							
							
						
						
									
										59
									
								
								ct/immich.sh
									
									
									
									
									
								
							@@ -39,8 +39,26 @@ function update_script() {
 | 
			
		||||
  PNPM_VERSION="$(curl -fsSL "https://raw.githubusercontent.com/immich-app/immich/refs/heads/main/package.json" | jq -r '.packageManager | split("@")[1]')"
 | 
			
		||||
  NODE_VERSION="22" NODE_MODULE="pnpm@${PNPM_VERSION}" setup_nodejs
 | 
			
		||||
 | 
			
		||||
  if dpkg -l | grep -q "libmimalloc2.0"; then
 | 
			
		||||
    $STD apt-get update && $STD apt-get install -y libmimalloc3
 | 
			
		||||
  if [[ ! -f /etc/apt/preferences.d/preferences ]]; then
 | 
			
		||||
    msg_info "Adding Debian Testing repo"
 | 
			
		||||
    sed -i 's/ trixie-updates/ trixie-updates testing/g' /etc/apt/sources.list.d/debian.sources
 | 
			
		||||
    cat <<EOF >/etc/apt/preferences.d/preferences
 | 
			
		||||
Package: *
 | 
			
		||||
Pin: release a=unstable
 | 
			
		||||
Pin-Priority: 450
 | 
			
		||||
 | 
			
		||||
Package: *
 | 
			
		||||
Pin:release a=testing
 | 
			
		||||
Pin-Priority: 450
 | 
			
		||||
EOF
 | 
			
		||||
    if [[ -f /etc/apt/preferences.d/immich ]]; then
 | 
			
		||||
      rm /etc/apt/preferences.d/immich
 | 
			
		||||
    fi
 | 
			
		||||
    $STD apt-get update
 | 
			
		||||
    msg_ok "Added Debian Testing repo"
 | 
			
		||||
    msg_info "Installing libmimalloc3"
 | 
			
		||||
    $STD apt-get install -t testing --no-install-recommends libmimalloc3
 | 
			
		||||
    msg_ok "Installed libmimalloc3"
 | 
			
		||||
  fi
 | 
			
		||||
 | 
			
		||||
  STAGING_DIR=/opt/staging
 | 
			
		||||
@@ -74,31 +92,34 @@ function update_script() {
 | 
			
		||||
    done
 | 
			
		||||
    msg_ok "Image-processing libraries up to date"
 | 
			
		||||
  fi
 | 
			
		||||
  RELEASE="1.143.1"
 | 
			
		||||
 | 
			
		||||
  RELEASE="2.1.0"
 | 
			
		||||
  if check_for_gh_release "immich" "immich-app/immich" "${RELEASE}"; then
 | 
			
		||||
    msg_info "Stopping Services"
 | 
			
		||||
    systemctl stop immich-web
 | 
			
		||||
    systemctl stop immich-ml
 | 
			
		||||
    msg_ok "Stopped ${APP}"
 | 
			
		||||
    msg_ok "Stopped Services"
 | 
			
		||||
    VCHORD_RELEASE="0.5.3"
 | 
			
		||||
    if [[ ! -f ~/.vchord_version ]] || [[ "$VCHORD_RELEASE" != "$(cat ~/.vchord_version)" ]]; then
 | 
			
		||||
      msg_info "Upgrading VectorChord"
 | 
			
		||||
      curl -fsSL "https://github.com/tensorchord/vectorchord/releases/download/${VCHORD_RELEASE}/postgresql-16-vchord_${VCHORD_RELEASE}-1_amd64.deb" -o vchord.deb
 | 
			
		||||
      $STD apt install -y ./vchord.deb
 | 
			
		||||
      systemctl restart postgresql
 | 
			
		||||
      $STD sudo -u postgres psql -d immich -c "ALTER EXTENSION vector UPDATE;"
 | 
			
		||||
      $STD sudo -u postgres psql -d immich -c "ALTER EXTENSION vchord UPDATE;"
 | 
			
		||||
      $STD sudo -u postgres psql -d immich -c "REINDEX INDEX face_index;"
 | 
			
		||||
      $STD sudo -u postgres psql -d immich -c "REINDEX INDEX clip_index;"
 | 
			
		||||
      echo "$VCHORD_RELEASE" >~/.vchord_version
 | 
			
		||||
      rm ./vchord.deb
 | 
			
		||||
      msg_ok "Upgraded VectorChord to v${VCHORD_RELEASE}"
 | 
			
		||||
    fi
 | 
			
		||||
 | 
			
		||||
    INSTALL_DIR="/opt/${APP}"
 | 
			
		||||
    UPLOAD_DIR="$(sed -n '/^IMMICH_MEDIA_LOCATION/s/[^=]*=//p' /opt/immich/.env)"
 | 
			
		||||
    SRC_DIR="${INSTALL_DIR}/source"
 | 
			
		||||
    APP_DIR="${INSTALL_DIR}/app"
 | 
			
		||||
    ML_DIR="${APP_DIR}/machine-learning"
 | 
			
		||||
    GEO_DIR="${INSTALL_DIR}/geodata"
 | 
			
		||||
    VCHORD_RELEASE="0.4.3"
 | 
			
		||||
    # VCHORD_RELEASE="$(curl -fsSL https://api.github.com/repos/tensorchord/vectorchord/releases/latest | grep "tag_name" | awk '{print substr($2, 2, length($2)-3) }')"
 | 
			
		||||
 | 
			
		||||
    if [[ ! -f ~/.vchord_version ]] || [[ "$VCHORD_RELEASE" != "$(cat ~/.vchord_version)" ]]; then
 | 
			
		||||
      msg_info "Updating VectorChord"
 | 
			
		||||
      curl -fsSL "https://github.com/tensorchord/vectorchord/releases/download/${VCHORD_RELEASE}/postgresql-16-vchord_${VCHORD_RELEASE}-1_amd64.deb" -o vchord.deb
 | 
			
		||||
      $STD apt install -y ./vchord.deb
 | 
			
		||||
      $STD sudo -u postgres psql -d immich -c "ALTER EXTENSION vchord UPDATE;"
 | 
			
		||||
      systemctl restart postgresql
 | 
			
		||||
      echo "$VCHORD_RELEASE" >~/.vchord_version
 | 
			
		||||
      rm ./vchord.deb
 | 
			
		||||
      msg_ok "Updated VectorChord to v${VCHORD_RELEASE}"
 | 
			
		||||
    fi
 | 
			
		||||
 | 
			
		||||
    cp "$ML_DIR"/ml_start.sh "$INSTALL_DIR"
 | 
			
		||||
    if grep -qs "set -a" "$APP_DIR"/bin/start.sh; then
 | 
			
		||||
@@ -144,6 +165,8 @@ EOF
 | 
			
		||||
    cd "$SRC_DIR"
 | 
			
		||||
    echo "packageImportMethod: hardlink" >>./pnpm-workspace.yaml
 | 
			
		||||
    $STD pnpm --filter @immich/sdk --filter immich-web --frozen-lockfile --force install
 | 
			
		||||
    unset SHARP_FORCE_GLOBAL_LIBVIPS
 | 
			
		||||
    export SHARP_IGNORE_GLOBAL_LIBVIPS=true
 | 
			
		||||
    $STD pnpm --filter @immich/sdk --filter immich-web build
 | 
			
		||||
    cp -a web/build "$APP_DIR"/www
 | 
			
		||||
    cp LICENSE "$APP_DIR"
 | 
			
		||||
@@ -158,6 +181,7 @@ EOF
 | 
			
		||||
 | 
			
		||||
    cd "$SRC_DIR"/machine-learning
 | 
			
		||||
    mkdir -p "$ML_DIR" && chown -R immich:immich "$ML_DIR"
 | 
			
		||||
    chown immich:immich ./uv.lock
 | 
			
		||||
    export VIRTUAL_ENV="${ML_DIR}"/ml-venv
 | 
			
		||||
    if [[ -f ~/.openvino ]]; then
 | 
			
		||||
      msg_info "Updating HW-accelerated machine-learning"
 | 
			
		||||
@@ -190,6 +214,7 @@ EOF
 | 
			
		||||
    msg_info "Cleaning up"
 | 
			
		||||
    $STD apt-get -y autoremove
 | 
			
		||||
    $STD apt-get -y autoclean
 | 
			
		||||
    $STD apt clean -y
 | 
			
		||||
    msg_ok "Cleaned"
 | 
			
		||||
    systemctl restart immich-ml immich-web
 | 
			
		||||
  fi
 | 
			
		||||
 
 | 
			
		||||
@@ -42,4 +42,4 @@ 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}"
 | 
			
		||||
echo -e "${TAB}${GATEWAY}${BGN}http://${IP}${CL}"
 | 
			
		||||
 
 | 
			
		||||
@@ -9,7 +9,7 @@ APP="Jellyfin"
 | 
			
		||||
var_tags="${var_tags:-media}"
 | 
			
		||||
var_cpu="${var_cpu:-2}"
 | 
			
		||||
var_ram="${var_ram:-2048}"
 | 
			
		||||
var_disk="${var_disk:-8}"
 | 
			
		||||
var_disk="${var_disk:-16}"
 | 
			
		||||
var_os="${var_os:-ubuntu}"
 | 
			
		||||
var_version="${var_version:-24.04}"
 | 
			
		||||
var_unprivileged="${var_unprivileged:-1}"
 | 
			
		||||
@@ -27,11 +27,29 @@ function update_script() {
 | 
			
		||||
    msg_error "No ${APP} Installation Found!"
 | 
			
		||||
    exit
 | 
			
		||||
  fi
 | 
			
		||||
  msg_info "Updating ${APP} LXC"
 | 
			
		||||
  $STD apt-get update
 | 
			
		||||
  $STD apt-get -y upgrade
 | 
			
		||||
  $STD apt-get -y --with-new-pkgs upgrade jellyfin jellyfin-server
 | 
			
		||||
  msg_ok "Updated ${APP} LXC"
 | 
			
		||||
 | 
			
		||||
  if ! grep -qEi 'ubuntu' /etc/os-release; then
 | 
			
		||||
    msg_info "Updating Intel Dependencies"
 | 
			
		||||
    rm .intel-*
 | 
			
		||||
    fetch_and_deploy_gh_release "intel-igc-core-2" "intel/intel-graphics-compiler" "binary" "latest" "" "intel-igc-core-2_*_amd64.deb"
 | 
			
		||||
    fetch_and_deploy_gh_release "intel-igc-opencl-2" "intel/intel-graphics-compiler" "binary" "latest" "" "intel-igc-opencl-2_*_amd64.deb"
 | 
			
		||||
    fetch_and_deploy_gh_release "intel-libgdgmm12" "intel/compute-runtime" "binary" "latest" "" "libigdgmm12_*_amd64.deb"
 | 
			
		||||
    fetch_and_deploy_gh_release "intel-opencl-icd" "intel/compute-runtime" "binary" "latest" "" "intel-opencl-icd_*_amd64.deb"
 | 
			
		||||
    msg_ok "Updated Intel Dependencies"
 | 
			
		||||
  fi
 | 
			
		||||
  
 | 
			
		||||
  msg_info "Updating Jellyfin"
 | 
			
		||||
  if ! dpkg -s libjemalloc2 >/dev/null 2>&1; then
 | 
			
		||||
    $STD apt install -y libjemalloc2
 | 
			
		||||
  fi
 | 
			
		||||
  if [[ ! -f /usr/lib/libjemalloc.so ]]; then
 | 
			
		||||
    ln -sf /usr/lib/x86_64-linux-gnu/libjemalloc.so.2 /usr/lib/libjemalloc.so
 | 
			
		||||
  fi
 | 
			
		||||
  $STD apt update
 | 
			
		||||
  $STD apt -y upgrade
 | 
			
		||||
  $STD apt -y --with-new-pkgs upgrade jellyfin jellyfin-server
 | 
			
		||||
  msg_ok "Updated Jellyfin"
 | 
			
		||||
  msg_ok "Update Successfully!"
 | 
			
		||||
  exit
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
 
 | 
			
		||||
							
								
								
									
										74
									
								
								ct/jotty.sh
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										74
									
								
								ct/jotty.sh
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,74 @@
 | 
			
		||||
#!/usr/bin/env bash
 | 
			
		||||
source <(curl -s 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/fccview/jotty
 | 
			
		||||
 | 
			
		||||
APP="jotty"
 | 
			
		||||
var_tags="${var_tags:-tasks;notes}"
 | 
			
		||||
var_cpu="${var_cpu:-2}"
 | 
			
		||||
var_ram="${var_ram:-3072}"
 | 
			
		||||
var_disk="${var_disk:-6}"
 | 
			
		||||
var_os="${var_os:-debian}"
 | 
			
		||||
var_version="${var_version:-13}"
 | 
			
		||||
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/jotty ]]; then
 | 
			
		||||
    msg_error "No ${APP} Installation Found!"
 | 
			
		||||
    exit
 | 
			
		||||
  fi
 | 
			
		||||
 | 
			
		||||
  if check_for_gh_release "jotty" "fccview/jotty"; then
 | 
			
		||||
    msg_info "Stopping Service"
 | 
			
		||||
    systemctl stop jotty
 | 
			
		||||
    msg_ok "Stopped Service"
 | 
			
		||||
 | 
			
		||||
    msg_info "Backing up configuration & data"
 | 
			
		||||
    cd /opt/jotty
 | 
			
		||||
    cp ./.env /opt/app.env
 | 
			
		||||
    $STD tar -cf /opt/data_config.tar ./data ./config
 | 
			
		||||
    msg_ok "Backed up configuration & data"
 | 
			
		||||
 | 
			
		||||
    NODE_VERSION="22" NODE_MODULE="yarn" setup_nodejs
 | 
			
		||||
    CLEAN_INSTALL=1 fetch_and_deploy_gh_release "jotty" "fccview/jotty" "tarball" "latest" "/opt/jotty"
 | 
			
		||||
 | 
			
		||||
    msg_info "Updating app"
 | 
			
		||||
    cd /opt/jotty
 | 
			
		||||
    $STD yarn --frozen-lockfile
 | 
			
		||||
    $STD yarn next telemetry disable
 | 
			
		||||
    $STD yarn build
 | 
			
		||||
    msg_ok "Updated app"
 | 
			
		||||
 | 
			
		||||
    msg_info "Restoring configuration & data"
 | 
			
		||||
    mv /opt/app.env /opt/jotty/.env
 | 
			
		||||
    $STD tar -xf /opt/data_config.tar
 | 
			
		||||
    msg_ok "Restored configuration & data"
 | 
			
		||||
 | 
			
		||||
    msg_info "Restarting ${APP} service"
 | 
			
		||||
    systemctl start jotty
 | 
			
		||||
    msg_ok "Restarted ${APP} service"
 | 
			
		||||
    rm /opt/data_config.tar
 | 
			
		||||
    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}:3000${CL}"
 | 
			
		||||
							
								
								
									
										41
									
								
								ct/kavita.sh
									
									
									
									
									
								
							
							
						
						
									
										41
									
								
								ct/kavita.sh
									
									
									
									
									
								
							@@ -11,7 +11,7 @@ var_cpu="${var_cpu:-2}"
 | 
			
		||||
var_ram="${var_ram:-2048}"
 | 
			
		||||
var_disk="${var_disk:-8}"
 | 
			
		||||
var_os="${var_os:-debian}"
 | 
			
		||||
var_version="${var_version:-12}"
 | 
			
		||||
var_version="${var_version:-13}"
 | 
			
		||||
var_unprivileged="${var_unprivileged:-1}"
 | 
			
		||||
 | 
			
		||||
header_info "$APP"
 | 
			
		||||
@@ -20,23 +20,28 @@ color
 | 
			
		||||
catch_errors
 | 
			
		||||
 | 
			
		||||
function update_script() {
 | 
			
		||||
    header_info
 | 
			
		||||
    check_container_storage
 | 
			
		||||
    check_container_resources
 | 
			
		||||
    if [[ ! -d /opt/Kavita ]]; then
 | 
			
		||||
        msg_error "No ${APP} Installation Found!"
 | 
			
		||||
        exit
 | 
			
		||||
    fi
 | 
			
		||||
    msg_info "Updating $APP LXC"
 | 
			
		||||
    systemctl stop kavita
 | 
			
		||||
    RELEASE=$(curl -fsSL https://api.github.com/repos/Kareadita/Kavita/releases/latest | grep "tag_name" | awk '{print substr($2, 2, length($2)-3) }')
 | 
			
		||||
    $STD tar -xvzf <(curl -fsSL https://github.com/Kareadita/Kavita/releases/download/$RELEASE/kavita-linux-x64.tar.gz) --no-same-owner
 | 
			
		||||
    rm -rf Kavita/config
 | 
			
		||||
    cp -r Kavita/* /opt/Kavita
 | 
			
		||||
    rm -rf Kavita
 | 
			
		||||
    systemctl start kavita
 | 
			
		||||
    msg_ok "Updated $APP LXC"
 | 
			
		||||
  header_info
 | 
			
		||||
  check_container_storage
 | 
			
		||||
  check_container_resources
 | 
			
		||||
  if [[ ! -d /opt/Kavita ]]; then
 | 
			
		||||
    msg_error "No ${APP} Installation Found!"
 | 
			
		||||
    exit
 | 
			
		||||
  fi
 | 
			
		||||
 | 
			
		||||
  if check_for_gh_release "kavita" "Kareadita/Kavita"; then
 | 
			
		||||
    msg_info "Stopping Service"
 | 
			
		||||
    systemctl stop kavita
 | 
			
		||||
    msg_ok "Service Stopped"
 | 
			
		||||
 | 
			
		||||
    fetch_and_deploy_gh_release "kavita" "Kareadita/Kavita" "prebuild" "latest" "/opt/Kavita" "kavita-linux-x64.tar.gz"
 | 
			
		||||
    chmod +x /opt/Kavita/Kavita && chown root:root /opt/Kavita/Kavita
 | 
			
		||||
 | 
			
		||||
    msg_info "Starting Service"
 | 
			
		||||
    systemctl start kavita
 | 
			
		||||
    msg_ok "Service Started"
 | 
			
		||||
    msg_ok "Update Successfully!"
 | 
			
		||||
  fi
 | 
			
		||||
  exit
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
start
 | 
			
		||||
@@ -46,4 +51,4 @@ 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}:5000${CL}"
 | 
			
		||||
echo -e "${TAB}${GATEWAY}${BGN}http://${IP}:5000${CL}"
 | 
			
		||||
 
 | 
			
		||||
@@ -27,7 +27,7 @@ function update_script() {
 | 
			
		||||
    msg_error "No ${APP} Installation Found!"
 | 
			
		||||
    exit
 | 
			
		||||
  fi
 | 
			
		||||
  if check_for_gh_release "keycloak" "keycloak/keycloak"; then
 | 
			
		||||
  if check_for_gh_release "keycloak_app" "keycloak/keycloak"; then
 | 
			
		||||
    msg_info "Stopping Keycloak"
 | 
			
		||||
    systemctl stop keycloak
 | 
			
		||||
    msg_ok "Stopped Keycloak"
 | 
			
		||||
 
 | 
			
		||||
							
								
								
									
										43
									
								
								ct/kimai.sh
									
									
									
									
									
								
							
							
						
						
									
										43
									
								
								ct/kimai.sh
									
									
									
									
									
								
							@@ -23,32 +23,21 @@ function update_script() {
 | 
			
		||||
  header_info
 | 
			
		||||
  check_container_storage
 | 
			
		||||
  check_container_resources
 | 
			
		||||
  if ! command -v lsb_release; then
 | 
			
		||||
    apt install -y lsb-release
 | 
			
		||||
  fi
 | 
			
		||||
  if [[ ! -d /opt/kimai ]]; then
 | 
			
		||||
    msg_error "No ${APP} Installation Found!"
 | 
			
		||||
    exit
 | 
			
		||||
  fi
 | 
			
		||||
 | 
			
		||||
  CURRENT_PHP=$(php -v 2>/dev/null | awk '/^PHP/{print $2}' | cut -d. -f1,2)
 | 
			
		||||
  if [[ "$CURRENT_PHP" != "8.4" ]]; then
 | 
			
		||||
    msg_info "Migrating PHP $CURRENT_PHP to 8.4"
 | 
			
		||||
    $STD curl -fsSLo /tmp/debsuryorg-archive-keyring.deb https://packages.sury.org/debsuryorg-archive-keyring.deb
 | 
			
		||||
    $STD dpkg -i /tmp/debsuryorg-archive-keyring.deb
 | 
			
		||||
    $STD sh -c 'echo "deb [signed-by=/usr/share/keyrings/deb.sury.org-php.gpg] https://packages.sury.org/php/ $(lsb_release -sc) main" > /etc/apt/sources.list.d/php.list'
 | 
			
		||||
    $STD apt-get update
 | 
			
		||||
    $STD apt-get remove -y php"${CURRENT_PHP//./}"*
 | 
			
		||||
    $STD apt-get install -y \
 | 
			
		||||
      php8.4 composer \
 | 
			
		||||
      php8.4-{gd,mysql,mbstring,bcmath,xml,curl,zip,intl,fpm} \
 | 
			
		||||
      libapache2-mod-php8.4
 | 
			
		||||
    PHP_VERSION="8.4" PHP_MODULE="gd,mysql,mbstring,bcmath,xml,curl,zip,intl,fpm" PHP_APACHE="YES" setup_php
 | 
			
		||||
    msg_ok "Migrated PHP $CURRENT_PHP to 8.4"
 | 
			
		||||
  fi
 | 
			
		||||
 | 
			
		||||
  RELEASE=$(curl -fsSL https://api.github.com/repos/kimai/kimai/releases/latest | grep "tag_name" | awk '{print substr($2, 2, length($2)-3) }')
 | 
			
		||||
  BACKUP_DIR="/opt/kimai_backup"
 | 
			
		||||
  if check_for_gh_release "Kimai" "kimai/kimai"; then
 | 
			
		||||
    BACKUP_DIR="/opt/kimai_backup"
 | 
			
		||||
 | 
			
		||||
  if [[ ! -f /opt/${APP}_version.txt ]] || [[ "${RELEASE}" != "$(cat /opt/${APP}_version.txt)" ]]; then
 | 
			
		||||
    msg_info "Stopping Apache2"
 | 
			
		||||
    systemctl stop apache2
 | 
			
		||||
    msg_ok "Stopped Apache2"
 | 
			
		||||
@@ -60,15 +49,9 @@ function update_script() {
 | 
			
		||||
    [ -f /opt/kimai/config/packages/local.yaml ] && cp /opt/kimai/config/packages/local.yaml "$BACKUP_DIR/"
 | 
			
		||||
    msg_ok "Backup completed"
 | 
			
		||||
 | 
			
		||||
    msg_info "Updating ${APP} to ${RELEASE}"
 | 
			
		||||
    trap "echo Unable to download release file for version ${RELEASE}; try again later" ERR
 | 
			
		||||
    set -e
 | 
			
		||||
    curl -fsSL "https://github.com/kimai/kimai/archive/refs/tags/${RELEASE}.zip" -o $(basename "https://github.com/kimai/kimai/archive/refs/tags/${RELEASE}.zip")
 | 
			
		||||
    $STD unzip "${RELEASE}".zip
 | 
			
		||||
    set +e
 | 
			
		||||
    trap - ERR
 | 
			
		||||
    rm -rf /opt/kimai
 | 
			
		||||
    mv kimai-"${RELEASE}" /opt/kimai
 | 
			
		||||
    fetch_and_deploy_gh_release "Kimai" "kimai/kimai" "prebuild" "latest" "/opt/kimai" "kimai-release-*.zip"
 | 
			
		||||
 | 
			
		||||
    msg_info "Updating Kimai"
 | 
			
		||||
    [ -d "$BACKUP_DIR/var" ] && cp -r "$BACKUP_DIR/var" /opt/kimai/
 | 
			
		||||
    [ -f "$BACKUP_DIR/.env" ] && cp "$BACKUP_DIR/.env" /opt/kimai/
 | 
			
		||||
    [ -f "$BACKUP_DIR/local.yaml" ] && cp "$BACKUP_DIR/local.yaml" /opt/kimai/config/packages/
 | 
			
		||||
@@ -76,8 +59,7 @@ function update_script() {
 | 
			
		||||
    cd /opt/kimai
 | 
			
		||||
    $STD composer install --no-dev --optimize-autoloader
 | 
			
		||||
    $STD bin/console kimai:update
 | 
			
		||||
    echo "${RELEASE}" >/opt/${APP}_version.txt
 | 
			
		||||
    msg_ok "Updated ${APP} to ${RELEASE}"
 | 
			
		||||
    msg_ok "Updated Kimai"
 | 
			
		||||
 | 
			
		||||
    msg_info "Starting Apache2"
 | 
			
		||||
    systemctl start apache2
 | 
			
		||||
@@ -90,14 +72,7 @@ function update_script() {
 | 
			
		||||
    chown -R www-data:www-data /opt/*
 | 
			
		||||
    chmod -R 777 /opt/*
 | 
			
		||||
    msg_ok "Setup Permissions"
 | 
			
		||||
 | 
			
		||||
    msg_info "Cleaning Up"
 | 
			
		||||
    rm -rf "${RELEASE}".zip
 | 
			
		||||
    rm -rf "$BACKUP_DIR"
 | 
			
		||||
    msg_ok "Cleaned"
 | 
			
		||||
    msg_ok "Updated Successfully"
 | 
			
		||||
  else
 | 
			
		||||
    msg_ok "No update required. ${APP} is already at ${RELEASE}"
 | 
			
		||||
    msg_ok "Updated Successfully!"
 | 
			
		||||
  fi
 | 
			
		||||
  exit
 | 
			
		||||
}
 | 
			
		||||
 
 | 
			
		||||
@@ -6,7 +6,7 @@ source <(curl -fsSL https://raw.githubusercontent.com/community-scripts/ProxmoxV
 | 
			
		||||
# Source: https://github.com/Kometa-Team/Kometa
 | 
			
		||||
 | 
			
		||||
APP="Kometa"
 | 
			
		||||
TAGS="media;streaming"
 | 
			
		||||
var_tags="${var_tags:-media;streaming}"
 | 
			
		||||
var_cpu="${var_cpu:-2}"
 | 
			
		||||
var_ram="${var_ram:-4096}"
 | 
			
		||||
var_disk="${var_disk:-8}"
 | 
			
		||||
 
 | 
			
		||||
							
								
								
									
										12
									
								
								ct/komga.sh
									
									
									
									
									
								
							
							
						
						
									
										12
									
								
								ct/komga.sh
									
									
									
									
									
								
							@@ -11,7 +11,7 @@ var_cpu="${var_cpu:-1}"
 | 
			
		||||
var_ram="${var_ram:-2048}"
 | 
			
		||||
var_disk="${var_disk:-4}"
 | 
			
		||||
var_os="${var_os:-debian}"
 | 
			
		||||
var_version="${var_version:-12}"
 | 
			
		||||
var_version="${var_version:-13}"
 | 
			
		||||
var_unprivileged="${var_unprivileged:-1}"
 | 
			
		||||
 | 
			
		||||
header_info "$APP"
 | 
			
		||||
@@ -27,18 +27,18 @@ function update_script() {
 | 
			
		||||
    msg_error "No ${APP} Installation Found!"
 | 
			
		||||
    exit
 | 
			
		||||
  fi
 | 
			
		||||
  if check_for_gh_release "komga" "gotson/komga"; then
 | 
			
		||||
    msg_info "Stopping ${APP}"
 | 
			
		||||
  if check_for_gh_release "komga-org" "gotson/komga"; then
 | 
			
		||||
    msg_info "Stopping Service"
 | 
			
		||||
    systemctl stop komga
 | 
			
		||||
    msg_ok "Stopped ${APP}"
 | 
			
		||||
    msg_ok "Stopped Service"
 | 
			
		||||
 | 
			
		||||
    rm -f /opt/komga/komga.jar
 | 
			
		||||
    USE_ORIGINAL_FILENAME="true" fetch_and_deploy_gh_release "komga-org" "gotson/komga" "singlefile" "latest" "/opt/komga" "komga*.jar"
 | 
			
		||||
    mv /opt/komga/komga-*.jar /opt/komga/komga.jar
 | 
			
		||||
 | 
			
		||||
    msg_info "Starting ${APP}"
 | 
			
		||||
    msg_info "Starting Service"
 | 
			
		||||
    systemctl start komga
 | 
			
		||||
    msg_ok "Started ${APP}"
 | 
			
		||||
    msg_ok "Started Service"
 | 
			
		||||
    msg_ok "Updated Successfully"
 | 
			
		||||
  fi
 | 
			
		||||
  exit
 | 
			
		||||
 
 | 
			
		||||
@@ -11,7 +11,7 @@ var_cpu="${var_cpu:-2}"
 | 
			
		||||
var_ram="${var_ram:-1024}"
 | 
			
		||||
var_disk="${var_disk:-4}"
 | 
			
		||||
var_os="${var_os:-debian}"
 | 
			
		||||
var_version="${var_version:-12}"
 | 
			
		||||
var_version="${var_version:-13}"
 | 
			
		||||
var_unprivileged="${var_unprivileged:-1}"
 | 
			
		||||
 | 
			
		||||
header_info "$APP"
 | 
			
		||||
 
 | 
			
		||||
@@ -11,7 +11,7 @@ var_cpu="${var_cpu:-2}"
 | 
			
		||||
var_ram="${var_ram:-2048}"
 | 
			
		||||
var_disk="${var_disk:-20}"
 | 
			
		||||
var_os="${var_os:-debian}"
 | 
			
		||||
var_version="${var_version:-12}"
 | 
			
		||||
var_version="${var_version:-13}"
 | 
			
		||||
var_unprivileged="${var_unprivileged:-1}"
 | 
			
		||||
 | 
			
		||||
header_info "$APP"
 | 
			
		||||
 
 | 
			
		||||
@@ -11,7 +11,7 @@ var_cpu="${var_cpu:-1}"
 | 
			
		||||
var_ram="${var_ram:-512}"
 | 
			
		||||
var_disk="${var_disk:-4}"
 | 
			
		||||
var_os="${var_os:-debian}"
 | 
			
		||||
var_version="${var_version:-12}"
 | 
			
		||||
var_version="${var_version:-13}"
 | 
			
		||||
var_unprivileged="${var_unprivileged:-1}"
 | 
			
		||||
 | 
			
		||||
header_info "$APP"
 | 
			
		||||
 
 | 
			
		||||
@@ -11,7 +11,7 @@ var_cpu="${var_cpu:-2}"
 | 
			
		||||
var_ram="${var_ram:-2048}"
 | 
			
		||||
var_disk="${var_disk:-20}"
 | 
			
		||||
var_os="${var_os:-debian}"
 | 
			
		||||
var_version="${var_version:-12}"
 | 
			
		||||
var_version="${var_version:-13}"
 | 
			
		||||
var_unprivileged="${var_unprivileged:-1}"
 | 
			
		||||
 | 
			
		||||
header_info "$APP"
 | 
			
		||||
@@ -28,21 +28,24 @@ function update_script() {
 | 
			
		||||
    msg_error "No ${APP} Installation Found!"
 | 
			
		||||
    exit
 | 
			
		||||
  fi
 | 
			
		||||
  
 | 
			
		||||
  setup_uv
 | 
			
		||||
  
 | 
			
		||||
  if check_for_gh_release "libretranslate" "LibreTranslate/LibreTranslate"; then
 | 
			
		||||
    msg_info "Stopping $APP"
 | 
			
		||||
    msg_info "Stopping Service"
 | 
			
		||||
    systemctl stop libretranslate
 | 
			
		||||
    msg_ok "Stopped $APP"
 | 
			
		||||
    msg_ok "Stopped Service"
 | 
			
		||||
 | 
			
		||||
    msg_info "Updating $APP"
 | 
			
		||||
    msg_info "Updating LibreTranslate"
 | 
			
		||||
    cd /opt/libretranslate
 | 
			
		||||
    source .venv/bin/activate
 | 
			
		||||
    $STD pip install -U libretranslate
 | 
			
		||||
    msg_ok "Updated $APP"
 | 
			
		||||
    msg_ok "Updated LibreTranslate"
 | 
			
		||||
 | 
			
		||||
    msg_info "Starting $APP"
 | 
			
		||||
    msg_info "Starting Service"
 | 
			
		||||
    systemctl start libretranslate
 | 
			
		||||
    msg_ok "Started $APP"
 | 
			
		||||
    msg_ok "Update Successful"
 | 
			
		||||
    msg_ok "Started Service"
 | 
			
		||||
    msg_ok "Update Successfully!"
 | 
			
		||||
  fi
 | 
			
		||||
  exit
 | 
			
		||||
}
 | 
			
		||||
 
 | 
			
		||||
@@ -11,7 +11,7 @@ var_cpu="${var_cpu:-2}"
 | 
			
		||||
var_ram="${var_ram:-1024}"
 | 
			
		||||
var_disk="${var_disk:-4}"
 | 
			
		||||
var_os="${var_os:-debian}"
 | 
			
		||||
var_version="${var_version:-12}"
 | 
			
		||||
var_version="${var_version:-13}"
 | 
			
		||||
var_unprivileged="${var_unprivileged:-1}"
 | 
			
		||||
 | 
			
		||||
header_info "$APP"
 | 
			
		||||
 
 | 
			
		||||
							
								
								
									
										42
									
								
								ct/limesurvey.sh
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										42
									
								
								ct/limesurvey.sh
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,42 @@
 | 
			
		||||
#!/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://community.limesurvey.org/
 | 
			
		||||
 | 
			
		||||
APP="LimeSurvey"
 | 
			
		||||
var_tags="${var_tags:-os}"
 | 
			
		||||
var_cpu="${var_cpu:-1}"
 | 
			
		||||
var_ram="${var_ram:-512}"
 | 
			
		||||
var_disk="${var_disk:-2}"
 | 
			
		||||
var_os="${var_os:-debian}"
 | 
			
		||||
var_version="${var_version:-13}"
 | 
			
		||||
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/limesurvey ]]; then
 | 
			
		||||
        msg_error "No ${APP} Installation Found!"
 | 
			
		||||
        exit
 | 
			
		||||
    fi
 | 
			
		||||
 | 
			
		||||
    msg_warn "Application is updated via Web Interface"
 | 
			
		||||
    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}"
 | 
			
		||||
@@ -11,7 +11,7 @@ var_cpu="${var_cpu:-1}"
 | 
			
		||||
var_ram="${var_ram:-1024}"
 | 
			
		||||
var_disk="${var_disk:-5}"
 | 
			
		||||
var_os="${var_os:-debian}"
 | 
			
		||||
var_version="${var_version:-12}"
 | 
			
		||||
var_version="${var_version:-13}"
 | 
			
		||||
var_unprivileged="${var_unprivileged:-1}"
 | 
			
		||||
 | 
			
		||||
header_info "$APP"
 | 
			
		||||
 
 | 
			
		||||
@@ -28,9 +28,9 @@ function update_script() {
 | 
			
		||||
  fi
 | 
			
		||||
  if check_for_gh_release "linkwarden" "linkwarden/linkwarden"; then
 | 
			
		||||
    NODE_VERSION="22" NODE_MODULE="yarn@latest" setup_nodejs
 | 
			
		||||
    msg_info "Stopping ${APP}"
 | 
			
		||||
    msg_info "Stopping Service"
 | 
			
		||||
    systemctl stop linkwarden
 | 
			
		||||
    msg_ok "Stopped ${APP}"
 | 
			
		||||
    msg_ok "Stopped Service"
 | 
			
		||||
 | 
			
		||||
    RUST_CRATES="monolith" setup_rust
 | 
			
		||||
 | 
			
		||||
@@ -54,9 +54,9 @@ function update_script() {
 | 
			
		||||
    [ -d /opt/data.bak ] && mv /opt/data.bak /opt/linkwarden/data
 | 
			
		||||
    msg_ok "Updated ${APP}"
 | 
			
		||||
 | 
			
		||||
    msg_info "Starting ${APP}"
 | 
			
		||||
    msg_info "Starting Service"
 | 
			
		||||
    systemctl start linkwarden
 | 
			
		||||
    msg_ok "Started ${APP}"
 | 
			
		||||
    msg_ok "Started Service"
 | 
			
		||||
 | 
			
		||||
    msg_info "Cleaning up"
 | 
			
		||||
    rm -rf ~/.cargo/registry ~/.cargo/git ~/.cargo/.package-cache ~/.rustup
 | 
			
		||||
 
 | 
			
		||||
@@ -11,7 +11,7 @@ var_cpu="${var_cpu:-1}"
 | 
			
		||||
var_ram="${var_ram:-512}"
 | 
			
		||||
var_disk="${var_disk:-4}"
 | 
			
		||||
var_os="${var_os:-debian}"
 | 
			
		||||
var_version="${var_version:-12}"
 | 
			
		||||
var_version="${var_version:-13}"
 | 
			
		||||
var_unprivileged="${var_unprivileged:-1}"
 | 
			
		||||
 | 
			
		||||
header_info "$APP"
 | 
			
		||||
@@ -28,9 +28,9 @@ function update_script() {
 | 
			
		||||
    exit
 | 
			
		||||
  fi
 | 
			
		||||
  if check_for_gh_release "listmonk" "knadh/listmonk"; then
 | 
			
		||||
    msg_info "Stopping ${APP}"
 | 
			
		||||
    msg_info "Stopping Service"
 | 
			
		||||
    systemctl stop listmonk
 | 
			
		||||
    msg_ok "Stopped ${APP}"
 | 
			
		||||
    msg_ok "Stopped Service"
 | 
			
		||||
 | 
			
		||||
    msg_info "Backing up data"
 | 
			
		||||
    mv /opt/listmonk/ /opt/listmonk-backup
 | 
			
		||||
@@ -44,9 +44,9 @@ function update_script() {
 | 
			
		||||
    $STD /opt/listmonk/listmonk --upgrade --yes --config /opt/listmonk/config.toml
 | 
			
		||||
    msg_ok "Configured listmonk"
 | 
			
		||||
 | 
			
		||||
    msg_info "Starting ${APP}"
 | 
			
		||||
    msg_info "Starting Service"
 | 
			
		||||
    systemctl start listmonk
 | 
			
		||||
    msg_ok "Started ${APP}"
 | 
			
		||||
    msg_ok "Started Service"
 | 
			
		||||
 | 
			
		||||
    msg_info "Cleaning up"
 | 
			
		||||
    rm -rf /opt/listmonk-backup/
 | 
			
		||||
 
 | 
			
		||||
@@ -11,7 +11,7 @@ var_cpu="${var_cpu:-1}"
 | 
			
		||||
var_ram="${var_ram:-512}"
 | 
			
		||||
var_disk="${var_disk:-4}"
 | 
			
		||||
var_os="${var_os:-debian}"
 | 
			
		||||
var_version="${var_version:-12}"
 | 
			
		||||
var_version="${var_version:-13}"
 | 
			
		||||
var_unprivileged="${var_unprivileged:-1}"
 | 
			
		||||
 | 
			
		||||
header_info "$APP"
 | 
			
		||||
 
 | 
			
		||||
@@ -11,7 +11,7 @@ var_cpu="${var_cpu:-1}"
 | 
			
		||||
var_ram="${var_ram:-512}"
 | 
			
		||||
var_disk="${var_disk:-2}"
 | 
			
		||||
var_os="${var_os:-debian}"
 | 
			
		||||
var_version="${var_version:-12}"
 | 
			
		||||
var_version="${var_version:-13}"
 | 
			
		||||
var_unprivileged="${var_unprivileged:-1}"
 | 
			
		||||
 | 
			
		||||
header_info "$APP"
 | 
			
		||||
 
 | 
			
		||||
@@ -12,7 +12,7 @@ var_cpu="${var_cpu:-1}"
 | 
			
		||||
var_ram="${var_ram:-1024}"
 | 
			
		||||
var_disk="${var_disk:-3}"
 | 
			
		||||
var_os="${var_os:-debian}"
 | 
			
		||||
var_version="${var_version:-12}"
 | 
			
		||||
var_version="${var_version:-13}"
 | 
			
		||||
var_unprivileged="${var_unprivileged:-1}"
 | 
			
		||||
 | 
			
		||||
header_info "$APP"
 | 
			
		||||
@@ -43,8 +43,9 @@ function update_script() {
 | 
			
		||||
 | 
			
		||||
    msg_info "Cleaning up"
 | 
			
		||||
    $STD rm -f "$DEB_FILE"
 | 
			
		||||
    $STD apt-get -y autoremove
 | 
			
		||||
    $STD apt-get -y autoclean
 | 
			
		||||
    $STD apt -y autoremove
 | 
			
		||||
    $STD apt -y autoclean
 | 
			
		||||
    $STD apt -y clean
 | 
			
		||||
    msg_ok "Cleaned"
 | 
			
		||||
  else
 | 
			
		||||
    msg_ok "$APP is already up to date (${RELEASE})"
 | 
			
		||||
 
 | 
			
		||||
@@ -11,7 +11,7 @@ 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_version="${var_version:-13}"
 | 
			
		||||
var_unprivileged="${var_unprivileged:-1}"
 | 
			
		||||
 | 
			
		||||
header_info "$APP"
 | 
			
		||||
 
 | 
			
		||||
@@ -11,7 +11,7 @@ var_cpu="${var_cpu:-1}"
 | 
			
		||||
var_ram="${var_ram:-512}"
 | 
			
		||||
var_disk="${var_disk:-3}"
 | 
			
		||||
var_os="${var_os:-debian}"
 | 
			
		||||
var_version="${var_version:-12}"
 | 
			
		||||
var_version="${var_version:-13}"
 | 
			
		||||
var_unprivileged="${var_unprivileged:-1}"
 | 
			
		||||
 | 
			
		||||
header_info "$APP"
 | 
			
		||||
 
 | 
			
		||||
@@ -11,7 +11,7 @@ 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_version="${var_version:-13}"
 | 
			
		||||
var_unprivileged="${var_unprivileged:-1}"
 | 
			
		||||
 | 
			
		||||
header_info "$APP"
 | 
			
		||||
 
 | 
			
		||||
@@ -11,7 +11,7 @@ var_cpu="${var_cpu:-1}"
 | 
			
		||||
var_ram="${var_ram:-1024}"
 | 
			
		||||
var_disk="${var_disk:-4}"
 | 
			
		||||
var_os="${var_os:-debian}"
 | 
			
		||||
var_version="${var_version:-12}"
 | 
			
		||||
var_version="${var_version:-13}"
 | 
			
		||||
var_unprivileged="${var_unprivileged:-1}"
 | 
			
		||||
 | 
			
		||||
header_info "$APP"
 | 
			
		||||
@@ -28,8 +28,8 @@ function update_script() {
 | 
			
		||||
        exit
 | 
			
		||||
    fi
 | 
			
		||||
    msg_info "Updating ${APP} LXC"
 | 
			
		||||
    $STD apt-get update
 | 
			
		||||
    $STD apt-get -y upgrade
 | 
			
		||||
    $STD apt update
 | 
			
		||||
    $STD apt -y upgrade
 | 
			
		||||
    msg_ok "Updated Successfully"
 | 
			
		||||
    exit
 | 
			
		||||
}
 | 
			
		||||
 
 | 
			
		||||
@@ -11,7 +11,7 @@ var_cpu="${var_cpu:-1}"
 | 
			
		||||
var_ram="${var_ram:-1024}"
 | 
			
		||||
var_disk="${var_disk:-4}"
 | 
			
		||||
var_os="${var_os:-debian}"
 | 
			
		||||
var_version="${var_version:-12}"
 | 
			
		||||
var_version="${var_version:-13}"
 | 
			
		||||
var_unprivileged="${var_unprivileged:-1}"
 | 
			
		||||
 | 
			
		||||
header_info "$APP"
 | 
			
		||||
@@ -27,8 +27,8 @@ function update_script() {
 | 
			
		||||
    msg_error "No ${APP} Installation Found!"
 | 
			
		||||
    exit
 | 
			
		||||
  fi
 | 
			
		||||
  $STD apt-get update
 | 
			
		||||
  $STD apt-get upgrade -y
 | 
			
		||||
  $STD apt update
 | 
			
		||||
  $STD apt upgrade -y
 | 
			
		||||
  NODE_VERSION="22" NODE_MODULE="matterbridge" setup_nodejs
 | 
			
		||||
  exit
 | 
			
		||||
}
 | 
			
		||||
 
 | 
			
		||||
@@ -28,8 +28,8 @@ function update_script() {
 | 
			
		||||
        exit
 | 
			
		||||
    fi
 | 
			
		||||
    msg_info "Updating ${APP} LXC"
 | 
			
		||||
    $STD apt-get update
 | 
			
		||||
    $STD apt-get -y upgrade
 | 
			
		||||
    $STD apt update
 | 
			
		||||
    $STD apt -y upgrade
 | 
			
		||||
    msg_ok "Updated Successfully"
 | 
			
		||||
    exit
 | 
			
		||||
}
 | 
			
		||||
 
 | 
			
		||||
Some files were not shown because too many files have changed in this diff Show More
		Reference in New Issue
	
	Block a user