mirror of
				https://github.com/community-scripts/ProxmoxVE.git
				synced 2025-11-04 10:22:50 +00:00 
			
		
		
		
	Compare commits
	
		
			300 Commits
		
	
	
		
			2025-01-22
			...
			2025-02-05
		
	
	| Author | SHA1 | Date | |
|---|---|---|---|
| 
						 | 
					d941af4cf2 | ||
| 
						 | 
					cb79d7baab | ||
| 
						 | 
					fbe2fb10af | ||
| 
						 | 
					1a00ba109b | ||
| 
						 | 
					88ee57cf15 | ||
| 
						 | 
					857964653c | ||
| 
						 | 
					682674727c | ||
| 
						 | 
					5451e61484 | ||
| 
						 | 
					778b6be4e0 | ||
| 
						 | 
					c52c6ec3a3 | ||
| 
						 | 
					34837c7777 | ||
| 
						 | 
					f98124a57f | ||
| 
						 | 
					7838dd6277 | ||
| 
						 | 
					a6f656eacf | ||
| 
						 | 
					43646a8e19 | ||
| 
						 | 
					8b52639d23 | ||
| 
						 | 
					8afb439ed7 | ||
| 
						 | 
					42b175144a | ||
| 
						 | 
					cb6e2c4455 | ||
| 
						 | 
					8662be2e4e | ||
| 
						 | 
					f66f43d91a | ||
| 
						 | 
					c112edd8ac | ||
| 
						 | 
					398bae1f64 | ||
| 
						 | 
					7c2a6822b5 | ||
| 
						 | 
					3a33e006d4 | ||
| 
						 | 
					3aedafbfc6 | ||
| 
						 | 
					4587352377 | ||
| 
						 | 
					62dac32400 | ||
| 
						 | 
					401a9e1a45 | ||
| 
						 | 
					569d0ac374 | ||
| 
						 | 
					e75312007d | ||
| 
						 | 
					103a5371e6 | ||
| 
						 | 
					abfe17ce74 | ||
| 
						 | 
					86295fcf67 | ||
| 
						 | 
					c9012c54df | ||
| 
						 | 
					fd051552f3 | ||
| 
						 | 
					169076e68e | ||
| 
						 | 
					971aa5ba16 | ||
| 
						 | 
					6be54478f4 | ||
| 
						 | 
					6b225058de | ||
| 
						 | 
					78d96fdaa2 | ||
| 
						 | 
					8129e3cf39 | ||
| 
						 | 
					0e5f663df5 | ||
| 
						 | 
					de45527d45 | ||
| 
						 | 
					d7b3f33030 | ||
| 
						 | 
					88daaed113 | ||
| 
						 | 
					41744c0ab6 | ||
| 
						 | 
					c3cd5314fe | ||
| 
						 | 
					6f29ab8942 | ||
| 
						 | 
					bd5db081c1 | ||
| 
						 | 
					c5a69d6e8b | ||
| 
						 | 
					a75c0e1562 | ||
| 
						 | 
					a97d76f428 | ||
| 
						 | 
					0e0539af3f | ||
| 
						 | 
					8d46f7266e | ||
| 
						 | 
					7f5ee39b25 | ||
| 
						 | 
					85333212b0 | ||
| 
						 | 
					577a415f10 | ||
| 
						 | 
					db24bf4d02 | ||
| 
						 | 
					21e0e0df98 | ||
| 
						 | 
					83015c8cff | ||
| 
						 | 
					7ca1ed019c | ||
| 
						 | 
					fb8f911c49 | ||
| 
						 | 
					b4a0b74bfd | ||
| 
						 | 
					99556bdbd2 | ||
| 
						 | 
					ec3b70e8fd | ||
| 
						 | 
					50ffcd4734 | ||
| 
						 | 
					55c1f2f3dc | ||
| 
						 | 
					99e04e1ded | ||
| 
						 | 
					884428e113 | ||
| 
						 | 
					00f58d71d6 | ||
| 
						 | 
					fa4ab5c8a3 | ||
| 
						 | 
					1528c46f0b | ||
| 
						 | 
					c5b9e4db64 | ||
| 
						 | 
					36f2fb3e52 | ||
| 
						 | 
					e379db8baf | ||
| 
						 | 
					91ba5cd412 | ||
| 
						 | 
					745d1f9444 | ||
| 
						 | 
					76f12fc596 | ||
| 
						 | 
					995906f299 | ||
| 
						 | 
					05ec444e2d | ||
| 
						 | 
					19911f5b81 | ||
| 
						 | 
					57b37b1e16 | ||
| 
						 | 
					91a3fd10e0 | ||
| 
						 | 
					6f0ebac209 | ||
| 
						 | 
					f40e6e5453 | ||
| 
						 | 
					8a07124457 | ||
| 
						 | 
					41c32af0d6 | ||
| 
						 | 
					3cb4196fee | ||
| 
						 | 
					a33108cd4f | ||
| 
						 | 
					a0d7c5db0e | ||
| 
						 | 
					baef2a0cb9 | ||
| 
						 | 
					f9b84bf5ee | ||
| 
						 | 
					ccab9d1be5 | ||
| 
						 | 
					58a2ece7b7 | ||
| 
						 | 
					aa16f936c8 | ||
| 
						 | 
					c8829beddd | ||
| 
						 | 
					3adc22d837 | ||
| 
						 | 
					71b1288220 | ||
| 
						 | 
					3c58303a9f | ||
| 
						 | 
					b8edf0dd68 | ||
| 
						 | 
					2fa3116c9c | ||
| 
						 | 
					d416ff9cfa | ||
| 
						 | 
					2e2db6603e | ||
| 
						 | 
					72335f2c4e | ||
| 
						 | 
					a359ffc211 | ||
| 
						 | 
					cd4bcefa58 | ||
| 
						 | 
					a0eb173824 | ||
| 
						 | 
					3d42ecb152 | ||
| 
						 | 
					0642c7e2c8 | ||
| 
						 | 
					af04e933e3 | ||
| 
						 | 
					0dfc513a27 | ||
| 
						 | 
					26433efcd8 | ||
| 
						 | 
					343de50ef8 | ||
| 
						 | 
					a38e9070ef | ||
| 
						 | 
					e2b548a7c3 | ||
| 
						 | 
					737b18dea5 | ||
| 
						 | 
					6b777a03c0 | ||
| 
						 | 
					d9b4778360 | ||
| 
						 | 
					7299b77359 | ||
| 
						 | 
					d3882b6818 | ||
| 
						 | 
					2ef0cd0f89 | ||
| 
						 | 
					f2eb24d527 | ||
| 
						 | 
					f520607d85 | ||
| 
						 | 
					1270d87bf8 | ||
| 
						 | 
					7f2481ea12 | ||
| 
						 | 
					05f114ed64 | ||
| 
						 | 
					6924a6fea4 | ||
| 
						 | 
					bb553ae48c | ||
| 
						 | 
					cbb18668dd | ||
| 
						 | 
					c7418171b4 | ||
| 
						 | 
					ed2ead9ef2 | ||
| 
						 | 
					e51c121af2 | ||
| 
						 | 
					8c4e97d6cb | ||
| 
						 | 
					1093fef23c | ||
| 
						 | 
					6fa540f0da | ||
| 
						 | 
					ca7fb9b929 | ||
| 
						 | 
					139f84a934 | ||
| 
						 | 
					8bc50f4d71 | ||
| 
						 | 
					3fa4cf6e07 | ||
| 
						 | 
					63e3619b68 | ||
| 
						 | 
					054b569e33 | ||
| 
						 | 
					cd740e52f4 | ||
| 
						 | 
					37c7205978 | ||
| 
						 | 
					eb9633215c | ||
| 
						 | 
					85a6819760 | ||
| 
						 | 
					20d6162ac1 | ||
| 
						 | 
					0dff2b3363 | ||
| 
						 | 
					c799e67ea5 | ||
| 
						 | 
					645972077e | ||
| 
						 | 
					24dfa9590e | ||
| 
						 | 
					cecf179b34 | ||
| 
						 | 
					1f39208c1c | ||
| 
						 | 
					63061942b9 | ||
| 
						 | 
					87a987ba35 | ||
| 
						 | 
					0680fbfac7 | ||
| 
						 | 
					41a836f990 | ||
| 
						 | 
					ad14b1b1d6 | ||
| 
						 | 
					94d60a79d6 | ||
| 
						 | 
					f10e625e41 | ||
| 
						 | 
					dae705056c | ||
| 
						 | 
					b973ca9d8d | ||
| 
						 | 
					1cf8f80c71 | ||
| 
						 | 
					97002e7047 | ||
| 
						 | 
					d366d24dea | ||
| 
						 | 
					05e46a07cd | ||
| 
						 | 
					af166e3346 | ||
| 
						 | 
					8221614cab | ||
| 
						 | 
					b70cd00764 | ||
| 
						 | 
					31473b2170 | ||
| 
						 | 
					690d6d42d4 | ||
| 
						 | 
					3be6824844 | ||
| 
						 | 
					f903cfd97a | ||
| 
						 | 
					901db73d78 | ||
| 
						 | 
					67b80306a1 | ||
| 
						 | 
					7dc446c8ac | ||
| 
						 | 
					9435b9d046 | ||
| 
						 | 
					2b1b517f20 | ||
| 
						 | 
					7c297d3dac | ||
| 
						 | 
					dbb9b66355 | ||
| 
						 | 
					ff06d417b5 | ||
| 
						 | 
					84b982ffa8 | ||
| 
						 | 
					53c7ab19f8 | ||
| 
						 | 
					d13c1e5722 | ||
| 
						 | 
					be92f947cd | ||
| 
						 | 
					452012529c | ||
| 
						 | 
					661654987d | ||
| 
						 | 
					c3a21069d2 | ||
| 
						 | 
					4de8c1c358 | ||
| 
						 | 
					cd86921467 | ||
| 
						 | 
					38a540b87a | ||
| 
						 | 
					8cd3669edb | ||
| 
						 | 
					adfbff63bc | ||
| 
						 | 
					47bf8e6f86 | ||
| 
						 | 
					43f05b3aba | ||
| 
						 | 
					b17befec88 | ||
| 
						 | 
					719da560d1 | ||
| 
						 | 
					ac25b5a702 | ||
| 
						 | 
					ce1a38eb50 | ||
| 
						 | 
					030174f508 | ||
| 
						 | 
					7e1fb858d7 | ||
| 
						 | 
					5dc1a7d219 | ||
| 
						 | 
					14247ac5a9 | ||
| 
						 | 
					4911a7918a | ||
| 
						 | 
					b06ad8bde8 | ||
| 
						 | 
					8a6364902e | ||
| 
						 | 
					dfd56aebf2 | ||
| 
						 | 
					78e6e12c8a | ||
| 
						 | 
					88c3f56157 | ||
| 
						 | 
					92057c4ea7 | ||
| 
						 | 
					0af7a5adbf | ||
| 
						 | 
					ba6edcdcaf | ||
| 
						 | 
					de80e95d69 | ||
| 
						 | 
					796275d175 | ||
| 
						 | 
					9ff56caafd | ||
| 
						 | 
					d596f4a3e0 | ||
| 
						 | 
					b9cdfc26d0 | ||
| 
						 | 
					ae726129b1 | ||
| 
						 | 
					bd3f823b86 | ||
| 
						 | 
					eddacd786d | ||
| 
						 | 
					c2e0a1a180 | ||
| 
						 | 
					b01331480c | ||
| 
						 | 
					198c5caeaa | ||
| 
						 | 
					b4f2594cef | ||
| 
						 | 
					2db7cb1fdb | ||
| 
						 | 
					7ff44c562b | ||
| 
						 | 
					7723269bbc | ||
| 
						 | 
					7c3ad9cfcf | ||
| 
						 | 
					dbb138317d | ||
| 
						 | 
					75f90409eb | ||
| 
						 | 
					17745c344b | ||
| 
						 | 
					4e8317d30c | ||
| 
						 | 
					0313de615a | ||
| 
						 | 
					5415bfd21a | ||
| 
						 | 
					3d99b49a99 | ||
| 
						 | 
					d852e7b098 | ||
| 
						 | 
					f23da27ba2 | ||
| 
						 | 
					1c008a1742 | ||
| 
						 | 
					3cea72cf51 | ||
| 
						 | 
					1c90c131b7 | ||
| 
						 | 
					8c6af4db1f | ||
| 
						 | 
					f29cbe5b46 | ||
| 
						 | 
					a7ee0705e2 | ||
| 
						 | 
					bf618f04e4 | ||
| 
						 | 
					8241fa1dd4 | ||
| 
						 | 
					ab6244c1fe | ||
| 
						 | 
					e6d032eac3 | ||
| 
						 | 
					b402026b84 | ||
| 
						 | 
					ebb7f73e8f | ||
| 
						 | 
					39ff3486e9 | ||
| 
						 | 
					f1109388f4 | ||
| 
						 | 
					c4532f538b | ||
| 
						 | 
					63061ea06f | ||
| 
						 | 
					f78cb0319e | ||
| 
						 | 
					607318b197 | ||
| 
						 | 
					928eabc202 | ||
| 
						 | 
					38b692aaa3 | ||
| 
						 | 
					dc03df6f8a | ||
| 
						 | 
					81be2a49c0 | ||
| 
						 | 
					d4aedc6702 | ||
| 
						 | 
					16be69e3a3 | ||
| 
						 | 
					0e12ea3fd0 | ||
| 
						 | 
					8f87ec37d2 | ||
| 
						 | 
					90d769bbbb | ||
| 
						 | 
					93289d6ff7 | ||
| 
						 | 
					489a1fb560 | ||
| 
						 | 
					3ee076e7ab | ||
| 
						 | 
					51005a6b52 | ||
| 
						 | 
					5e1ad69e08 | ||
| 
						 | 
					1b5b3e11d0 | ||
| 
						 | 
					45f9d7460c | ||
| 
						 | 
					ac49e1eca2 | ||
| 
						 | 
					37d16e43e7 | ||
| 
						 | 
					818dbed71d | ||
| 
						 | 
					8dc2e416a4 | ||
| 
						 | 
					250e77cff7 | ||
| 
						 | 
					69d9b4f439 | ||
| 
						 | 
					08ab210f12 | ||
| 
						 | 
					a3979001fe | ||
| 
						 | 
					9f3a1c8531 | ||
| 
						 | 
					a025fd948e | ||
| 
						 | 
					86ac765d80 | ||
| 
						 | 
					c54180e8fb | ||
| 
						 | 
					6d88f1a796 | ||
| 
						 | 
					9b9b02d9a7 | ||
| 
						 | 
					078fc0e138 | ||
| 
						 | 
					ef60152ae0 | ||
| 
						 | 
					9d46bd8f78 | ||
| 
						 | 
					3993f8d21f | ||
| 
						 | 
					ad2ea710a4 | ||
| 
						 | 
					7fb7ac3bfb | ||
| 
						 | 
					ae791bcb16 | ||
| 
						 | 
					891e97a93c | ||
| 
						 | 
					4e6471e6a6 | ||
| 
						 | 
					a59f1cce8f | ||
| 
						 | 
					405b844c37 | ||
| 
						 | 
					c7a0009d9a | ||
| 
						 | 
					9f29a66bb7 | ||
| 
						 | 
					70ef075ccd | ||
| 
						 | 
					f1f1a7fa68 | 
							
								
								
									
										2
									
								
								.github/CONTRIBUTING.md
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										2
									
								
								.github/CONTRIBUTING.md
									
									
									
									
										vendored
									
									
								
							@@ -80,7 +80,7 @@ git switch -c your-feature-branch
 | 
				
			|||||||
```
 | 
					```
 | 
				
			||||||
 | 
					
 | 
				
			||||||
### 4. Change paths in build.func install.func and AppName.sh
 | 
					### 4. Change paths in build.func install.func and AppName.sh
 | 
				
			||||||
To be able to develop from your own branch you need to change `https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main` to `https://raw.githubusercontent.com/[USER]/[REPOSITORY]/refs/head/[BRANCH]`. You need to make this change atleast in misc/build.func misc/install.func and in your ct/AppName.sh. This change is only for testing. Before opening a Pull Request you should change this line change all this back to point to `https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main`.
 | 
					To be able to develop from your own branch you need to change `https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main` to `https://raw.githubusercontent.com/[USER]/[REPOSITORY]/refs/heads/[BRANCH]`. You need to make this change atleast in misc/build.func misc/install.func and in your ct/AppName.sh. This change is only for testing. Before opening a Pull Request you should change this line change all this back to point to `https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main`.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
### 4. Commit changes (without build.func and install.func!)
 | 
					### 4. Commit changes (without build.func and install.func!)
 | 
				
			||||||
```bash
 | 
					```bash
 | 
				
			||||||
 
 | 
				
			|||||||
							
								
								
									
										7
									
								
								.github/CONTRIBUTOR_GUIDE/ct/AppName.md
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										7
									
								
								.github/CONTRIBUTOR_GUIDE/ct/AppName.md
									
									
									
									
										vendored
									
									
								
							@@ -40,8 +40,8 @@
 | 
				
			|||||||
- Import the build.func file.
 | 
					- Import the build.func file.
 | 
				
			||||||
- When developing your own script, change the URL to your own repository.
 | 
					- When developing your own script, change the URL to your own repository.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
> [!CAUTION]
 | 
					> [!IMPORTANT] 
 | 
				
			||||||
> Before opening a Pull Request, change the URL to point to the community-scripts repo.
 | 
					> You also need to change all apperances of this URL in `misc/build.func` and `misc/install.func`
 | 
				
			||||||
 | 
					
 | 
				
			||||||
Example for development:
 | 
					Example for development:
 | 
				
			||||||
 | 
					
 | 
				
			||||||
@@ -55,6 +55,9 @@ Final script:
 | 
				
			|||||||
source <(curl -s https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/misc/build.func)
 | 
					source <(curl -s https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/misc/build.func)
 | 
				
			||||||
```
 | 
					```
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					> [!CAUTION]
 | 
				
			||||||
 | 
					> Before opening a Pull Request, change the URLs to point to the community-scripts repo.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
### 1.3 **Metadata**
 | 
					### 1.3 **Metadata**
 | 
				
			||||||
 | 
					
 | 
				
			||||||
- Add clear comments for script metadata, including author, copyright, and license information.
 | 
					- Add clear comments for script metadata, including author, copyright, and license information.
 | 
				
			||||||
 
 | 
				
			|||||||
							
								
								
									
										3
									
								
								.github/CONTRIBUTOR_GUIDE/ct/AppName.sh
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										3
									
								
								.github/CONTRIBUTOR_GUIDE/ct/AppName.sh
									
									
									
									
										vendored
									
									
								
							@@ -1,6 +1,6 @@
 | 
				
			|||||||
#!/usr/bin/env bash
 | 
					#!/usr/bin/env bash
 | 
				
			||||||
source <(curl -s https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/misc/build.func)
 | 
					source <(curl -s https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/misc/build.func)
 | 
				
			||||||
# Copyright (c) 2021-2024 community-scripts ORG
 | 
					# Copyright (c) 2021-2025 community-scripts ORG
 | 
				
			||||||
# Author: [YourUserName]
 | 
					# Author: [YourUserName]
 | 
				
			||||||
# License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE
 | 
					# License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE
 | 
				
			||||||
# Source: [SOURCE_URL]
 | 
					# Source: [SOURCE_URL]
 | 
				
			||||||
@@ -66,7 +66,6 @@ function update_script() {
 | 
				
			|||||||
        # Starting Services
 | 
					        # Starting Services
 | 
				
			||||||
        msg_info "Starting $APP"
 | 
					        msg_info "Starting $APP"
 | 
				
			||||||
        systemctl start [SERVICE_NAME]
 | 
					        systemctl start [SERVICE_NAME]
 | 
				
			||||||
        sleep 2
 | 
					 | 
				
			||||||
        msg_ok "Started $APP"
 | 
					        msg_ok "Started $APP"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
        # Cleaning up
 | 
					        # Cleaning up
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -1,8 +1,8 @@
 | 
				
			|||||||
#!/usr/bin/env bash
 | 
					#!/usr/bin/env bash
 | 
				
			||||||
 | 
					
 | 
				
			||||||
# Copyright (c) 2021-2024 community-scripts ORG
 | 
					# Copyright (c) 2021-2025 community-scripts ORG
 | 
				
			||||||
# Author: [YourUserName]
 | 
					# Author: [YourUserName]
 | 
				
			||||||
# License: MIT
 | 
					# License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE
 | 
				
			||||||
# Source: [SOURCE_URL]
 | 
					# Source: [SOURCE_URL]
 | 
				
			||||||
 | 
					
 | 
				
			||||||
# Import Functions und Setup
 | 
					# Import Functions und Setup
 | 
				
			||||||
 
 | 
				
			|||||||
							
								
								
									
										1
									
								
								.github/FUNDING.yml
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										1
									
								
								.github/FUNDING.yml
									
									
									
									
										vendored
									
									
								
							@@ -1 +1,2 @@
 | 
				
			|||||||
ko_fi: community_scripts
 | 
					ko_fi: community_scripts
 | 
				
			||||||
 | 
					github: community_scripts
 | 
				
			||||||
 
 | 
				
			|||||||
							
								
								
									
										81
									
								
								.github/workflows/auto-update-app-headers.yml
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										81
									
								
								.github/workflows/auto-update-app-headers.yml
									
									
									
									
										vendored
									
									
								
							@@ -1,4 +1,4 @@
 | 
				
			|||||||
name: Auto Update .app-headers
 | 
					name: Auto Update .app-files
 | 
				
			||||||
 | 
					
 | 
				
			||||||
on:
 | 
					on:
 | 
				
			||||||
  push:
 | 
					  push:
 | 
				
			||||||
@@ -6,10 +6,10 @@ on:
 | 
				
			|||||||
      - main
 | 
					      - main
 | 
				
			||||||
    paths:
 | 
					    paths:
 | 
				
			||||||
      - 'ct/**.sh'
 | 
					      - 'ct/**.sh'
 | 
				
			||||||
  workflow_dispatch:  # Ermöglicht das manuelle Ausführen der Action
 | 
					  workflow_dispatch: 
 | 
				
			||||||
 | 
					
 | 
				
			||||||
jobs:
 | 
					jobs:
 | 
				
			||||||
  update-app-headers:
 | 
					  update-app-files:
 | 
				
			||||||
    runs-on: ubuntu-latest
 | 
					    runs-on: ubuntu-latest
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    permissions:
 | 
					    permissions:
 | 
				
			||||||
@@ -21,62 +21,79 @@ jobs:
 | 
				
			|||||||
      - name: Checkout repository
 | 
					      - name: Checkout repository
 | 
				
			||||||
        uses: actions/checkout@v2
 | 
					        uses: actions/checkout@v2
 | 
				
			||||||
 | 
					
 | 
				
			||||||
      # Step 2: Set up Git user for committing changes
 | 
					      # Step 2: Disable file mode changes detection
 | 
				
			||||||
 | 
					      - name: Disable file mode changes
 | 
				
			||||||
 | 
					        run: git config core.fileMode false
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					      # Step 3: Set up Git user for committing changes
 | 
				
			||||||
      - name: Set up Git
 | 
					      - name: Set up Git
 | 
				
			||||||
        run: |
 | 
					        run: |
 | 
				
			||||||
          git config --global user.name "GitHub Actions"
 | 
					          git config --global user.name "GitHub Actions"
 | 
				
			||||||
          git config --global user.email "actions@github.com"
 | 
					          git config --global user.email "github-actions[bot]@users.noreply.github.com"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
      # Step 3: Install figlet
 | 
					      # Step 4: Install figlet
 | 
				
			||||||
      - name: Install figlet
 | 
					      - name: Install figlet
 | 
				
			||||||
        run: sudo apt-get install -y figlet
 | 
					        run: sudo apt-get install -y figlet
 | 
				
			||||||
 | 
					
 | 
				
			||||||
      # Step 4: Run the generate-app-headers.sh script to update .app-headers
 | 
					      # Step 5: Run the updated generate-app-files.sh script
 | 
				
			||||||
      - name: Run generate-app-headers.sh to update .app-headers
 | 
					      - name: Run generate-app-files.sh
 | 
				
			||||||
        run: |
 | 
					        run: |
 | 
				
			||||||
          chmod +x .github/workflows/scripts/generate-app-headers.sh
 | 
					          chmod +x .github/workflows/scripts/generate-app-headers.sh
 | 
				
			||||||
          .github/workflows/scripts/generate-app-headers.sh
 | 
					          .github/workflows/scripts/generate-app-headers.sh
 | 
				
			||||||
        env:
 | 
					        env:
 | 
				
			||||||
          GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
 | 
					          GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
      # Step 5: Check if there are any changes
 | 
					      # Step 6: Check if there are any changes
 | 
				
			||||||
      - name: Check if there are any changes
 | 
					      - name: Check if there are any changes
 | 
				
			||||||
        id: verify-diff
 | 
					 | 
				
			||||||
        run: |
 | 
					        run: |
 | 
				
			||||||
          git diff --quiet . || echo "changed=true" >> $GITHUB_OUTPUT
 | 
					          echo "Checking for changes..."
 | 
				
			||||||
 | 
					          git add -A  # Untracked Dateien aufnehmen
 | 
				
			||||||
 | 
					          git status
 | 
				
			||||||
 | 
					          if git diff --cached --quiet; then
 | 
				
			||||||
 | 
					            echo "No changes detected."
 | 
				
			||||||
 | 
					            echo "changed=false" >> "$GITHUB_ENV"
 | 
				
			||||||
 | 
					          else
 | 
				
			||||||
 | 
					            echo "Changes detected:"
 | 
				
			||||||
 | 
					            git diff --stat --cached
 | 
				
			||||||
 | 
					            echo "changed=true" >> "$GITHUB_ENV"
 | 
				
			||||||
 | 
					          fi
 | 
				
			||||||
 | 
					
 | 
				
			||||||
      # Step 6: Commit changes (if any) and create a PR
 | 
					      # Step 7: Commit and create PR if changes exist
 | 
				
			||||||
      - name: Commit and create PR if changes exist
 | 
					      - name: Commit and create PR if changes exist
 | 
				
			||||||
        if: steps.verify-diff.outputs.changed == 'true'
 | 
					        if: env.changed == 'true'
 | 
				
			||||||
        run: |
 | 
					        run: |
 | 
				
			||||||
          git config --global user.name "github-actions[bot]"
 | 
					          git commit -m "Update .app files"
 | 
				
			||||||
          git config --global user.email "github-actions[bot]@users.noreply.github.com"
 | 
					          git checkout -b pr-update-app-files
 | 
				
			||||||
          git add ./misc/.app-headers
 | 
					          git push origin pr-update-app-files --force
 | 
				
			||||||
          git commit -m "Update .app-headers file"
 | 
					          gh pr create --title "[core] update .app files" \
 | 
				
			||||||
          # Create a temporary branch for the PR
 | 
					                       --body "This PR is auto-generated by a GitHub Action to update the .app files." \
 | 
				
			||||||
          git checkout -b pr-update-app-headers
 | 
					                       --head pr-update-app-files \
 | 
				
			||||||
          git push origin pr-update-app-headers --force
 | 
					 | 
				
			||||||
          
 | 
					 | 
				
			||||||
          # Create PR against main
 | 
					 | 
				
			||||||
          gh pr create --title "[core] update .app-headers file" \
 | 
					 | 
				
			||||||
                       --body "This PR is auto-generated by a Github Action to update the .app-headers file." \
 | 
					 | 
				
			||||||
                       --head pr-update-app-headers \
 | 
					 | 
				
			||||||
                       --base main \
 | 
					                       --base main \
 | 
				
			||||||
                       --label "automated pr"
 | 
					                       --label "automated pr"
 | 
				
			||||||
        env:
 | 
					        env:
 | 
				
			||||||
          GH_TOKEN: ${{ secrets.GITHUB_TOKEN }}
 | 
					          GH_TOKEN: ${{ secrets.GITHUB_TOKEN }}
 | 
				
			||||||
      
 | 
					      
 | 
				
			||||||
 | 
					      - name: Approve pull request
 | 
				
			||||||
 | 
					        if: steps.verify-diff.outputs.changed == 'true'
 | 
				
			||||||
 | 
					        env:
 | 
				
			||||||
 | 
					          GH_TOKEN: ${{ secrets.GITHUB_TOKEN }}
 | 
				
			||||||
 | 
					        run: |
 | 
				
			||||||
 | 
					          PR_NUMBER=$(gh pr list --head "pr-update-app-files" --json number --jq '.[].number')
 | 
				
			||||||
 | 
					          if [ -n "$PR_NUMBER" ]; then
 | 
				
			||||||
 | 
					            gh pr review $PR_NUMBER --approve
 | 
				
			||||||
 | 
					          fi
 | 
				
			||||||
 | 
					          
 | 
				
			||||||
      - name: Re-approve pull request after update
 | 
					      - name: Re-approve pull request after update
 | 
				
			||||||
        if: steps.verify-diff.outputs.changed == 'true'
 | 
					        if: steps.verify-diff.outputs.changed == 'true'
 | 
				
			||||||
        env:
 | 
					        env:
 | 
				
			||||||
          GH_TOKEN: ${{ secrets.GITHUB_TOKEN }}
 | 
					          GH_TOKEN: ${{ secrets.GITHUB_TOKEN }}
 | 
				
			||||||
        run: |
 | 
					        run: |
 | 
				
			||||||
          PR_NUMBER=$(gh pr list --head "pr-update-app-headers" --json number --jq '.[].number')
 | 
					          PR_NUMBER=$(gh pr list --head "pr-update-app-files" --json number --jq '.[].number')
 | 
				
			||||||
          # Check if the PR was created by the bot (skip review if so)
 | 
					          if [ -n "$PR_NUMBER" ]; then
 | 
				
			||||||
          PR_AUTHOR=$(gh pr view "$PR_NUMBER" --json author --jq '.author.login')
 | 
					            gh pr review $PR_NUMBER --approve
 | 
				
			||||||
          if [ "$PR_AUTHOR" != "github-actions[bot]" ]; then
 | 
					 | 
				
			||||||
            gh pr review "$PR_NUMBER" --approve
 | 
					 | 
				
			||||||
          else
 | 
					 | 
				
			||||||
            echo "PR was created by the bot, skipping review."
 | 
					 | 
				
			||||||
          fi
 | 
					          fi
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					      # Step 8: Output success message when no changes
 | 
				
			||||||
 | 
					      - name: No changes detected
 | 
				
			||||||
 | 
					        if: env.changed == 'false'
 | 
				
			||||||
 | 
					        run: echo "No changes to commit. Workflow completed successfully."
 | 
				
			||||||
 
 | 
				
			|||||||
							
								
								
									
										37
									
								
								.github/workflows/scripts/generate-app-headers.sh
									
									
									
									
										vendored
									
									
										
										
										Normal file → Executable file
									
								
							
							
						
						
									
										37
									
								
								.github/workflows/scripts/generate-app-headers.sh
									
									
									
									
										vendored
									
									
										
										
										Normal file → Executable file
									
								
							@@ -1,33 +1,34 @@
 | 
				
			|||||||
#!/usr/bin/env bash
 | 
					#!/usr/bin/env bash
 | 
				
			||||||
 | 
					
 | 
				
			||||||
output_file="./misc/.app-headers"
 | 
					# Base directory for headers
 | 
				
			||||||
> "$output_file"  # Clear or create the file
 | 
					headers_dir="./ct/headers"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
current_date=$(date +"%m-%d-%Y")
 | 
					# Ensure the headers directory exists and clear it
 | 
				
			||||||
# Header with date
 | 
					mkdir -p "$headers_dir"
 | 
				
			||||||
{
 | 
					rm -f "$headers_dir"/*
 | 
				
			||||||
  echo "### Generated on $current_date"
 | 
					 | 
				
			||||||
  echo "##################################################"
 | 
					 | 
				
			||||||
  echo
 | 
					 | 
				
			||||||
} >> "$output_file"  
 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
# Find only regular .sh files in ./ct, sort them alphabetically
 | 
					# Find all .sh files in ./ct directory, sorted alphabetically
 | 
				
			||||||
find ./ct -type f -name "*.sh" | sort | while read -r script; do
 | 
					find ./ct -type f -name "*.sh" | sort | while read -r script; do
 | 
				
			||||||
  # Extract the APP name from the APP line
 | 
					  # Extract the APP name from the APP line
 | 
				
			||||||
  app_name=$(grep -oP '^APP="\K[^"]+' "$script" 2>/dev/null)
 | 
					  app_name=$(grep -oP '^APP="\K[^"]+' "$script" 2>/dev/null)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  if [[ -n "$app_name" ]]; then
 | 
					  if [[ -n "$app_name" ]]; then
 | 
				
			||||||
 | 
					    # Define the output file name in the headers directory
 | 
				
			||||||
 | 
					    output_file="${headers_dir}/$(basename "${script%.*}")"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    # Generate figlet output
 | 
					    # Generate figlet output
 | 
				
			||||||
    figlet_output=$(figlet -f slant "$app_name")
 | 
					    figlet_output=$(figlet -w 500 -f slant "$app_name")
 | 
				
			||||||
    {
 | 
					
 | 
				
			||||||
      echo "### $(basename "$script")"
 | 
					    # Check if figlet output is not empty
 | 
				
			||||||
      echo "APP=$app_name"
 | 
					    if [[ -n "$figlet_output" ]]; then
 | 
				
			||||||
      echo "$figlet_output"
 | 
					      echo "$figlet_output" > "$output_file"
 | 
				
			||||||
      echo
 | 
					      echo "Generated: $output_file"
 | 
				
			||||||
    } >> "$output_file"  
 | 
					    else
 | 
				
			||||||
 | 
					      echo "Figlet failed for $app_name in $script"
 | 
				
			||||||
 | 
					    fi
 | 
				
			||||||
  else
 | 
					  else
 | 
				
			||||||
    echo "No APP name found in $script, skipping."
 | 
					    echo "No APP name found in $script, skipping."
 | 
				
			||||||
  fi
 | 
					  fi
 | 
				
			||||||
done
 | 
					done
 | 
				
			||||||
 | 
					
 | 
				
			||||||
echo "Generated combined file at $output_file"
 | 
					echo "Completed processing .sh files."
 | 
				
			||||||
 
 | 
				
			|||||||
							
								
								
									
										4
									
								
								.github/workflows/validate-filenames.yml
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										4
									
								
								.github/workflows/validate-filenames.yml
									
									
									
									
										vendored
									
									
								
							@@ -50,6 +50,10 @@ jobs:
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
          NON_COMPLIANT_FILES=""
 | 
					          NON_COMPLIANT_FILES=""
 | 
				
			||||||
          for FILE in $CHANGED_FILES; do
 | 
					          for FILE in $CHANGED_FILES; do
 | 
				
			||||||
 | 
					            # Datei "ct/create_lxc.sh" explizit überspringen
 | 
				
			||||||
 | 
					            if [[ "$FILE" == "ct/create_lxc.sh" ]]; then
 | 
				
			||||||
 | 
					              continue
 | 
				
			||||||
 | 
					            fi
 | 
				
			||||||
            BASENAME=$(echo "$(basename "${FILE%.*}")")
 | 
					            BASENAME=$(echo "$(basename "${FILE%.*}")")
 | 
				
			||||||
            if [[ ! "$BASENAME" =~ ^[a-z0-9-]+$ ]]; then
 | 
					            if [[ ! "$BASENAME" =~ ^[a-z0-9-]+$ ]]; then
 | 
				
			||||||
              NON_COMPLIANT_FILES="$NON_COMPLIANT_FILES $FILE"
 | 
					              NON_COMPLIANT_FILES="$NON_COMPLIANT_FILES $FILE"
 | 
				
			||||||
 
 | 
				
			|||||||
							
								
								
									
										5
									
								
								.vscode/settings.json
									
									
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										5
									
								
								.vscode/settings.json
									
									
									
									
										vendored
									
									
										Normal file
									
								
							@@ -0,0 +1,5 @@
 | 
				
			|||||||
 | 
					{
 | 
				
			||||||
 | 
					    "files.associations": {
 | 
				
			||||||
 | 
					        "*.func": "shellscript"
 | 
				
			||||||
 | 
					    }
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
							
								
								
									
										282
									
								
								CHANGELOG.md
									
									
									
									
									
								
							
							
						
						
									
										282
									
								
								CHANGELOG.md
									
									
									
									
									
								
							@@ -17,6 +17,288 @@ All LXC instances created using this repository come pre-installed with Midnight
 | 
				
			|||||||
Do not break established syntax in this file, as it is automatically updated by a Github Workflow
 | 
					Do not break established syntax in this file, as it is automatically updated by a Github Workflow
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					## 2025-02-05
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					### Changed
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					### ✨ New Scripts
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					- New Script: Zerotier Controller [@tremor021](https://github.com/tremor021) ([#1928](https://github.com/community-scripts/ProxmoxVE/pull/1928))
 | 
				
			||||||
 | 
					- New Script: Radicale [@tremor021](https://github.com/tremor021) ([#1941](https://github.com/community-scripts/ProxmoxVE/pull/1941))
 | 
				
			||||||
 | 
					- New Script: seelf [@tremor021](https://github.com/tremor021) ([#2023](https://github.com/community-scripts/ProxmoxVE/pull/2023))
 | 
				
			||||||
 | 
					- New Script: Crafty-Controller [@CrazyWolf13](https://github.com/CrazyWolf13) ([#1926](https://github.com/community-scripts/ProxmoxVE/pull/1926))
 | 
				
			||||||
 | 
					- New script: Koillection [@bvdberg01](https://github.com/bvdberg01) ([#2031](https://github.com/community-scripts/ProxmoxVE/pull/2031))
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					### 🚀 Updated Scripts
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					- Bugfix: Jellyseerr pnpm Version [@vidonnus](https://github.com/vidonnus) ([#2033](https://github.com/community-scripts/ProxmoxVE/pull/2033))
 | 
				
			||||||
 | 
					- Radicale: Fixed missing htpasswd flag [@tremor021](https://github.com/tremor021) ([#2065](https://github.com/community-scripts/ProxmoxVE/pull/2065))
 | 
				
			||||||
 | 
					- [API] Update build.func / Improve error messages #2 [@michelroegl-brunner](https://github.com/michelroegl-brunner) ([#2050](https://github.com/community-scripts/ProxmoxVE/pull/2050))
 | 
				
			||||||
 | 
					- [API] Update create-lxc.sh / Improve error messages #1 [@michelroegl-brunner](https://github.com/michelroegl-brunner) ([#2049](https://github.com/community-scripts/ProxmoxVE/pull/2049))
 | 
				
			||||||
 | 
					- Feature: Element Synapse: add option to enter server name during LXC installation [@tremor021](https://github.com/tremor021) ([#2038](https://github.com/community-scripts/ProxmoxVE/pull/2038))
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					### 🌐 Website
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					- Paperless NGX: Mark it as updateable [@andygrunwald](https://github.com/andygrunwald) ([#2070](https://github.com/community-scripts/ProxmoxVE/pull/2070))
 | 
				
			||||||
 | 
					- Bump vitest from 2.1.6 to 2.1.9 in /frontend [@dependabot[bot]](https://github.com/dependabot[bot]) ([#2042](https://github.com/community-scripts/ProxmoxVE/pull/2042))
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					### 🧰 Maintenance
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					- [API] Add API backend code [@michelroegl-brunner](https://github.com/michelroegl-brunner) ([#2040](https://github.com/community-scripts/ProxmoxVE/pull/2040))
 | 
				
			||||||
 | 
					- Update auto-update-app-headers.yml: Enable auto approval [@michelroegl-brunner](https://github.com/michelroegl-brunner) ([#2057](https://github.com/community-scripts/ProxmoxVE/pull/2057))
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					## 2025-02-04
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					### Changed
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					### 💥 Breaking Changes
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					- Rename & Optimize: Proxmox Backup Server (Renaming & Update fix) [@thost96](https://github.com/thost96) ([#2012](https://github.com/community-scripts/ProxmoxVE/pull/2012))
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					### 🚀 Updated Scripts
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					- Fix: Authentik - Remove deprecated GO-Remove in Footer [@michelroegl-brunner](https://github.com/michelroegl-brunner) ([#2020](https://github.com/community-scripts/ProxmoxVE/pull/2020))
 | 
				
			||||||
 | 
					- Fix: Authentik Fix wrong HDD Size [@thost96](https://github.com/thost96) ([#2001](https://github.com/community-scripts/ProxmoxVE/pull/2001))
 | 
				
			||||||
 | 
					- Fix: Tandoor - node Version [@michelroegl-brunner](https://github.com/michelroegl-brunner) ([#2010](https://github.com/community-scripts/ProxmoxVE/pull/2010))
 | 
				
			||||||
 | 
					- Fix actual update - missing hidden files, downloaded release cleanup [@maciejmatczak](https://github.com/maciejmatczak) ([#2027](https://github.com/community-scripts/ProxmoxVE/pull/2027))
 | 
				
			||||||
 | 
					- Fix Script: post-pmg-install.sh [@thost96](https://github.com/thost96) ([#2022](https://github.com/community-scripts/ProxmoxVE/pull/2022))
 | 
				
			||||||
 | 
					- Fix Tianji: Add heap-space value for nodejs [@MickLesk](https://github.com/MickLesk) ([#2011](https://github.com/community-scripts/ProxmoxVE/pull/2011))
 | 
				
			||||||
 | 
					- Fix: Ghost LXC - Use Node20 [@MickLesk](https://github.com/MickLesk) ([#2006](https://github.com/community-scripts/ProxmoxVE/pull/2006))
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					### 🌐 Website
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					- [API] Massive update to api (remove many, optimize website for users) [@michelroegl-brunner](https://github.com/michelroegl-brunner) ([#1990](https://github.com/community-scripts/ProxmoxVE/pull/1990))
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					### 🧰 Maintenance
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					- Fix header comments on contributor templates [@tremor021](https://github.com/tremor021) ([#2029](https://github.com/community-scripts/ProxmoxVE/pull/2029))
 | 
				
			||||||
 | 
					- [Fix]: Headername of Proxmox-Datacenter-Manager not in CamelCase [@MickLesk](https://github.com/MickLesk) ([#2017](https://github.com/community-scripts/ProxmoxVE/pull/2017))
 | 
				
			||||||
 | 
					- [Fix] Header breaks at long title - add width for figlet github action [@MickLesk](https://github.com/MickLesk) ([#2015](https://github.com/community-scripts/ProxmoxVE/pull/2015))
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					## 2025-02-03
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					### Changed
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					### ✨ New Scripts
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					- New Script: Element Synapse [@tremor021](https://github.com/tremor021) ([#1955](https://github.com/community-scripts/ProxmoxVE/pull/1955))
 | 
				
			||||||
 | 
					- New Script: Privatebin [@opastorello](https://github.com/opastorello) ([#1925](https://github.com/community-scripts/ProxmoxVE/pull/1925))
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					### 🚀 Updated Scripts
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					- Fix: Monica Install with nodejs [@MickLesk](https://github.com/MickLesk) ([#1996](https://github.com/community-scripts/ProxmoxVE/pull/1996))
 | 
				
			||||||
 | 
					- Element Synapse sed fix [@tremor021](https://github.com/tremor021) ([#1994](https://github.com/community-scripts/ProxmoxVE/pull/1994))
 | 
				
			||||||
 | 
					- Fix Hoarder corepack install/update error [@vhsdream](https://github.com/vhsdream) ([#1957](https://github.com/community-scripts/ProxmoxVE/pull/1957))
 | 
				
			||||||
 | 
					- [Security & Maintenance] Update NodeJS Repo to 22 for new Installs [@MickLesk](https://github.com/MickLesk) ([#1984](https://github.com/community-scripts/ProxmoxVE/pull/1984))
 | 
				
			||||||
 | 
					- [Standardization]: Same Setup for GoLang on all LXC's & Clear Tarball [@MickLesk](https://github.com/MickLesk) ([#1977](https://github.com/community-scripts/ProxmoxVE/pull/1977))
 | 
				
			||||||
 | 
					- Feature: urbackupserver Include fuse&nesting features during install [@michelroegl-brunner](https://github.com/michelroegl-brunner) ([#1968](https://github.com/community-scripts/ProxmoxVE/pull/1968))
 | 
				
			||||||
 | 
					- Fix: MSSQL-Server: Better gpg handling [@MickLesk](https://github.com/MickLesk) ([#1962](https://github.com/community-scripts/ProxmoxVE/pull/1962))
 | 
				
			||||||
 | 
					- Fix: Grist ran into a heap space during the update [@MickLesk](https://github.com/MickLesk) ([#1964](https://github.com/community-scripts/ProxmoxVE/pull/1964))
 | 
				
			||||||
 | 
					- Fix: FS-Trim Cancel / Error-Button [@MickLesk](https://github.com/MickLesk) ([#1965](https://github.com/community-scripts/ProxmoxVE/pull/1965))
 | 
				
			||||||
 | 
					- Fix: Increase HDD Space for Hoarder [@MickLesk](https://github.com/MickLesk) ([#1970](https://github.com/community-scripts/ProxmoxVE/pull/1970))
 | 
				
			||||||
 | 
					- Feature: Clean Orphan LVM without CEPH [@MickLesk](https://github.com/MickLesk) ([#1974](https://github.com/community-scripts/ProxmoxVE/pull/1974))
 | 
				
			||||||
 | 
					- [Standardization] Fix Spelling for "Setup Python3"  [@MickLesk](https://github.com/MickLesk) ([#1975](https://github.com/community-scripts/ProxmoxVE/pull/1975))
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					### 🌐 Website
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					- [Website] update data/page.tsx [@michelroegl-brunner](https://github.com/michelroegl-brunner) ([#1969](https://github.com/community-scripts/ProxmoxVE/pull/1969))
 | 
				
			||||||
 | 
					- Prometheus Proxmox VE Exporter: Set correct website slug [@andygrunwald](https://github.com/andygrunwald) ([#1961](https://github.com/community-scripts/ProxmoxVE/pull/1961))
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					### 🧰 Maintenance
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					- [API] Remove Hostname, Verbose, SSH and TAGS [@michelroegl-brunner](https://github.com/michelroegl-brunner) ([#1967](https://github.com/community-scripts/ProxmoxVE/pull/1967))
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					## 2025-02-02
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					### Changed
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					### 🚀 Updated Scripts
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					- Prometheus PVE Exporter: Add `--default-timeout=300` to pip install commands [@andygrunwald](https://github.com/andygrunwald) ([#1950](https://github.com/community-scripts/ProxmoxVE/pull/1950))
 | 
				
			||||||
 | 
					- fix z2m update function to 2.1.0 [@MickLesk](https://github.com/MickLesk) ([#1938](https://github.com/community-scripts/ProxmoxVE/pull/1938))
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					### 🧰 Maintenance
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					- VSCode: Add Shellscript Syntax highlighting for *.func files [@andygrunwald](https://github.com/andygrunwald) ([#1948](https://github.com/community-scripts/ProxmoxVE/pull/1948))
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					## 2025-02-01
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					### Changed
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					### 💥 Breaking Changes
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					- [DCMA] Delete scripts 5etools and pf2etools - Copyright abuse [@michelroegl-brunner](https://github.com/michelroegl-brunner) ([#1922](https://github.com/community-scripts/ProxmoxVE/pull/1922))
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					### ✨ New Scripts
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					- New script: Baïkal [@bvdberg01](https://github.com/bvdberg01) ([#1913](https://github.com/community-scripts/ProxmoxVE/pull/1913))
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					### 🚀 Updated Scripts
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					- Bug fix: Paymenter [@opastorello](https://github.com/opastorello) ([#1917](https://github.com/community-scripts/ProxmoxVE/pull/1917))
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					## 2025-01-31
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					### Changed
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					### ✨ New Scripts
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					- New Script: Paymenter [@opastorello](https://github.com/opastorello) ([#1827](https://github.com/community-scripts/ProxmoxVE/pull/1827))
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					### 🚀 Updated Scripts
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					- [Fix] Alpine-IT-Tools, add missing ssh package for root ssh access [@CrazyWolf13](https://github.com/CrazyWolf13) ([#1891](https://github.com/community-scripts/ProxmoxVE/pull/1891))
 | 
				
			||||||
 | 
					- [Fix] Change Download of Trilium after there change the tag/release logic [@MickLesk](https://github.com/MickLesk) ([#1892](https://github.com/community-scripts/ProxmoxVE/pull/1892))
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					### 🌐 Website
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					- [Website] Enhance DataFetcher with better UI components and add reactive data fetching intervals [@BramSuurdje](https://github.com/BramSuurdje) ([#1902](https://github.com/community-scripts/ProxmoxVE/pull/1902))
 | 
				
			||||||
 | 
					- [Website] Update /data/page.tsx [@michelroegl-brunner](https://github.com/michelroegl-brunner) ([#1900](https://github.com/community-scripts/ProxmoxVE/pull/1900))
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					## 2025-01-30
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					### Changed
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					### ✨ New Scripts
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					- New Script: IT-Tools [@nicedevil007](https://github.com/nicedevil007) ([#1862](https://github.com/community-scripts/ProxmoxVE/pull/1862))
 | 
				
			||||||
 | 
					- New Script: Mattermost [@Dracentis](https://github.com/Dracentis) ([#1856](https://github.com/community-scripts/ProxmoxVE/pull/1856))
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					### 🚀 Updated Scripts
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					- Optimize PVE Manager Version-Check [@MickLesk](https://github.com/MickLesk) ([#1866](https://github.com/community-scripts/ProxmoxVE/pull/1866))
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					### 🌐 Website
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					- [API] Update build.func to set the status message correct [@michelroegl-brunner](https://github.com/michelroegl-brunner) ([#1878](https://github.com/community-scripts/ProxmoxVE/pull/1878))
 | 
				
			||||||
 | 
					- [Website] Update /data/page.tsx [@michelroegl-brunner](https://github.com/michelroegl-brunner) ([#1876](https://github.com/community-scripts/ProxmoxVE/pull/1876))
 | 
				
			||||||
 | 
					- Fix IT-Tools Website Entry (Default | Alpine)  [@MickLesk](https://github.com/MickLesk) ([#1869](https://github.com/community-scripts/ProxmoxVE/pull/1869))
 | 
				
			||||||
 | 
					- fix: remove rounded styles from command primitive [@steveiliop56](https://github.com/steveiliop56) ([#1840](https://github.com/community-scripts/ProxmoxVE/pull/1840))
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					### 🧰 Maintenance
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					- [API] Update build.func: add function to see if a script failed or not [@michelroegl-brunner](https://github.com/michelroegl-brunner) ([#1874](https://github.com/community-scripts/ProxmoxVE/pull/1874))
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					## 2025-01-29
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					### Changed
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					### ✨ New Scripts
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					- New Script: Prometheus Proxmox VE Exporter [@andygrunwald](https://github.com/andygrunwald) ([#1805](https://github.com/community-scripts/ProxmoxVE/pull/1805))
 | 
				
			||||||
 | 
					- New Script: Clean Orphaned LVM [@MickLesk](https://github.com/MickLesk) ([#1838](https://github.com/community-scripts/ProxmoxVE/pull/1838))
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					### 🌐 Website
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					- Patch http Url to https in build.func and /data/page.tsx [@michelroegl-brunner](https://github.com/michelroegl-brunner) ([#1849](https://github.com/community-scripts/ProxmoxVE/pull/1849))
 | 
				
			||||||
 | 
					- [Frontend] Add /data to show API results [@michelroegl-brunner](https://github.com/michelroegl-brunner) ([#1841](https://github.com/community-scripts/ProxmoxVE/pull/1841))
 | 
				
			||||||
 | 
					- Update clean-orphaned-lvm.json [@michelroegl-brunner](https://github.com/michelroegl-brunner) ([#1843](https://github.com/community-scripts/ProxmoxVE/pull/1843))
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					### 🧰 Maintenance
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					- Update build.func [@michelroegl-brunner](https://github.com/michelroegl-brunner) ([#1851](https://github.com/community-scripts/ProxmoxVE/pull/1851))
 | 
				
			||||||
 | 
					- [Diagnostic] Introduced optional lxc install diagnostics via API call [@michelroegl-brunner](https://github.com/michelroegl-brunner) ([#1801](https://github.com/community-scripts/ProxmoxVE/pull/1801))
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					## 2025-01-28
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					### Changed
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					### 💥 Breaking Changes
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					- Breaking Change: Homarr v1 (Read Guide) [@MickLesk](https://github.com/MickLesk) ([#1825](https://github.com/community-scripts/ProxmoxVE/pull/1825))
 | 
				
			||||||
 | 
					- Update PingVin: Fix problem with update und switch to new method of getting files. [@michelroegl-brunner](https://github.com/michelroegl-brunner) ([#1819](https://github.com/community-scripts/ProxmoxVE/pull/1819))
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					### ✨ New Scripts
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					- New script: Monica LXC [@bvdberg01](https://github.com/bvdberg01) ([#1813](https://github.com/community-scripts/ProxmoxVE/pull/1813))
 | 
				
			||||||
 | 
					- New Script: NodeBB [@MickLesk](https://github.com/MickLesk) ([#1811](https://github.com/community-scripts/ProxmoxVE/pull/1811))
 | 
				
			||||||
 | 
					- New Script: Pocket ID [@Snarkenfaugister](https://github.com/Snarkenfaugister) ([#1779](https://github.com/community-scripts/ProxmoxVE/pull/1779))
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					### 🚀 Updated Scripts
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					- Update all Alpine LXC's to 3.21 (Docker, Grafana, Nextcloud, Vaultwarden, Zigbee2Mqtt, Alpine) [@MickLesk](https://github.com/MickLesk) ([#1803](https://github.com/community-scripts/ProxmoxVE/pull/1803))
 | 
				
			||||||
 | 
					- [Standardization] Fix Spelling for "Setup Python3" [@MickLesk](https://github.com/MickLesk) ([#1810](https://github.com/community-scripts/ProxmoxVE/pull/1810))
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					### 🌐 Website
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					- Filter out duplicate scripts in LatestScripts component and sort by creation date [@BramSuurdje](https://github.com/BramSuurdje) ([#1828](https://github.com/community-scripts/ProxmoxVE/pull/1828))
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					### 🧰 Maintenance
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					- [core]: Remove Figlet | Get Headers by Repo & Store Local [@MickLesk](https://github.com/MickLesk) ([#1802](https://github.com/community-scripts/ProxmoxVE/pull/1802))
 | 
				
			||||||
 | 
					- [docs] Update AppName.md: Make it clear where to change the URLs [@michelroegl-brunner](https://github.com/michelroegl-brunner) ([#1809](https://github.com/community-scripts/ProxmoxVE/pull/1809))
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					## 2025-01-27
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					### Changed
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					### ✨ New Scripts
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					- New Script: Arch Linux VM [@MickLesk](https://github.com/MickLesk) ([#1780](https://github.com/community-scripts/ProxmoxVE/pull/1780))
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					### 🚀 Updated Scripts
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					- Increase alpine-vaultwarden default var_disk size [@nayzm](https://github.com/nayzm) ([#1788](https://github.com/community-scripts/ProxmoxVE/pull/1788))
 | 
				
			||||||
 | 
					- Added change of the mobile GUI to disable nag request [@GarryG](https://github.com/GarryG) ([#1785](https://github.com/community-scripts/ProxmoxVE/pull/1785))
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					### 🌐 Website
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					- Update frontend alpine-vaultwarden hdd size and OS version [@nayzm](https://github.com/nayzm) ([#1789](https://github.com/community-scripts/ProxmoxVE/pull/1789))
 | 
				
			||||||
 | 
					- Website: Add Description for Metadata Categories [@MickLesk](https://github.com/MickLesk) ([#1783](https://github.com/community-scripts/ProxmoxVE/pull/1783))
 | 
				
			||||||
 | 
					- [Fix] Double "VM" on website (Arch Linux) [@lasharor](https://github.com/lasharor) ([#1782](https://github.com/community-scripts/ProxmoxVE/pull/1782))
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					## 2025-01-26
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					### Changed
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					### 🚀 Updated Scripts
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					- Fix jellyfin update command [@jcisio](https://github.com/jcisio) ([#1771](https://github.com/community-scripts/ProxmoxVE/pull/1771))
 | 
				
			||||||
 | 
					- openHAB - Use https and include doc url [@moodyblue](https://github.com/moodyblue) ([#1766](https://github.com/community-scripts/ProxmoxVE/pull/1766))
 | 
				
			||||||
 | 
					- Jellyfin: Fix default logging level [@tremor021](https://github.com/tremor021) ([#1768](https://github.com/community-scripts/ProxmoxVE/pull/1768))
 | 
				
			||||||
 | 
					- Calibre-Web: added installation of calibre binaries [@tremor021](https://github.com/tremor021) ([#1763](https://github.com/community-scripts/ProxmoxVE/pull/1763))
 | 
				
			||||||
 | 
					- Added environment variable to accept EULA for SQLServer2022 [@tremor021](https://github.com/tremor021) ([#1755](https://github.com/community-scripts/ProxmoxVE/pull/1755))
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					### 🌐 Website
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					- The Lounge: Fix the command to create new users [@tremor021](https://github.com/tremor021) ([#1762](https://github.com/community-scripts/ProxmoxVE/pull/1762))
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					## 2025-01-24
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					### Changed
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					### ✨ New Scripts
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					- New Script: Ubuntu 24.10 VM [@MickLesk](https://github.com/MickLesk) ([#1711](https://github.com/community-scripts/ProxmoxVE/pull/1711))
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					### 🚀 Updated Scripts
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					- openHAB - Update to Zulu21 [@moodyblue](https://github.com/moodyblue) ([#1734](https://github.com/community-scripts/ProxmoxVE/pull/1734))
 | 
				
			||||||
 | 
					- Feature: Filebrowser Script > Redesign | Update Logic | Remove Logic [@MickLesk](https://github.com/MickLesk) ([#1716](https://github.com/community-scripts/ProxmoxVE/pull/1716))
 | 
				
			||||||
 | 
					- Feature: Ubuntu 22.04 VM > Redesign | Optional HDD-Size Prompt [@MickLesk](https://github.com/MickLesk) ([#1712](https://github.com/community-scripts/ProxmoxVE/pull/1712))
 | 
				
			||||||
 | 
					- Feature: Ubuntu 24.04 VM > Redesign | Optional HDD-Size Prompt | cifs support [@MickLesk](https://github.com/MickLesk) ([#1714](https://github.com/community-scripts/ProxmoxVE/pull/1714))
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					### 🧰 Maintenance
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					- [Core] Better Creation of App Headers for next feature [@MickLesk](https://github.com/MickLesk) ([#1719](https://github.com/community-scripts/ProxmoxVE/pull/1719))
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					## 2025-01-23
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					### Changed
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					### 🚀 Updated Scripts
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					- Feature: Add Debian Disk Size / Redesign / Increase Disk [@MickLesk](https://github.com/MickLesk) ([#1695](https://github.com/community-scripts/ProxmoxVE/pull/1695))
 | 
				
			||||||
 | 
					- Fix: Paperless Service Timings & Optimization: Ghostscript Installation [@MickLesk](https://github.com/MickLesk) ([#1688](https://github.com/community-scripts/ProxmoxVE/pull/1688))
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					### 🌐 Website
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					- Refactor ScriptInfoBlocks and siteConfig to properly show the most populair scripts [@BramSuurdje](https://github.com/BramSuurdje) ([#1697](https://github.com/community-scripts/ProxmoxVE/pull/1697))
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					### 🧰 Maintenance
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					- Update build.func: Ubuntu advanced settings version [@michelroegl-brunner](https://github.com/michelroegl-brunner) ([#1701](https://github.com/community-scripts/ProxmoxVE/pull/1701))
 | 
				
			||||||
 | 
					
 | 
				
			||||||
## 2025-01-22
 | 
					## 2025-01-22
 | 
				
			||||||
 | 
					
 | 
				
			||||||
### Changed
 | 
					### Changed
 | 
				
			||||||
 
 | 
				
			|||||||
							
								
								
									
										5
									
								
								api/.env.example
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										5
									
								
								api/.env.example
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,5 @@
 | 
				
			|||||||
 | 
					MONGO_USER=
 | 
				
			||||||
 | 
					MONGO_PASSWORD=
 | 
				
			||||||
 | 
					MONGO_IP=
 | 
				
			||||||
 | 
					MONGO_PORT=
 | 
				
			||||||
 | 
					MONGO_DATABASE=
 | 
				
			||||||
							
								
								
									
										32
									
								
								api/go.mod
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										32
									
								
								api/go.mod
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,32 @@
 | 
				
			|||||||
 | 
					module proxmox-api
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					go 1.23.2
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					require go.mongodb.org/mongo-driver v1.17.2
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					require (
 | 
				
			||||||
 | 
						filippo.io/edwards25519 v1.1.0 // indirect
 | 
				
			||||||
 | 
						github.com/go-sql-driver/mysql v1.8.1 // indirect
 | 
				
			||||||
 | 
						github.com/golang/snappy v0.0.4 // indirect
 | 
				
			||||||
 | 
						github.com/gorilla/mux v1.8.1 // indirect
 | 
				
			||||||
 | 
						github.com/jackc/pgpassfile v1.0.0 // indirect
 | 
				
			||||||
 | 
						github.com/jackc/pgservicefile v0.0.0-20240606120523-5a60cdf6a761 // indirect
 | 
				
			||||||
 | 
						github.com/jackc/pgx/v5 v5.7.2 // indirect
 | 
				
			||||||
 | 
						github.com/jackc/puddle/v2 v2.2.2 // indirect
 | 
				
			||||||
 | 
						github.com/jinzhu/inflection v1.0.0 // indirect
 | 
				
			||||||
 | 
						github.com/jinzhu/now v1.1.5 // indirect
 | 
				
			||||||
 | 
						github.com/joho/godotenv v1.5.1 // indirect
 | 
				
			||||||
 | 
						github.com/klauspost/compress v1.16.7 // indirect
 | 
				
			||||||
 | 
						github.com/montanaflynn/stats v0.7.1 // indirect
 | 
				
			||||||
 | 
						github.com/rs/cors v1.11.1 // indirect
 | 
				
			||||||
 | 
						github.com/xdg-go/pbkdf2 v1.0.0 // indirect
 | 
				
			||||||
 | 
						github.com/xdg-go/scram v1.1.2 // indirect
 | 
				
			||||||
 | 
						github.com/xdg-go/stringprep v1.0.4 // indirect
 | 
				
			||||||
 | 
						github.com/youmark/pkcs8 v0.0.0-20240726163527-a2c0da244d78 // indirect
 | 
				
			||||||
 | 
						golang.org/x/crypto v0.32.0 // indirect
 | 
				
			||||||
 | 
						golang.org/x/sync v0.10.0 // indirect
 | 
				
			||||||
 | 
						golang.org/x/text v0.21.0 // indirect
 | 
				
			||||||
 | 
						gorm.io/driver/mysql v1.5.7 // indirect
 | 
				
			||||||
 | 
						gorm.io/driver/postgres v1.5.11 // indirect
 | 
				
			||||||
 | 
						gorm.io/gorm v1.25.12 // indirect
 | 
				
			||||||
 | 
					)
 | 
				
			||||||
							
								
								
									
										83
									
								
								api/go.sum
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										83
									
								
								api/go.sum
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,83 @@
 | 
				
			|||||||
 | 
					filippo.io/edwards25519 v1.1.0 h1:FNf4tywRC1HmFuKW5xopWpigGjJKiJSV0Cqo0cJWDaA=
 | 
				
			||||||
 | 
					filippo.io/edwards25519 v1.1.0/go.mod h1:BxyFTGdWcka3PhytdK4V28tE5sGfRvvvRV7EaN4VDT4=
 | 
				
			||||||
 | 
					github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38=
 | 
				
			||||||
 | 
					github.com/go-sql-driver/mysql v1.7.0/go.mod h1:OXbVy3sEdcQ2Doequ6Z5BW6fXNQTmx+9S1MCJN5yJMI=
 | 
				
			||||||
 | 
					github.com/go-sql-driver/mysql v1.8.1 h1:LedoTUt/eveggdHS9qUFC1EFSa8bU2+1pZjSRpvNJ1Y=
 | 
				
			||||||
 | 
					github.com/go-sql-driver/mysql v1.8.1/go.mod h1:wEBSXgmK//2ZFJyE+qWnIsVGmvmEKlqwuVSjsCm7DZg=
 | 
				
			||||||
 | 
					github.com/golang/snappy v0.0.4 h1:yAGX7huGHXlcLOEtBnF4w7FQwA26wojNCwOYAEhLjQM=
 | 
				
			||||||
 | 
					github.com/golang/snappy v0.0.4/go.mod h1:/XxbfmMg8lxefKM7IXC3fBNl/7bRcc72aCRzEWrmP2Q=
 | 
				
			||||||
 | 
					github.com/gorilla/mux v1.8.1 h1:TuBL49tXwgrFYWhqrNgrUNEY92u81SPhu7sTdzQEiWY=
 | 
				
			||||||
 | 
					github.com/gorilla/mux v1.8.1/go.mod h1:AKf9I4AEqPTmMytcMc0KkNouC66V3BtZ4qD5fmWSiMQ=
 | 
				
			||||||
 | 
					github.com/jackc/pgpassfile v1.0.0 h1:/6Hmqy13Ss2zCq62VdNG8tM1wchn8zjSGOBJ6icpsIM=
 | 
				
			||||||
 | 
					github.com/jackc/pgpassfile v1.0.0/go.mod h1:CEx0iS5ambNFdcRtxPj5JhEz+xB6uRky5eyVu/W2HEg=
 | 
				
			||||||
 | 
					github.com/jackc/pgservicefile v0.0.0-20240606120523-5a60cdf6a761 h1:iCEnooe7UlwOQYpKFhBabPMi4aNAfoODPEFNiAnClxo=
 | 
				
			||||||
 | 
					github.com/jackc/pgservicefile v0.0.0-20240606120523-5a60cdf6a761/go.mod h1:5TJZWKEWniPve33vlWYSoGYefn3gLQRzjfDlhSJ9ZKM=
 | 
				
			||||||
 | 
					github.com/jackc/pgx/v5 v5.7.2 h1:mLoDLV6sonKlvjIEsV56SkWNCnuNv531l94GaIzO+XI=
 | 
				
			||||||
 | 
					github.com/jackc/pgx/v5 v5.7.2/go.mod h1:ncY89UGWxg82EykZUwSpUKEfccBGGYq1xjrOpsbsfGQ=
 | 
				
			||||||
 | 
					github.com/jackc/puddle/v2 v2.2.2 h1:PR8nw+E/1w0GLuRFSmiioY6UooMp6KJv0/61nB7icHo=
 | 
				
			||||||
 | 
					github.com/jackc/puddle/v2 v2.2.2/go.mod h1:vriiEXHvEE654aYKXXjOvZM39qJ0q+azkZFrfEOc3H4=
 | 
				
			||||||
 | 
					github.com/jinzhu/inflection v1.0.0 h1:K317FqzuhWc8YvSVlFMCCUb36O/S9MCKRDI7QkRKD/E=
 | 
				
			||||||
 | 
					github.com/jinzhu/inflection v1.0.0/go.mod h1:h+uFLlag+Qp1Va5pdKtLDYj+kHp5pxUVkryuEj+Srlc=
 | 
				
			||||||
 | 
					github.com/jinzhu/now v1.1.5 h1:/o9tlHleP7gOFmsnYNz3RGnqzefHA47wQpKrrdTIwXQ=
 | 
				
			||||||
 | 
					github.com/jinzhu/now v1.1.5/go.mod h1:d3SSVoowX0Lcu0IBviAWJpolVfI5UJVZZ7cO71lE/z8=
 | 
				
			||||||
 | 
					github.com/joho/godotenv v1.5.1 h1:7eLL/+HRGLY0ldzfGMeQkb7vMd0as4CfYvUVzLqw0N0=
 | 
				
			||||||
 | 
					github.com/joho/godotenv v1.5.1/go.mod h1:f4LDr5Voq0i2e/R5DDNOoa2zzDfwtkZa6DnEwAbqwq4=
 | 
				
			||||||
 | 
					github.com/klauspost/compress v1.16.7 h1:2mk3MPGNzKyxErAw8YaohYh69+pa4sIQSC0fPGCFR9I=
 | 
				
			||||||
 | 
					github.com/klauspost/compress v1.16.7/go.mod h1:ntbaceVETuRiXiv4DpjP66DpAtAGkEQskQzEyD//IeE=
 | 
				
			||||||
 | 
					github.com/montanaflynn/stats v0.7.1 h1:etflOAAHORrCC44V+aR6Ftzort912ZU+YLiSTuV8eaE=
 | 
				
			||||||
 | 
					github.com/montanaflynn/stats v0.7.1/go.mod h1:etXPPgVO6n31NxCd9KQUMvCM+ve0ruNzt6R8Bnaayow=
 | 
				
			||||||
 | 
					github.com/pmezard/go-difflib v1.0.0/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4=
 | 
				
			||||||
 | 
					github.com/rs/cors v1.11.1 h1:eU3gRzXLRK57F5rKMGMZURNdIG4EoAmX8k94r9wXWHA=
 | 
				
			||||||
 | 
					github.com/rs/cors v1.11.1/go.mod h1:XyqrcTp5zjWr1wsJ8PIRZssZ8b/WMcMf71DJnit4EMU=
 | 
				
			||||||
 | 
					github.com/stretchr/objx v0.1.0/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+wExME=
 | 
				
			||||||
 | 
					github.com/stretchr/testify v1.3.0/go.mod h1:M5WIy9Dh21IEIfnGCwXGc5bZfKNJtfHm1UVUgZn+9EI=
 | 
				
			||||||
 | 
					github.com/stretchr/testify v1.7.0/go.mod h1:6Fq8oRcR53rry900zMqJjRRixrwX3KX962/h/Wwjteg=
 | 
				
			||||||
 | 
					github.com/xdg-go/pbkdf2 v1.0.0 h1:Su7DPu48wXMwC3bs7MCNG+z4FhcyEuz5dlvchbq0B0c=
 | 
				
			||||||
 | 
					github.com/xdg-go/pbkdf2 v1.0.0/go.mod h1:jrpuAogTd400dnrH08LKmI/xc1MbPOebTwRqcT5RDeI=
 | 
				
			||||||
 | 
					github.com/xdg-go/scram v1.1.2 h1:FHX5I5B4i4hKRVRBCFRxq1iQRej7WO3hhBuJf+UUySY=
 | 
				
			||||||
 | 
					github.com/xdg-go/scram v1.1.2/go.mod h1:RT/sEzTbU5y00aCK8UOx6R7YryM0iF1N2MOmC3kKLN4=
 | 
				
			||||||
 | 
					github.com/xdg-go/stringprep v1.0.4 h1:XLI/Ng3O1Atzq0oBs3TWm+5ZVgkq2aqdlvP9JtoZ6c8=
 | 
				
			||||||
 | 
					github.com/xdg-go/stringprep v1.0.4/go.mod h1:mPGuuIYwz7CmR2bT9j4GbQqutWS1zV24gijq1dTyGkM=
 | 
				
			||||||
 | 
					github.com/youmark/pkcs8 v0.0.0-20240726163527-a2c0da244d78 h1:ilQV1hzziu+LLM3zUTJ0trRztfwgjqKnBWNtSRkbmwM=
 | 
				
			||||||
 | 
					github.com/youmark/pkcs8 v0.0.0-20240726163527-a2c0da244d78/go.mod h1:aL8wCCfTfSfmXjznFBSZNN13rSJjlIOI1fUNAtF7rmI=
 | 
				
			||||||
 | 
					github.com/yuin/goldmark v1.4.13/go.mod h1:6yULJ656Px+3vBD8DxQVa3kxgyrAnzto9xy5taEt/CY=
 | 
				
			||||||
 | 
					go.mongodb.org/mongo-driver v1.17.2 h1:gvZyk8352qSfzyZ2UMWcpDpMSGEr1eqE4T793SqyhzM=
 | 
				
			||||||
 | 
					go.mongodb.org/mongo-driver v1.17.2/go.mod h1:Hy04i7O2kC4RS06ZrhPRqj/u4DTYkFDAAccj+rVKqgQ=
 | 
				
			||||||
 | 
					golang.org/x/crypto v0.0.0-20190308221718-c2843e01d9a2/go.mod h1:djNgcEr1/C05ACkg1iLfiJU5Ep61QUkGW8qpdssI0+w=
 | 
				
			||||||
 | 
					golang.org/x/crypto v0.0.0-20210921155107-089bfa567519/go.mod h1:GvvjBRRGRdwPK5ydBHafDWAxML/pGHZbMvKqRZ5+Abc=
 | 
				
			||||||
 | 
					golang.org/x/crypto v0.32.0 h1:euUpcYgM8WcP71gNpTqQCn6rC2t6ULUPiOzfWaXVVfc=
 | 
				
			||||||
 | 
					golang.org/x/crypto v0.32.0/go.mod h1:ZnnJkOaASj8g0AjIduWNlq2NRxL0PlBrbKVyZ6V/Ugc=
 | 
				
			||||||
 | 
					golang.org/x/mod v0.6.0-dev.0.20220419223038-86c51ed26bb4/go.mod h1:jJ57K6gSWd91VN4djpZkiMVwK6gcyfeH4XE8wZrZaV4=
 | 
				
			||||||
 | 
					golang.org/x/net v0.0.0-20190620200207-3b0461eec859/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s=
 | 
				
			||||||
 | 
					golang.org/x/net v0.0.0-20210226172049-e18ecbb05110/go.mod h1:m0MpNAwzfU5UDzcl9v0D8zg8gWTRqZa9RBIspLL5mdg=
 | 
				
			||||||
 | 
					golang.org/x/net v0.0.0-20220722155237-a158d28d115b/go.mod h1:XRhObCWvk6IyKnWLug+ECip1KBveYUHfp+8e9klMJ9c=
 | 
				
			||||||
 | 
					golang.org/x/sync v0.0.0-20190423024810-112230192c58/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
 | 
				
			||||||
 | 
					golang.org/x/sync v0.0.0-20220722155255-886fb9371eb4/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
 | 
				
			||||||
 | 
					golang.org/x/sync v0.10.0 h1:3NQrjDixjgGwUOCaF8w2+VYHv0Ve/vGYSbdkTa98gmQ=
 | 
				
			||||||
 | 
					golang.org/x/sync v0.10.0/go.mod h1:Czt+wKu1gCyEFDUtn0jG5QVvpJ6rzVqr5aXyt9drQfk=
 | 
				
			||||||
 | 
					golang.org/x/sys v0.0.0-20190215142949-d0b11bdaac8a/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY=
 | 
				
			||||||
 | 
					golang.org/x/sys v0.0.0-20201119102817-f84b799fce68/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
 | 
				
			||||||
 | 
					golang.org/x/sys v0.0.0-20210615035016-665e8c7367d1/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
 | 
				
			||||||
 | 
					golang.org/x/sys v0.0.0-20220520151302-bc2c85ada10a/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
 | 
				
			||||||
 | 
					golang.org/x/sys v0.0.0-20220722155257-8c9f86f7a55f/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
 | 
				
			||||||
 | 
					golang.org/x/term v0.0.0-20201126162022-7de9c90e9dd1/go.mod h1:bj7SfCRtBDWHUb9snDiAeCFNEtKQo2Wmx5Cou7ajbmo=
 | 
				
			||||||
 | 
					golang.org/x/term v0.0.0-20210927222741-03fcf44c2211/go.mod h1:jbD1KX2456YbFQfuXm/mYQcufACuNUgVhRMnK/tPxf8=
 | 
				
			||||||
 | 
					golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ=
 | 
				
			||||||
 | 
					golang.org/x/text v0.3.3/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ=
 | 
				
			||||||
 | 
					golang.org/x/text v0.3.7/go.mod h1:u+2+/6zg+i71rQMx5EYifcz6MCKuco9NR6JIITiCfzQ=
 | 
				
			||||||
 | 
					golang.org/x/text v0.3.8/go.mod h1:E6s5w1FMmriuDzIBO73fBruAKo1PCIq6d2Q6DHfQ8WQ=
 | 
				
			||||||
 | 
					golang.org/x/text v0.21.0 h1:zyQAAkrwaneQ066sspRyJaG9VNi/YJ1NfzcGB3hZ/qo=
 | 
				
			||||||
 | 
					golang.org/x/text v0.21.0/go.mod h1:4IBbMaMmOPCJ8SecivzSH54+73PCFmPWxNTLm+vZkEQ=
 | 
				
			||||||
 | 
					golang.org/x/tools v0.0.0-20180917221912-90fa682c2a6e/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ=
 | 
				
			||||||
 | 
					golang.org/x/tools v0.0.0-20191119224855-298f0cb1881e/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo=
 | 
				
			||||||
 | 
					golang.org/x/tools v0.1.12/go.mod h1:hNGJHUnrk76NpqgfD5Aqm5Crs+Hm0VOH/i9J2+nxYbc=
 | 
				
			||||||
 | 
					golang.org/x/xerrors v0.0.0-20190717185122-a985d3407aa7/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0=
 | 
				
			||||||
 | 
					gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0=
 | 
				
			||||||
 | 
					gopkg.in/yaml.v3 v3.0.0-20200313102051-9f266ea9e77c/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM=
 | 
				
			||||||
 | 
					gorm.io/driver/mysql v1.5.7 h1:MndhOPYOfEp2rHKgkZIhJ16eVUIRf2HmzgoPmh7FCWo=
 | 
				
			||||||
 | 
					gorm.io/driver/mysql v1.5.7/go.mod h1:sEtPWMiqiN1N1cMXoXmBbd8C6/l+TESwriotuRRpkDM=
 | 
				
			||||||
 | 
					gorm.io/driver/postgres v1.5.11 h1:ubBVAfbKEUld/twyKZ0IYn9rSQh448EdelLYk9Mv314=
 | 
				
			||||||
 | 
					gorm.io/driver/postgres v1.5.11/go.mod h1:DX3GReXH+3FPWGrrgffdvCk3DQ1dwDPdmbenSkweRGI=
 | 
				
			||||||
 | 
					gorm.io/gorm v1.25.7/go.mod h1:hbnx/Oo0ChWMn1BIhpy1oYozzpM15i4YPuHDmfYtwg8=
 | 
				
			||||||
 | 
					gorm.io/gorm v1.25.12 h1:I0u8i2hWQItBq1WfE0o2+WuL9+8L21K9e2HHSTE/0f8=
 | 
				
			||||||
 | 
					gorm.io/gorm v1.25.12/go.mod h1:xh7N7RHfYlNc5EmcI/El95gXusucDrQnHXe0+CgWcLQ=
 | 
				
			||||||
							
								
								
									
										167
									
								
								api/main.go
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										167
									
								
								api/main.go
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,167 @@
 | 
				
			|||||||
 | 
					// Copyright (c) 2021-2025 community-scripts ORG
 | 
				
			||||||
 | 
					// Author: Michel Roegl-Brunner (michelroegl-brunner)
 | 
				
			||||||
 | 
					// License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					package main
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					import (
 | 
				
			||||||
 | 
						"context"
 | 
				
			||||||
 | 
						"encoding/json"
 | 
				
			||||||
 | 
						"fmt"
 | 
				
			||||||
 | 
						"log"
 | 
				
			||||||
 | 
						"net/http"
 | 
				
			||||||
 | 
						"os"
 | 
				
			||||||
 | 
						"time"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
						"github.com/gorilla/mux"
 | 
				
			||||||
 | 
						"github.com/joho/godotenv"
 | 
				
			||||||
 | 
						"github.com/rs/cors"
 | 
				
			||||||
 | 
						"go.mongodb.org/mongo-driver/bson"
 | 
				
			||||||
 | 
						"go.mongodb.org/mongo-driver/bson/primitive"
 | 
				
			||||||
 | 
						"go.mongodb.org/mongo-driver/mongo"
 | 
				
			||||||
 | 
						"go.mongodb.org/mongo-driver/mongo/options"
 | 
				
			||||||
 | 
					)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					var client *mongo.Client
 | 
				
			||||||
 | 
					var collection *mongo.Collection
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					func loadEnv() {
 | 
				
			||||||
 | 
						if err := godotenv.Load(); err != nil {
 | 
				
			||||||
 | 
							log.Fatal("Error loading .env file")
 | 
				
			||||||
 | 
						}
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					type DataModel struct {
 | 
				
			||||||
 | 
						ID         primitive.ObjectID `json:"id" bson:"_id,omitempty"`
 | 
				
			||||||
 | 
						CT_TYPE    uint               `json:"ct_type" bson:"ct_type"`
 | 
				
			||||||
 | 
						DISK_SIZE  float32            `json:"disk_size" bson:"disk_size"`
 | 
				
			||||||
 | 
						CORE_COUNT uint               `json:"core_count" bson:"core_count"`
 | 
				
			||||||
 | 
						RAM_SIZE   uint               `json:"ram_size" bson:"ram_size"`
 | 
				
			||||||
 | 
						OS_TYPE    string             `json:"os_type" bson:"os_type"`
 | 
				
			||||||
 | 
						OS_VERSION string             `json:"os_version" bson:"os_version"`
 | 
				
			||||||
 | 
						DISABLEIP6 string             `json:"disableip6" bson:"disableip6"`
 | 
				
			||||||
 | 
						NSAPP      string             `json:"nsapp" bson:"nsapp"`
 | 
				
			||||||
 | 
						METHOD     string             `json:"method" bson:"method"`
 | 
				
			||||||
 | 
						CreatedAt  time.Time          `json:"created_at" bson:"created_at"`
 | 
				
			||||||
 | 
						PVEVERSION string             `json:"pve_version" bson:"pve_version"`
 | 
				
			||||||
 | 
						STATUS     string             `json:"status" bson:"status"`
 | 
				
			||||||
 | 
						RANDOM_ID  string             `json:"random_id" bson:"random_id"`
 | 
				
			||||||
 | 
						TYPE       string             `json:"type" bson:"type"`
 | 
				
			||||||
 | 
						ERROR      string             `json:"error" bson:"error"`
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					type StatusModel struct {
 | 
				
			||||||
 | 
						RANDOM_ID string `json:"random_id" bson:"random_id"`
 | 
				
			||||||
 | 
						ERROR     string `json:"error" bson:"error"`
 | 
				
			||||||
 | 
						STATUS    string `json:"status" bson:"status"`
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					func ConnectDatabase() {
 | 
				
			||||||
 | 
						loadEnv()
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
						mongoURI := fmt.Sprintf("mongodb://%s:%s@%s:%s",
 | 
				
			||||||
 | 
							os.Getenv("MONGO_USER"),
 | 
				
			||||||
 | 
							os.Getenv("MONGO_PASSWORD"),
 | 
				
			||||||
 | 
							os.Getenv("MONGO_IP"),
 | 
				
			||||||
 | 
							os.Getenv("MONGO_PORT"))
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
						database := os.Getenv("MONGO_DATABASE")
 | 
				
			||||||
 | 
						ctx, cancel := context.WithTimeout(context.Background(), 10*time.Second)
 | 
				
			||||||
 | 
						defer cancel()
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
						var err error
 | 
				
			||||||
 | 
						client, err = mongo.Connect(ctx, options.Client().ApplyURI(mongoURI))
 | 
				
			||||||
 | 
						if err != nil {
 | 
				
			||||||
 | 
							log.Fatal("Failed to connect to MongoDB!", err)
 | 
				
			||||||
 | 
						}
 | 
				
			||||||
 | 
						collection = client.Database(database).Collection("data_models")
 | 
				
			||||||
 | 
						fmt.Println("Connected to MongoDB on 10.10.10.18")
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					func UploadJSON(w http.ResponseWriter, r *http.Request) {
 | 
				
			||||||
 | 
						var input DataModel
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
						if err := json.NewDecoder(r.Body).Decode(&input); err != nil {
 | 
				
			||||||
 | 
							http.Error(w, err.Error(), http.StatusBadRequest)
 | 
				
			||||||
 | 
							return
 | 
				
			||||||
 | 
						}
 | 
				
			||||||
 | 
						input.CreatedAt = time.Now()
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
						_, err := collection.InsertOne(context.Background(), input)
 | 
				
			||||||
 | 
						if err != nil {
 | 
				
			||||||
 | 
							http.Error(w, err.Error(), http.StatusInternalServerError)
 | 
				
			||||||
 | 
							return
 | 
				
			||||||
 | 
						}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
						log.Println("Received data:", input)
 | 
				
			||||||
 | 
						w.WriteHeader(http.StatusCreated)
 | 
				
			||||||
 | 
						json.NewEncoder(w).Encode(map[string]string{"message": "Data saved successfully"})
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					func UpdateStatus(w http.ResponseWriter, r *http.Request) {
 | 
				
			||||||
 | 
						var input StatusModel
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
						if err := json.NewDecoder(r.Body).Decode(&input); err != nil {
 | 
				
			||||||
 | 
							http.Error(w, err.Error(), http.StatusBadRequest)
 | 
				
			||||||
 | 
							return
 | 
				
			||||||
 | 
						}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
						filter := bson.M{"random_id": input.RANDOM_ID}
 | 
				
			||||||
 | 
						update := bson.M{"$set": bson.M{"status": input.STATUS, "error": input.ERROR}}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
						_, err := collection.UpdateOne(context.Background(), filter, update)
 | 
				
			||||||
 | 
						if err != nil {
 | 
				
			||||||
 | 
							http.Error(w, err.Error(), http.StatusInternalServerError)
 | 
				
			||||||
 | 
							return
 | 
				
			||||||
 | 
						}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
						log.Println("Updated data:", input)
 | 
				
			||||||
 | 
						w.WriteHeader(http.StatusOK)
 | 
				
			||||||
 | 
						json.NewEncoder(w).Encode(map[string]string{"message": "Record updated successfully"})
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					func GetDataJSON(w http.ResponseWriter, r *http.Request) {
 | 
				
			||||||
 | 
						var records []DataModel
 | 
				
			||||||
 | 
						ctx, cancel := context.WithTimeout(context.Background(), 10*time.Second)
 | 
				
			||||||
 | 
						defer cancel()
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
						cursor, err := collection.Find(ctx, bson.M{})
 | 
				
			||||||
 | 
						if err != nil {
 | 
				
			||||||
 | 
							http.Error(w, err.Error(), http.StatusInternalServerError)
 | 
				
			||||||
 | 
							return
 | 
				
			||||||
 | 
						}
 | 
				
			||||||
 | 
						defer cursor.Close(ctx)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
						for cursor.Next(ctx) {
 | 
				
			||||||
 | 
							var record DataModel
 | 
				
			||||||
 | 
							if err := cursor.Decode(&record); err != nil {
 | 
				
			||||||
 | 
								http.Error(w, err.Error(), http.StatusInternalServerError)
 | 
				
			||||||
 | 
								return
 | 
				
			||||||
 | 
							}
 | 
				
			||||||
 | 
							records = append(records, record)
 | 
				
			||||||
 | 
						}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
						w.Header().Set("Content-Type", "application/json")
 | 
				
			||||||
 | 
						json.NewEncoder(w).Encode(records)
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					func main() {
 | 
				
			||||||
 | 
						ConnectDatabase()
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
						router := mux.NewRouter()
 | 
				
			||||||
 | 
						router.HandleFunc("/upload", UploadJSON).Methods("POST")
 | 
				
			||||||
 | 
						router.HandleFunc("/upload/updatestatus", UpdateStatus).Methods("POST")
 | 
				
			||||||
 | 
						router.HandleFunc("/data/json", GetDataJSON).Methods("GET")
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
						c := cors.New(cors.Options{
 | 
				
			||||||
 | 
							AllowedOrigins:   []string{"*"},
 | 
				
			||||||
 | 
							AllowedMethods:   []string{"GET", "POST"},
 | 
				
			||||||
 | 
							AllowedHeaders:   []string{"Content-Type", "Authorization"},
 | 
				
			||||||
 | 
							AllowCredentials: true,
 | 
				
			||||||
 | 
						})
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
						handler := c.Handler(router)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
						fmt.Println("Server running on port 8080")
 | 
				
			||||||
 | 
						log.Fatal(http.ListenAndServe(":8080", handler))
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
							
								
								
									
										113
									
								
								ct/5etools.sh
									
									
									
									
									
								
							
							
						
						
									
										113
									
								
								ct/5etools.sh
									
									
									
									
									
								
							@@ -1,113 +0,0 @@
 | 
				
			|||||||
#!/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: TheRealVira
 | 
					 | 
				
			||||||
# License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE
 | 
					 | 
				
			||||||
# Source: https://5e.tools/
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
# App Default Values
 | 
					 | 
				
			||||||
APP="5etools"
 | 
					 | 
				
			||||||
var_tags="wiki"
 | 
					 | 
				
			||||||
var_cpu="1"
 | 
					 | 
				
			||||||
var_ram="512"
 | 
					 | 
				
			||||||
var_disk="13"
 | 
					 | 
				
			||||||
var_os="debian"
 | 
					 | 
				
			||||||
var_version="12"
 | 
					 | 
				
			||||||
var_unprivileged="1"
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
# App Output & Base Settings
 | 
					 | 
				
			||||||
header_info "$APP"
 | 
					 | 
				
			||||||
base_settings
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
# Core
 | 
					 | 
				
			||||||
variables
 | 
					 | 
				
			||||||
color
 | 
					 | 
				
			||||||
catch_errors
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
function update_script() {
 | 
					 | 
				
			||||||
    header_info
 | 
					 | 
				
			||||||
    check_container_storage
 | 
					 | 
				
			||||||
    check_container_resources
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
    # Check if installation is present | -f for file, -d for folder
 | 
					 | 
				
			||||||
    if [[ ! -d "/opt/${APP}" ]]; then
 | 
					 | 
				
			||||||
        msg_error "No ${APP} Installation Found!"
 | 
					 | 
				
			||||||
        exit
 | 
					 | 
				
			||||||
    fi
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
    RELEASE=$(curl -s https://api.github.com/repos/5etools-mirror-3/5etools-src/releases/latest | grep "tag_name" | awk '{print substr($2, 2, length($2)-3) }')
 | 
					 | 
				
			||||||
    if [[ "${RELEASE}" != "$(cat /opt/${APP}_version.txt)" ]] || [[ ! -f "/opt/${APP}_version.txt" ]]; then
 | 
					 | 
				
			||||||
        # Crawling the new version and checking whether an update is required
 | 
					 | 
				
			||||||
        msg_info "Updating System"
 | 
					 | 
				
			||||||
        apt-get update &>/dev/null
 | 
					 | 
				
			||||||
        apt-get -y upgrade &>/dev/null
 | 
					 | 
				
			||||||
        msg_ok "Updated System"
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
        # Execute Update
 | 
					 | 
				
			||||||
        msg_info "Updating base 5etools"
 | 
					 | 
				
			||||||
        cd /opt
 | 
					 | 
				
			||||||
        wget -q "https://github.com/5etools-mirror-3/5etools-src/archive/refs/tags/${RELEASE}.zip"
 | 
					 | 
				
			||||||
        unzip -q "${RELEASE}.zip"
 | 
					 | 
				
			||||||
        mv "/opt/${APP}/img" "/opt/img-backup"
 | 
					 | 
				
			||||||
        rm -rf "/opt/${APP}"
 | 
					 | 
				
			||||||
        mv "${APP}-src-${RELEASE:1}" "/opt/${APP}"
 | 
					 | 
				
			||||||
        mv "/opt/img-backup" "/opt/${APP}/img"
 | 
					 | 
				
			||||||
        cd /opt/5etools
 | 
					 | 
				
			||||||
        $STD npm install
 | 
					 | 
				
			||||||
        $STD npm run build
 | 
					 | 
				
			||||||
        cd ~
 | 
					 | 
				
			||||||
        echo "${RELEASE}" >"/opt/${APP}_version.txt"
 | 
					 | 
				
			||||||
        chown -R www-data: "/opt/${APP}"
 | 
					 | 
				
			||||||
        chmod -R 755 "/opt/${APP}"
 | 
					 | 
				
			||||||
        msg_ok "Updated base 5etools"
 | 
					 | 
				
			||||||
        # Cleaning up
 | 
					 | 
				
			||||||
        msg_info "Cleaning Up"
 | 
					 | 
				
			||||||
        rm -rf /opt/${RELEASE}.zip
 | 
					 | 
				
			||||||
        $STD apt-get -y autoremove
 | 
					 | 
				
			||||||
        $STD apt-get -y autoclean
 | 
					 | 
				
			||||||
        msg_ok "Cleanup Completed"
 | 
					 | 
				
			||||||
    else
 | 
					 | 
				
			||||||
        msg_ok "No update required. Base ${APP} is already at ${RELEASE}"
 | 
					 | 
				
			||||||
    fi
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
    IMG_RELEASE=$(curl -s https://api.github.com/repos/5etools-mirror-2/5etools-img/releases/latest | grep "tag_name" | awk '{print substr($2, 2, length($2)-3) }')
 | 
					 | 
				
			||||||
    if [[ "${IMG_RELEASE}" != "$(cat /opt/${APP}_IMG_version.txt)" ]] || [[ ! -f "/opt/${APP}_IMG_version.txt" ]]; then
 | 
					 | 
				
			||||||
        # Crawling the new version and checking whether an update is required
 | 
					 | 
				
			||||||
        msg_info "Updating System"
 | 
					 | 
				
			||||||
        apt-get update &>/dev/null
 | 
					 | 
				
			||||||
        apt-get -y upgrade &>/dev/null
 | 
					 | 
				
			||||||
        msg_ok "Updated System"
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
        # Execute Update
 | 
					 | 
				
			||||||
        msg_info "Updating 5etools images"
 | 
					 | 
				
			||||||
        curl -sSL "https://github.com/5etools-mirror-2/5etools-img/archive/refs/tags/${IMG_RELEASE}.zip" > "${IMG_RELEASE}.zip"
 | 
					 | 
				
			||||||
        unzip -q "${IMG_RELEASE}.zip"
 | 
					 | 
				
			||||||
        rm -rf "/opt/${APP}/img"
 | 
					 | 
				
			||||||
        mv "${APP}-img-${IMG_RELEASE:1}" "/opt/${APP}/img"
 | 
					 | 
				
			||||||
        echo "${IMG_RELEASE}" >"/opt/${APP}_IMG_version.txt"
 | 
					 | 
				
			||||||
        chown -R www-data: "/opt/${APP}"
 | 
					 | 
				
			||||||
        chmod -R 755 "/opt/${APP}"
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
        msg_ok "Updating 5etools images"
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
        # Cleaning up
 | 
					 | 
				
			||||||
        msg_info "Cleaning Up"
 | 
					 | 
				
			||||||
        rm -rf /opt/${RELEASE}.zip
 | 
					 | 
				
			||||||
        rm -rf ${IMG_RELEASE}.zip
 | 
					 | 
				
			||||||
        $STD apt-get -y autoremove
 | 
					 | 
				
			||||||
        $STD apt-get -y autoclean
 | 
					 | 
				
			||||||
        msg_ok "Cleanup Completed"
 | 
					 | 
				
			||||||
    else
 | 
					 | 
				
			||||||
        msg_ok "No update required. ${APP} images are already at ${IMG_RELEASE}"
 | 
					 | 
				
			||||||
    fi
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
}
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
start
 | 
					 | 
				
			||||||
build_container
 | 
					 | 
				
			||||||
description
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
msg_ok "Completed Successfully!\n"
 | 
					 | 
				
			||||||
echo -e "${CREATING}${GN}${APP} setup has been successfully initialized!${CL}"
 | 
					 | 
				
			||||||
echo -e "${INFO}${YW} Access it using the following URL:${CL}"
 | 
					 | 
				
			||||||
echo -e "${TAB}${GATEWAY}${BGN}http://${IP}${CL}"
 | 
					 | 
				
			||||||
@@ -34,29 +34,24 @@ function update_script() {
 | 
				
			|||||||
        exit
 | 
					        exit
 | 
				
			||||||
    fi
 | 
					    fi
 | 
				
			||||||
    
 | 
					    
 | 
				
			||||||
    if ! command -v jq >/dev/null 2>&1; then
 | 
					    RELEASE=$(curl -s https://api.github.com/repos/actualbudget/actual/releases/latest | grep "tag_name" | awk '{print substr($2, 3, length($2)-4) }')
 | 
				
			||||||
        echo "Installing jq..."
 | 
					    if [[ ! -f /opt/actualbudget_version.txt ]] || [[ "${RELEASE}" != "$(cat /opt/actualbudget_version.txt)" ]]; then
 | 
				
			||||||
        apt-get install -y jq >/dev/null 2>&1
 | 
					 | 
				
			||||||
        echo "Installed jq..."
 | 
					 | 
				
			||||||
    fi
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
    RELEASE=$(curl -s https://api.github.com/repos/actualbudget/actual-server/tags | jq --raw-output '.[0].name')
 | 
					 | 
				
			||||||
    if [[ ! -f /opt/${APP}_version.txt ]] || [[ "${RELEASE}" != "$(cat /opt/${APP}_version.txt)" ]]; then
 | 
					 | 
				
			||||||
        msg_info "Stopping ${APP}"
 | 
					        msg_info "Stopping ${APP}"
 | 
				
			||||||
        systemctl stop actualbudget
 | 
					        systemctl stop actualbudget
 | 
				
			||||||
        msg_ok "${APP} Stopped"
 | 
					        msg_ok "${APP} Stopped"
 | 
				
			||||||
        
 | 
					        
 | 
				
			||||||
        msg_info "Updating ${APP} to ${RELEASE}"
 | 
					        msg_info "Updating ${APP} to ${RELEASE}"
 | 
				
			||||||
        wget -q https://codeload.github.com/actualbudget/actual-server/legacy.tar.gz/refs/tags/${RELEASE} -O actual-server.tar.gz
 | 
					        cd /tmp
 | 
				
			||||||
        tar -xzvf actual-server.tar.gz >/dev/null 2>&1
 | 
					        wget -q https://github.com/actualbudget/actual-server/archive/refs/tags/v${RELEASE}.tar.gz
 | 
				
			||||||
        mv /opt/actualbudget /opt/actualbudget_bak
 | 
					        mv /opt/actualbudget /opt/actualbudget_bak
 | 
				
			||||||
        mkdir -p /opt/actualbudget/
 | 
					        tar -xzf v${RELEASE}.tar.gz >/dev/null 2>&1
 | 
				
			||||||
        mv actual-server-* /opt/actualbudget
 | 
					        mv *ctual-server-* /opt/actualbudget
 | 
				
			||||||
 | 
					        rm -rf /opt/actualbudget/.env
 | 
				
			||||||
        mv /opt/actualbudget_bak/.env /opt/actualbudget
 | 
					        mv /opt/actualbudget_bak/.env /opt/actualbudget
 | 
				
			||||||
        mv /opt/actualbudget_bak/server-files /opt/actualbudget/server-files
 | 
					        mv /opt/actualbudget_bak/server-files /opt/actualbudget/server-files
 | 
				
			||||||
        cd /opt/actualbudget
 | 
					        cd /opt/actualbudget
 | 
				
			||||||
        yarn install &>/dev/null
 | 
					        yarn install &>/dev/null
 | 
				
			||||||
        echo "${RELEASE}" >/opt/${APP}_version.txt
 | 
					        echo "${RELEASE}" >/opt/actualbudget_version.txt
 | 
				
			||||||
        msg_ok "Updated ${APP}"
 | 
					        msg_ok "Updated ${APP}"
 | 
				
			||||||
        
 | 
					        
 | 
				
			||||||
        msg_info "Starting ${APP}"
 | 
					        msg_info "Starting ${APP}"
 | 
				
			||||||
@@ -65,6 +60,7 @@ function update_script() {
 | 
				
			|||||||
        
 | 
					        
 | 
				
			||||||
        msg_info "Cleaning Up"
 | 
					        msg_info "Cleaning Up"
 | 
				
			||||||
        rm -rf /opt/actualbudget_bak
 | 
					        rm -rf /opt/actualbudget_bak
 | 
				
			||||||
 | 
					        rm -rf /tmp/v${RELEASE}.tar.gz
 | 
				
			||||||
        msg_ok "Cleaned"
 | 
					        msg_ok "Cleaned"
 | 
				
			||||||
        msg_ok "Updated Successfully"
 | 
					        msg_ok "Updated Successfully"
 | 
				
			||||||
    else
 | 
					    else
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -11,7 +11,7 @@ var_cpu="1"
 | 
				
			|||||||
var_ram="1024"
 | 
					var_ram="1024"
 | 
				
			||||||
var_disk="2"
 | 
					var_disk="2"
 | 
				
			||||||
var_os="alpine"
 | 
					var_os="alpine"
 | 
				
			||||||
var_version="3.20"
 | 
					var_version="3.21"
 | 
				
			||||||
var_unprivileged="1"
 | 
					var_unprivileged="1"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
# App Output & Base Settings
 | 
					# App Output & Base Settings
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -11,7 +11,7 @@ var_cpu="1"
 | 
				
			|||||||
var_ram="256"
 | 
					var_ram="256"
 | 
				
			||||||
var_disk="1"
 | 
					var_disk="1"
 | 
				
			||||||
var_os="alpine"
 | 
					var_os="alpine"
 | 
				
			||||||
var_version="3.20"
 | 
					var_version="3.21"
 | 
				
			||||||
var_unprivileged="1"
 | 
					var_unprivileged="1"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
# App Output & Base Settings
 | 
					# App Output & Base Settings
 | 
				
			||||||
 
 | 
				
			|||||||
							
								
								
									
										62
									
								
								ct/alpine-it-tools.sh
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										62
									
								
								ct/alpine-it-tools.sh
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,62 @@
 | 
				
			|||||||
 | 
					#!/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: nicedevil007 (NiceDevil)
 | 
				
			||||||
 | 
					# License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# App Default Values
 | 
				
			||||||
 | 
					APP="Alpine-IT-Tools"
 | 
				
			||||||
 | 
					var_tags="alpine;development"
 | 
				
			||||||
 | 
					var_cpu="1"
 | 
				
			||||||
 | 
					var_ram="256"
 | 
				
			||||||
 | 
					var_disk="0.2"
 | 
				
			||||||
 | 
					var_os="alpine"
 | 
				
			||||||
 | 
					var_version="3.21"
 | 
				
			||||||
 | 
					var_unprivileged="1"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# App Output & Base Settings
 | 
				
			||||||
 | 
					header_info "$APP"
 | 
				
			||||||
 | 
					base_settings
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# Core
 | 
				
			||||||
 | 
					variables
 | 
				
			||||||
 | 
					color
 | 
				
			||||||
 | 
					catch_errors
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					function update_script() {
 | 
				
			||||||
 | 
					    header_info
 | 
				
			||||||
 | 
					    check_container_storage
 | 
				
			||||||
 | 
					    check_container_resources
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    if [[ ! -d /usr/share/nginx/html ]]; then
 | 
				
			||||||
 | 
					        msg_error "No ${APP} Installation Found!"
 | 
				
			||||||
 | 
					        exit
 | 
				
			||||||
 | 
					    fi
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    RELEASE=$(curl -s https://api.github.com/repos/CorentinTh/it-tools/releases/latest | grep '"tag_name":' | cut -d '"' -f4)
 | 
				
			||||||
 | 
					    if [[ "${RELEASE}" != "$(cat /opt/${APP}_version.txt)" ]] || [[ ! -f /opt/${APP}_version.txt ]]; then
 | 
				
			||||||
 | 
					        DOWNLOAD_URL="https://github.com/CorentinTh/it-tools/releases/download/${RELEASE}/it-tools-${RELEASE#v}.zip"
 | 
				
			||||||
 | 
					        msg_info "Updating ${APP} LXC"
 | 
				
			||||||
 | 
					        curl -fsSL -o it-tools.zip "$DOWNLOAD_URL"
 | 
				
			||||||
 | 
					        mkdir -p /usr/share/nginx/html
 | 
				
			||||||
 | 
					        rm -rf /usr/share/nginx/html/*
 | 
				
			||||||
 | 
					        unzip -q it-tools.zip -d /tmp/it-tools
 | 
				
			||||||
 | 
					        cp -r /tmp/it-tools/dist/* /usr/share/nginx/html
 | 
				
			||||||
 | 
					        rm -rf /tmp/it-tools
 | 
				
			||||||
 | 
					        rm -f it-tools.zip
 | 
				
			||||||
 | 
					        msg_ok "Updated Successfully"
 | 
				
			||||||
 | 
					    else
 | 
				
			||||||
 | 
					        msg_ok "No update required. ${APP} is already at ${RELEASE}"
 | 
				
			||||||
 | 
					    fi
 | 
				
			||||||
 | 
					    exit
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					start
 | 
				
			||||||
 | 
					build_container
 | 
				
			||||||
 | 
					description
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					msg_ok "Completed Successfully!\n"
 | 
				
			||||||
 | 
					echo -e "${CREATING}${GN}${APP} setup has been successfully initialized!${CL}"
 | 
				
			||||||
 | 
					echo -e "${INFO}${YW} Access it using the following IP:${CL}"
 | 
				
			||||||
 | 
					echo -e "${TAB}${GATEWAY}${BGN}http://${IP}${CL}"
 | 
				
			||||||
@@ -11,7 +11,7 @@ var_cpu="2"
 | 
				
			|||||||
var_ram="1024"
 | 
					var_ram="1024"
 | 
				
			||||||
var_disk="2"
 | 
					var_disk="2"
 | 
				
			||||||
var_os="alpine"
 | 
					var_os="alpine"
 | 
				
			||||||
var_version="3.20"
 | 
					var_version="3.21"
 | 
				
			||||||
var_unprivileged="1"
 | 
					var_unprivileged="1"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
# App Output & Base Settings
 | 
					# App Output & Base Settings
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -9,9 +9,9 @@ APP="Alpine-Vaultwarden"
 | 
				
			|||||||
var_tags="alpine;vault"
 | 
					var_tags="alpine;vault"
 | 
				
			||||||
var_cpu="1"
 | 
					var_cpu="1"
 | 
				
			||||||
var_ram="256"
 | 
					var_ram="256"
 | 
				
			||||||
var_disk="0.3"
 | 
					var_disk="0.5"
 | 
				
			||||||
var_os="alpine"
 | 
					var_os="alpine"
 | 
				
			||||||
var_version="3.20"
 | 
					var_version="3.21"
 | 
				
			||||||
var_unprivileged="1"
 | 
					var_unprivileged="1"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
# App Output & Base Settings
 | 
					# App Output & Base Settings
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -11,7 +11,7 @@ var_disk="0.3"
 | 
				
			|||||||
var_cpu="1"
 | 
					var_cpu="1"
 | 
				
			||||||
var_ram="256"
 | 
					var_ram="256"
 | 
				
			||||||
var_os="alpine"
 | 
					var_os="alpine"
 | 
				
			||||||
var_version="3.20"
 | 
					var_version="3.21"
 | 
				
			||||||
var_unprivileged="0"
 | 
					var_unprivileged="0"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
# App Output & Base Settings
 | 
					# App Output & Base Settings
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -11,7 +11,7 @@ var_cpu="1"
 | 
				
			|||||||
var_ram="512"
 | 
					var_ram="512"
 | 
				
			||||||
var_disk="0.1"
 | 
					var_disk="0.1"
 | 
				
			||||||
var_os="alpine"
 | 
					var_os="alpine"
 | 
				
			||||||
var_version="3.20"
 | 
					var_version="3.21"
 | 
				
			||||||
var_unprivileged="1"
 | 
					var_unprivileged="1"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
# App Output & Base Settings
 | 
					# App Output & Base Settings
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -8,7 +8,7 @@ source <(curl -s https://raw.githubusercontent.com/community-scripts/ProxmoxVE/m
 | 
				
			|||||||
# App Default Values
 | 
					# App Default Values
 | 
				
			||||||
APP="Authentik"
 | 
					APP="Authentik"
 | 
				
			||||||
var_tags="identity-provider"
 | 
					var_tags="identity-provider"
 | 
				
			||||||
var_disk="15"
 | 
					var_disk="12"
 | 
				
			||||||
var_cpu="6"
 | 
					var_cpu="6"
 | 
				
			||||||
var_ram="8192"
 | 
					var_ram="8192"
 | 
				
			||||||
var_os="debian"
 | 
					var_os="debian"
 | 
				
			||||||
 
 | 
				
			|||||||
							
								
								
									
										75
									
								
								ct/baikal.sh
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										75
									
								
								ct/baikal.sh
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,75 @@
 | 
				
			|||||||
 | 
					#!/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: bvdberg01
 | 
				
			||||||
 | 
					# License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE
 | 
				
			||||||
 | 
					# Source: https://sabre.io/baikal/
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# App Default Values
 | 
				
			||||||
 | 
					APP="Baikal"
 | 
				
			||||||
 | 
					var_tags="Dav"
 | 
				
			||||||
 | 
					var_cpu="1"
 | 
				
			||||||
 | 
					var_ram="512"
 | 
				
			||||||
 | 
					var_disk="4"
 | 
				
			||||||
 | 
					var_os="debian"
 | 
				
			||||||
 | 
					var_version="12"
 | 
				
			||||||
 | 
					var_unprivileged="1"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# App Output & Base Settings
 | 
				
			||||||
 | 
					header_info "$APP"
 | 
				
			||||||
 | 
					base_settings
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# Core
 | 
				
			||||||
 | 
					variables
 | 
				
			||||||
 | 
					color
 | 
				
			||||||
 | 
					catch_errors
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					function update_script() {
 | 
				
			||||||
 | 
					  header_info
 | 
				
			||||||
 | 
					  check_container_storage
 | 
				
			||||||
 | 
					  check_container_resources
 | 
				
			||||||
 | 
					  if [[ ! -d /opt/baikal ]]; then
 | 
				
			||||||
 | 
					    msg_error "No ${APP} Installation Found!"
 | 
				
			||||||
 | 
					    exit
 | 
				
			||||||
 | 
					  fi
 | 
				
			||||||
 | 
					  RELEASE=$(curl -s https://api.github.com/repos/sabre-io/Baikal/releases/latest | grep "tag_name" | awk '{print substr($2, 2, length($2)-3) }')
 | 
				
			||||||
 | 
					  if [[ ! -f /opt/${APP}_version.txt ]] || [[ "${RELEASE}" != "$(cat /opt/${APP}_version.txt)" ]]; then
 | 
				
			||||||
 | 
					    msg_info "Stopping Service"
 | 
				
			||||||
 | 
					    systemctl stop apache2
 | 
				
			||||||
 | 
					    msg_ok "Stopped Service"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    msg_info "Updating ${APP} to v${RELEASE}"
 | 
				
			||||||
 | 
					    cd /opt
 | 
				
			||||||
 | 
					    wget -q "https://github.com/sabre-io/baikal/releases/download/${RELEASE}/baikal-${RELEASE}.zip"
 | 
				
			||||||
 | 
					    mv /opt/baikal /opt/baikal-backup
 | 
				
			||||||
 | 
					    unzip -o -q "baikal-${RELEASE}.zip"
 | 
				
			||||||
 | 
					    cp -r /opt/baikal-backup/config/baikal.yaml /opt/baikal/config/
 | 
				
			||||||
 | 
					    cp -r /opt/baikal-backup/Specific/ /opt/baikal/
 | 
				
			||||||
 | 
					    chown -R www-data:www-data /opt/baikal/
 | 
				
			||||||
 | 
					    chmod -R 755 /opt/baikal/
 | 
				
			||||||
 | 
					    echo "${RELEASE}" >/opt/${APP}_version.txt
 | 
				
			||||||
 | 
					    msg_ok "Updated $APP to v${RELEASE}"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    msg_info "Starting Service"
 | 
				
			||||||
 | 
					    systemctl start apache2
 | 
				
			||||||
 | 
					    msg_ok "Started Service"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    msg_info "Cleaning up"
 | 
				
			||||||
 | 
					    rm -rf "/opt/baikal-${RELEASE}.zip"
 | 
				
			||||||
 | 
					    rm -rf /opt/baikal-backup
 | 
				
			||||||
 | 
					    msg_ok "Cleaned"
 | 
				
			||||||
 | 
					    msg_ok "Updated Successfully"
 | 
				
			||||||
 | 
					  else
 | 
				
			||||||
 | 
					    msg_ok "No update required. ${APP} is already at v${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}"
 | 
				
			||||||
							
								
								
									
										90
									
								
								ct/crafty-controller.sh
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										90
									
								
								ct/crafty-controller.sh
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,90 @@
 | 
				
			|||||||
 | 
					#!/usr/bin/env bash
 | 
				
			||||||
 | 
					source <(curl -s https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/misc/build.func)
 | 
				
			||||||
 | 
					# Copyright (c) 2021-2025 community-scripts
 | 
				
			||||||
 | 
					# Author: CrazyWolf13
 | 
				
			||||||
 | 
					# License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# App Default Values
 | 
				
			||||||
 | 
					APP="Crafty-Controller"
 | 
				
			||||||
 | 
					var_tags="gaming"
 | 
				
			||||||
 | 
					var_cpu="2"
 | 
				
			||||||
 | 
					var_ram="4096"
 | 
				
			||||||
 | 
					var_disk="16"
 | 
				
			||||||
 | 
					var_os="debian"
 | 
				
			||||||
 | 
					var_version="12"
 | 
				
			||||||
 | 
					var_unprivileged="1"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# App Output & Base Settings
 | 
				
			||||||
 | 
					header_info "$APP"
 | 
				
			||||||
 | 
					base_settings
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# Core
 | 
				
			||||||
 | 
					variables
 | 
				
			||||||
 | 
					color
 | 
				
			||||||
 | 
					catch_errors
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					function update_script() {
 | 
				
			||||||
 | 
					    header_info
 | 
				
			||||||
 | 
					    check_container_storage
 | 
				
			||||||
 | 
					    check_container_resources
 | 
				
			||||||
 | 
					    if [[ ! -d /opt/crafty-controller ]]; then
 | 
				
			||||||
 | 
					        msg_error "No ${APP} Installation Found!"
 | 
				
			||||||
 | 
					        exit
 | 
				
			||||||
 | 
					    fi
 | 
				
			||||||
 | 
					   
 | 
				
			||||||
 | 
					    RELEASE=$(curl -s "https://gitlab.com/api/v4/projects/20430749/releases" | grep -o '"tag_name":"v[^"]*"' | head -n 1 | sed 's/"tag_name":"v//;s/"//')
 | 
				
			||||||
 | 
					    if [[ ! -f /opt/crafty-controller_version.txt ]] || [[ "${RELEASE}" != "$(cat /opt/crafty-controller_version.txt)" ]]; then
 | 
				
			||||||
 | 
					      
 | 
				
			||||||
 | 
					      msg_info "Stopping Crafty-Controller"
 | 
				
			||||||
 | 
					      systemctl stop crafty-controller
 | 
				
			||||||
 | 
					      msg_ok "Stopped Crafty-Controller"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					      msg_info "Creating Backup of config"
 | 
				
			||||||
 | 
					      cp -a /opt/crafty-controller/crafty/crafty-4/app/config/. /opt/crafty-controller/backup
 | 
				
			||||||
 | 
					      rm /opt/crafty-controller/backup/version.json
 | 
				
			||||||
 | 
					      rm /opt/crafty-controller/backup/credits.json
 | 
				
			||||||
 | 
					      rm /opt/crafty-controller/backup/logging.json
 | 
				
			||||||
 | 
					      rm /opt/crafty-controller/backup/default.json.example
 | 
				
			||||||
 | 
					      rm /opt/crafty-controller/backup/motd_format.json
 | 
				
			||||||
 | 
					      msg_ok "Backup Created"
 | 
				
			||||||
 | 
					      
 | 
				
			||||||
 | 
					      msg_info "Updating Crafty-Controller to v${RELEASE}"
 | 
				
			||||||
 | 
					      wget -q "https://gitlab.com/crafty-controller/crafty-4/-/archive/v${RELEASE}/crafty-4-v${RELEASE}.zip"
 | 
				
			||||||
 | 
					      unzip -q crafty-4-v${RELEASE}.zip
 | 
				
			||||||
 | 
					      cp -a crafty-4-v${RELEASE}/. /opt/crafty-controller/crafty/crafty-4/
 | 
				
			||||||
 | 
					      rm -rf crafty-4-v${RELEASE}
 | 
				
			||||||
 | 
					      cd /opt/crafty-controller/crafty/crafty-4
 | 
				
			||||||
 | 
					      sudo -u crafty bash -c '
 | 
				
			||||||
 | 
					        source /opt/crafty-controller/crafty/.venv/bin/activate
 | 
				
			||||||
 | 
					        pip3 install --no-cache-dir -r requirements.txt
 | 
				
			||||||
 | 
					      ' &>/dev/null
 | 
				
			||||||
 | 
					      echo "${RELEASE}" >"/opt/crafty-controller_version.txt"
 | 
				
			||||||
 | 
					      msg_ok "Updated Crafty-Controller to v${RELEASE}"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					      msg_info "Restoring Backup of config"
 | 
				
			||||||
 | 
					      cp -a /opt/crafty-controller/backup/. /opt/crafty-controller/crafty/crafty-4/app/config
 | 
				
			||||||
 | 
					      rm -rf /opt/crafty-controller/backup
 | 
				
			||||||
 | 
					      chown -R crafty:crafty /opt/crafty-controller/
 | 
				
			||||||
 | 
					      msg_ok "Backup Restored"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					      msg_info "Starting Crafty-Controller"
 | 
				
			||||||
 | 
					      systemctl start crafty-controller
 | 
				
			||||||
 | 
					      msg_ok "Started Crafty-Controller"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					      msg_ok "Updated Successfully"
 | 
				
			||||||
 | 
					      exit
 | 
				
			||||||
 | 
					  else
 | 
				
			||||||
 | 
					    msg_ok "No update required. Crafty-Controller is already at v${RELEASE}."
 | 
				
			||||||
 | 
					  fi
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					start
 | 
				
			||||||
 | 
					build_container
 | 
				
			||||||
 | 
					description
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					msg_ok "Completed Successfully!\n"
 | 
				
			||||||
 | 
					echo -e "${CREATING}${GN}${APP} setup has been successfully initialized!${CL}"
 | 
				
			||||||
 | 
					echo -e "${INFO}${YW} Access it using the following URL:${CL}"
 | 
				
			||||||
 | 
					echo -e "${TAB}${GATEWAY}${BGN}https://${IP}:8443${CL}"
 | 
				
			||||||
@@ -43,6 +43,7 @@ function error_handler() {
 | 
				
			|||||||
  local command="$2"
 | 
					  local command="$2"
 | 
				
			||||||
  local error_message="${RD}[ERROR]${CL} in line ${RD}$line_number${CL}: exit code ${RD}$exit_code${CL}: while executing command ${YW}$command${CL}"
 | 
					  local error_message="${RD}[ERROR]${CL} in line ${RD}$line_number${CL}: exit code ${RD}$exit_code${CL}: while executing command ${YW}$command${CL}"
 | 
				
			||||||
  echo -e "\n$error_message\n"
 | 
					  echo -e "\n$error_message\n"
 | 
				
			||||||
 | 
					  exit 200
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
# This function displays a spinner.
 | 
					# This function displays a spinner.
 | 
				
			||||||
@@ -112,7 +113,7 @@ function select_storage() {
 | 
				
			|||||||
    CONTENT='vztmpl'
 | 
					    CONTENT='vztmpl'
 | 
				
			||||||
    CONTENT_LABEL='Container template'
 | 
					    CONTENT_LABEL='Container template'
 | 
				
			||||||
    ;;
 | 
					    ;;
 | 
				
			||||||
  *) false || exit "Invalid storage class." ;;
 | 
					  *) false || { msg_error "Invalid storage class."; exit 201; };
 | 
				
			||||||
  esac
 | 
					  esac
 | 
				
			||||||
  
 | 
					  
 | 
				
			||||||
  # This Queries all storage locations
 | 
					  # This Queries all storage locations
 | 
				
			||||||
@@ -138,7 +139,7 @@ function select_storage() {
 | 
				
			|||||||
      STORAGE=$(whiptail --backtitle "Proxmox VE Helper Scripts" --title "Storage Pools" --radiolist \
 | 
					      STORAGE=$(whiptail --backtitle "Proxmox VE Helper Scripts" --title "Storage Pools" --radiolist \
 | 
				
			||||||
      "Which storage pool you would like to use for the ${CONTENT_LABEL,,}?\nTo make a selection, use the Spacebar.\n" \
 | 
					      "Which storage pool you would like to use for the ${CONTENT_LABEL,,}?\nTo make a selection, use the Spacebar.\n" \
 | 
				
			||||||
      16 $(($MSG_MAX_LENGTH + 23)) 6 \
 | 
					      16 $(($MSG_MAX_LENGTH + 23)) 6 \
 | 
				
			||||||
      "${MENU[@]}" 3>&1 1>&2 2>&3) || exit "Menu aborted."
 | 
					      "${MENU[@]}" 3>&1 1>&2 2>&3) || { msg_error "Menu aborted."; exit 202; }
 | 
				
			||||||
      if [ $? -ne 0 ]; then
 | 
					      if [ $? -ne 0 ]; then
 | 
				
			||||||
        echo -e "${CROSS}${RD} Menu aborted by user.${CL}"
 | 
					        echo -e "${CROSS}${RD} Menu aborted by user.${CL}"
 | 
				
			||||||
        exit 0 
 | 
					        exit 0 
 | 
				
			||||||
@@ -148,17 +149,18 @@ function select_storage() {
 | 
				
			|||||||
  fi
 | 
					  fi
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
# Test if required variables are set
 | 
					# Test if required variables are set
 | 
				
			||||||
[[ "${CTID:-}" ]] || exit "You need to set 'CTID' variable."
 | 
					[[ "${CTID:-}" ]] || { msg_error "You need to set 'CTID' variable."; exit 203; }
 | 
				
			||||||
[[ "${PCT_OSTYPE:-}" ]] || exit "You need to set 'PCT_OSTYPE' variable."
 | 
					[[ "${PCT_OSTYPE:-}" ]] || { msg_error "You need to set 'PCT_OSTYPE' variable."; exit 204; }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
# Test if ID is valid
 | 
					# Test if ID is valid
 | 
				
			||||||
[ "$CTID" -ge "100" ] || exit "ID cannot be less than 100."
 | 
					[ "$CTID" -ge "100" ] || { msg_error "ID cannot be less than 100."; exit 205; }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
# Test if ID is in use
 | 
					# Test if ID is in use
 | 
				
			||||||
if pct status $CTID &>/dev/null; then
 | 
					if pct status $CTID &>/dev/null; then
 | 
				
			||||||
  echo -e "ID '$CTID' is already in use."
 | 
					  echo -e "ID '$CTID' is already in use."
 | 
				
			||||||
  unset CTID
 | 
					  unset CTID
 | 
				
			||||||
  exit "Cannot use ID that is already in use."
 | 
					  msg_error "Cannot use ID that is already in use."
 | 
				
			||||||
 | 
					  exit 206
 | 
				
			||||||
fi
 | 
					fi
 | 
				
			||||||
 | 
					
 | 
				
			||||||
# Get template storage
 | 
					# Get template storage
 | 
				
			||||||
@@ -177,14 +179,15 @@ msg_ok "Updated LXC Template List"
 | 
				
			|||||||
# Get LXC template string
 | 
					# Get LXC template string
 | 
				
			||||||
TEMPLATE_SEARCH=${PCT_OSTYPE}-${PCT_OSVERSION:-}
 | 
					TEMPLATE_SEARCH=${PCT_OSTYPE}-${PCT_OSVERSION:-}
 | 
				
			||||||
mapfile -t TEMPLATES < <(pveam available -section system | sed -n "s/.*\($TEMPLATE_SEARCH.*\)/\1/p" | sort -t - -k 2 -V)
 | 
					mapfile -t TEMPLATES < <(pveam available -section system | sed -n "s/.*\($TEMPLATE_SEARCH.*\)/\1/p" | sort -t - -k 2 -V)
 | 
				
			||||||
[ ${#TEMPLATES[@]} -gt 0 ] || exit "Unable to find a template when searching for '$TEMPLATE_SEARCH'."
 | 
					[ ${#TEMPLATES[@]} -gt 0 ] || { msg_error "Unable to find a template when searching for '$TEMPLATE_SEARCH'."; exit 207; }
 | 
				
			||||||
TEMPLATE="${TEMPLATES[-1]}"
 | 
					TEMPLATE="${TEMPLATES[-1]}"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
# Download LXC template if needed
 | 
					# Download LXC template if needed
 | 
				
			||||||
if ! pveam list $TEMPLATE_STORAGE | grep -q $TEMPLATE; then
 | 
					if ! pveam list $TEMPLATE_STORAGE | grep -q $TEMPLATE; then
 | 
				
			||||||
  msg_info "Downloading LXC Template"
 | 
					  msg_info "Downloading LXC Template"
 | 
				
			||||||
  pveam download $TEMPLATE_STORAGE $TEMPLATE >/dev/null ||
 | 
					  pveam download $TEMPLATE_STORAGE $TEMPLATE >/dev/null ||
 | 
				
			||||||
    exit "A problem occured while downloading the LXC template."
 | 
					    msg_error "A problem occured while downloading the LXC template."
 | 
				
			||||||
 | 
					    exit 208
 | 
				
			||||||
  msg_ok "Downloaded LXC Template"
 | 
					  msg_ok "Downloaded LXC Template"
 | 
				
			||||||
fi
 | 
					fi
 | 
				
			||||||
 | 
					
 | 
				
			||||||
@@ -197,6 +200,6 @@ PCT_OPTIONS=(${PCT_OPTIONS[@]:-${DEFAULT_PCT_OPTIONS[@]}})
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
# Create container
 | 
					# Create container
 | 
				
			||||||
msg_info "Creating LXC Container"
 | 
					msg_info "Creating LXC Container"
 | 
				
			||||||
pct create $CTID ${TEMPLATE_STORAGE}:vztmpl/${TEMPLATE} ${PCT_OPTIONS[@]} >/dev/null ||
 | 
					pct create $CTID ${TEMPLATE_STORAGE}:vztmpl/${TEMPLATE} ${PCT_OPTIONS[@]} >/dev/null || { msg_error "A problem occured while trying to create container.";  exit 200; }
 | 
				
			||||||
  exit "A problem occured while trying to create container."
 | 
					 | 
				
			||||||
msg_ok "LXC Container ${BL}$CTID${CL} ${GN}was successfully created."
 | 
					msg_ok "LXC Container ${BL}$CTID${CL} ${GN}was successfully created."
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -73,7 +73,7 @@ function update_script() {
 | 
				
			|||||||
    msg_info "Setting up Node.js Repository"
 | 
					    msg_info "Setting up Node.js Repository"
 | 
				
			||||||
    mkdir -p /etc/apt/keyrings
 | 
					    mkdir -p /etc/apt/keyrings
 | 
				
			||||||
    curl -fsSL https://deb.nodesource.com/gpgkey/nodesource-repo.gpg.key | gpg --dearmor -o /etc/apt/keyrings/nodesource.gpg
 | 
					    curl -fsSL https://deb.nodesource.com/gpgkey/nodesource-repo.gpg.key | gpg --dearmor -o /etc/apt/keyrings/nodesource.gpg
 | 
				
			||||||
    echo "deb [signed-by=/etc/apt/keyrings/nodesource.gpg] https://deb.nodesource.com/node_20.x nodistro main" >/etc/apt/sources.list.d/nodesource.list
 | 
					    echo "deb [signed-by=/etc/apt/keyrings/nodesource.gpg] https://deb.nodesource.com/node_22.x nodistro main" >/etc/apt/sources.list.d/nodesource.list
 | 
				
			||||||
    msg_ok "Set up Node.js Repository"
 | 
					    msg_ok "Set up Node.js Repository"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    msg_info "Installing Node.js"
 | 
					    msg_info "Installing Node.js"
 | 
				
			||||||
 
 | 
				
			|||||||
							
								
								
									
										49
									
								
								ct/elementsynapse.sh
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										49
									
								
								ct/elementsynapse.sh
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,49 @@
 | 
				
			|||||||
 | 
					#!/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: tremor021
 | 
				
			||||||
 | 
					# License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE
 | 
				
			||||||
 | 
					# Source: https://github.com/element-hq/synapse
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# App Default Values
 | 
				
			||||||
 | 
					APP="Element Synapse"
 | 
				
			||||||
 | 
					var_tags="server"
 | 
				
			||||||
 | 
					var_cpu="1"
 | 
				
			||||||
 | 
					var_ram="1024"
 | 
				
			||||||
 | 
					var_disk="4"
 | 
				
			||||||
 | 
					var_os="debian"
 | 
				
			||||||
 | 
					var_version="12"
 | 
				
			||||||
 | 
					var_unprivileged="1"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# App Output & Base Settings
 | 
				
			||||||
 | 
					header_info "$APP"
 | 
				
			||||||
 | 
					base_settings
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# Core 
 | 
				
			||||||
 | 
					variables
 | 
				
			||||||
 | 
					color
 | 
				
			||||||
 | 
					catch_errors
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					function update_script() {
 | 
				
			||||||
 | 
					    header_info
 | 
				
			||||||
 | 
					    check_container_storage
 | 
				
			||||||
 | 
					    check_container_resources
 | 
				
			||||||
 | 
					    if [[ ! -d /etc/matrix-synapse ]]; then 
 | 
				
			||||||
 | 
					        msg_error "No ${APP} Installation Found!"
 | 
				
			||||||
 | 
					        exit
 | 
				
			||||||
 | 
					    fi
 | 
				
			||||||
 | 
					    msg_info "Updating $APP LXC"
 | 
				
			||||||
 | 
					    apt-get update &>/dev/null
 | 
				
			||||||
 | 
					    apt-get -y upgrade &>/dev/null
 | 
				
			||||||
 | 
					    msg_ok "Updated $APP LXC"
 | 
				
			||||||
 | 
					    exit
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					start
 | 
				
			||||||
 | 
					build_container
 | 
				
			||||||
 | 
					description
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					msg_ok "Completed Successfully!\n"
 | 
				
			||||||
 | 
					echo -e "${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}:8008${CL}"
 | 
				
			||||||
@@ -5,9 +5,9 @@ source <(curl -s https://raw.githubusercontent.com/community-scripts/ProxmoxVE/m
 | 
				
			|||||||
# App Default Values
 | 
					# App Default Values
 | 
				
			||||||
APP="Grist"
 | 
					APP="Grist"
 | 
				
			||||||
var_tags="database;spreadsheet"
 | 
					var_tags="database;spreadsheet"
 | 
				
			||||||
var_cpu="1"
 | 
					var_cpu="2"
 | 
				
			||||||
var_ram="2048"
 | 
					var_ram="3072"
 | 
				
			||||||
var_disk="4"
 | 
					var_disk="6"
 | 
				
			||||||
var_os="debian"
 | 
					var_os="debian"
 | 
				
			||||||
var_version="12"
 | 
					var_version="12"
 | 
				
			||||||
var_unprivileged="1"
 | 
					var_unprivileged="1"
 | 
				
			||||||
 
 | 
				
			|||||||
							
								
								
									
										6
									
								
								ct/headers/2fauth
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										6
									
								
								ct/headers/2fauth
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,6 @@
 | 
				
			|||||||
 | 
					   ___   _________         __  __  
 | 
				
			||||||
 | 
					  |__ \ / ____/   | __  __/ /_/ /_ 
 | 
				
			||||||
 | 
					  __/ // /_  / /| |/ / / / __/ __ \
 | 
				
			||||||
 | 
					 / __// __/ / ___ / /_/ / /_/ / / /
 | 
				
			||||||
 | 
					/____/_/   /_/  |_\__,_/\__/_/ /_/ 
 | 
				
			||||||
 | 
					                                   
 | 
				
			||||||
							
								
								
									
										6
									
								
								ct/headers/actualbudget
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										6
									
								
								ct/headers/actualbudget
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,6 @@
 | 
				
			|||||||
 | 
					    ___        __              __   ____            __           __ 
 | 
				
			||||||
 | 
					   /   | _____/ /___  ______ _/ /  / __ )__  ______/ /___ ____  / /_
 | 
				
			||||||
 | 
					  / /| |/ ___/ __/ / / / __ `/ /  / __  / / / / __  / __ `/ _ \/ __/
 | 
				
			||||||
 | 
					 / ___ / /__/ /_/ /_/ / /_/ / /  / /_/ / /_/ / /_/ / /_/ /  __/ /_  
 | 
				
			||||||
 | 
					/_/  |_\___/\__/\__,_/\__,_/_/  /_____/\__,_/\__,_/\__, /\___/\__/  
 | 
				
			||||||
 | 
					                                                  /____/            
 | 
				
			||||||
							
								
								
									
										6
									
								
								ct/headers/adguard
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										6
									
								
								ct/headers/adguard
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,6 @@
 | 
				
			|||||||
 | 
					    ___       __                           __
 | 
				
			||||||
 | 
					   /   | ____/ /___ ___  ______ __________/ /
 | 
				
			||||||
 | 
					  / /| |/ __  / __ `/ / / / __ `/ ___/ __  / 
 | 
				
			||||||
 | 
					 / ___ / /_/ / /_/ / /_/ / /_/ / /  / /_/ /  
 | 
				
			||||||
 | 
					/_/  |_\__,_/\__, /\__,_/\__,_/_/   \__,_/   
 | 
				
			||||||
 | 
					            /____/                           
 | 
				
			||||||
							
								
								
									
										6
									
								
								ct/headers/adventurelog
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										6
									
								
								ct/headers/adventurelog
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,6 @@
 | 
				
			|||||||
 | 
					    ___       __                 __                  __               
 | 
				
			||||||
 | 
					   /   | ____/ /   _____  ____  / /___  __________  / /   ____  ____ _
 | 
				
			||||||
 | 
					  / /| |/ __  / | / / _ \/ __ \/ __/ / / / ___/ _ \/ /   / __ \/ __ `/
 | 
				
			||||||
 | 
					 / ___ / /_/ /| |/ /  __/ / / / /_/ /_/ / /  /  __/ /___/ /_/ / /_/ / 
 | 
				
			||||||
 | 
					/_/  |_\__,_/ |___/\___/_/ /_/\__/\__,_/_/   \___/_____/\____/\__, /  
 | 
				
			||||||
 | 
					                                                             /____/   
 | 
				
			||||||
							
								
								
									
										6
									
								
								ct/headers/agentdvr
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										6
									
								
								ct/headers/agentdvr
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,6 @@
 | 
				
			|||||||
 | 
					    ___                    __  ____ _    ______ 
 | 
				
			||||||
 | 
					   /   | ____ ____  ____  / /_/ __ \ |  / / __ \
 | 
				
			||||||
 | 
					  / /| |/ __ `/ _ \/ __ \/ __/ / / / | / / /_/ /
 | 
				
			||||||
 | 
					 / ___ / /_/ /  __/ / / / /_/ /_/ /| |/ / _, _/ 
 | 
				
			||||||
 | 
					/_/  |_\__, /\___/_/ /_/\__/_____/ |___/_/ |_|  
 | 
				
			||||||
 | 
					      /____/                                    
 | 
				
			||||||
							
								
								
									
										6
									
								
								ct/headers/alpine
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										6
									
								
								ct/headers/alpine
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,6 @@
 | 
				
			|||||||
 | 
					    ___    __      _          
 | 
				
			||||||
 | 
					   /   |  / /___  (_)___  ___ 
 | 
				
			||||||
 | 
					  / /| | / / __ \/ / __ \/ _ \
 | 
				
			||||||
 | 
					 / ___ |/ / /_/ / / / / /  __/
 | 
				
			||||||
 | 
					/_/  |_/_/ .___/_/_/ /_/\___/ 
 | 
				
			||||||
 | 
					        /_/                   
 | 
				
			||||||
							
								
								
									
										6
									
								
								ct/headers/alpine-docker
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										6
									
								
								ct/headers/alpine-docker
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,6 @@
 | 
				
			|||||||
 | 
					    ___    __      _                  ____             __            
 | 
				
			||||||
 | 
					   /   |  / /___  (_)___  ___        / __ \____  _____/ /_____  _____
 | 
				
			||||||
 | 
					  / /| | / / __ \/ / __ \/ _ \______/ / / / __ \/ ___/ //_/ _ \/ ___/
 | 
				
			||||||
 | 
					 / ___ |/ / /_/ / / / / /  __/_____/ /_/ / /_/ / /__/ ,< /  __/ /    
 | 
				
			||||||
 | 
					/_/  |_/_/ .___/_/_/ /_/\___/     /_____/\____/\___/_/|_|\___/_/     
 | 
				
			||||||
 | 
					        /_/                                                          
 | 
				
			||||||
							
								
								
									
										6
									
								
								ct/headers/alpine-grafana
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										6
									
								
								ct/headers/alpine-grafana
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,6 @@
 | 
				
			|||||||
 | 
					    ___    __      _                  ______           ____                 
 | 
				
			||||||
 | 
					   /   |  / /___  (_)___  ___        / ____/________ _/ __/___ _____  ____ _
 | 
				
			||||||
 | 
					  / /| | / / __ \/ / __ \/ _ \______/ / __/ ___/ __ `/ /_/ __ `/ __ \/ __ `/
 | 
				
			||||||
 | 
					 / ___ |/ / /_/ / / / / /  __/_____/ /_/ / /  / /_/ / __/ /_/ / / / / /_/ / 
 | 
				
			||||||
 | 
					/_/  |_/_/ .___/_/_/ /_/\___/      \____/_/   \__,_/_/  \__,_/_/ /_/\__,_/  
 | 
				
			||||||
 | 
					        /_/                                                                 
 | 
				
			||||||
							
								
								
									
										6
									
								
								ct/headers/alpine-it-tools
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										6
									
								
								ct/headers/alpine-it-tools
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,6 @@
 | 
				
			|||||||
 | 
					    ___    __      _                  __________  ______            __    
 | 
				
			||||||
 | 
					   /   |  / /___  (_)___  ___        /  _/_  __/ /_  __/___  ____  / /____
 | 
				
			||||||
 | 
					  / /| | / / __ \/ / __ \/ _ \______ / /  / /_____/ / / __ \/ __ \/ / ___/
 | 
				
			||||||
 | 
					 / ___ |/ / /_/ / / / / /  __/_____// /  / /_____/ / / /_/ / /_/ / (__  ) 
 | 
				
			||||||
 | 
					/_/  |_/_/ .___/_/_/ /_/\___/     /___/ /_/     /_/  \____/\____/_/____/  
 | 
				
			||||||
 | 
					        /_/                                                               
 | 
				
			||||||
							
								
								
									
										6
									
								
								ct/headers/alpine-nextcloud
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										6
									
								
								ct/headers/alpine-nextcloud
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,6 @@
 | 
				
			|||||||
 | 
					    ___    __      _                  _   __          __       __                __
 | 
				
			||||||
 | 
					   /   |  / /___  (_)___  ___        / | / /__  _  __/ /______/ /___  __  ______/ /
 | 
				
			||||||
 | 
					  / /| | / / __ \/ / __ \/ _ \______/  |/ / _ \| |/_/ __/ ___/ / __ \/ / / / __  / 
 | 
				
			||||||
 | 
					 / ___ |/ / /_/ / / / / /  __/_____/ /|  /  __/>  </ /_/ /__/ / /_/ / /_/ / /_/ /  
 | 
				
			||||||
 | 
					/_/  |_/_/ .___/_/_/ /_/\___/     /_/ |_/\___/_/|_|\__/\___/_/\____/\__,_/\__,_/   
 | 
				
			||||||
 | 
					        /_/                                                                        
 | 
				
			||||||
							
								
								
									
										6
									
								
								ct/headers/alpine-vaultwarden
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										6
									
								
								ct/headers/alpine-vaultwarden
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,6 @@
 | 
				
			|||||||
 | 
					    ___    __      _                _    __            ____                          __         
 | 
				
			||||||
 | 
					   /   |  / /___  (_)___  ___      | |  / /___ ___  __/ / /__      ______ __________/ /__  ____ 
 | 
				
			||||||
 | 
					  / /| | / / __ \/ / __ \/ _ \_____| | / / __ `/ / / / / __/ | /| / / __ `/ ___/ __  / _ \/ __ \
 | 
				
			||||||
 | 
					 / ___ |/ / /_/ / / / / /  __/_____/ |/ / /_/ / /_/ / / /_ | |/ |/ / /_/ / /  / /_/ /  __/ / / /
 | 
				
			||||||
 | 
					/_/  |_/_/ .___/_/_/ /_/\___/      |___/\__,_/\__,_/_/\__/ |__/|__/\__,_/_/   \__,_/\___/_/ /_/ 
 | 
				
			||||||
 | 
					        /_/                                                                                     
 | 
				
			||||||
							
								
								
									
										6
									
								
								ct/headers/alpine-zigbee2mqtt
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										6
									
								
								ct/headers/alpine-zigbee2mqtt
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,6 @@
 | 
				
			|||||||
 | 
					    ___    __      _               _____   _       __             ___   __  _______  ____________
 | 
				
			||||||
 | 
					   /   |  / /___  (_)___  ___     /__  /  (_)___ _/ /_  ___  ___ |__ \ /  |/  / __ \/_  __/_  __/
 | 
				
			||||||
 | 
					  / /| | / / __ \/ / __ \/ _ \______/ /  / / __ `/ __ \/ _ \/ _ \__/ // /|_/ / / / / / /   / /   
 | 
				
			||||||
 | 
					 / ___ |/ / /_/ / / / / /  __/_____/ /__/ / /_/ / /_/ /  __/  __/ __// /  / / /_/ / / /   / /    
 | 
				
			||||||
 | 
					/_/  |_/_/ .___/_/_/ /_/\___/     /____/_/\__, /_.___/\___/\___/____/_/  /_/\___\_\/_/   /_/     
 | 
				
			||||||
 | 
					        /_/                              /____/                                                  
 | 
				
			||||||
							
								
								
									
										6
									
								
								ct/headers/apache-cassandra
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										6
									
								
								ct/headers/apache-cassandra
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,6 @@
 | 
				
			|||||||
 | 
					    ___                     __               ______                                __          
 | 
				
			||||||
 | 
					   /   |  ____  ____ ______/ /_  ___        / ____/___ _______________ _____  ____/ /________ _
 | 
				
			||||||
 | 
					  / /| | / __ \/ __ `/ ___/ __ \/ _ \______/ /   / __ `/ ___/ ___/ __ `/ __ \/ __  / ___/ __ `/
 | 
				
			||||||
 | 
					 / ___ |/ /_/ / /_/ / /__/ / / /  __/_____/ /___/ /_/ (__  |__  ) /_/ / / / / /_/ / /  / /_/ / 
 | 
				
			||||||
 | 
					/_/  |_/ .___/\__,_/\___/_/ /_/\___/      \____/\__,_/____/____/\__,_/_/ /_/\__,_/_/   \__,_/  
 | 
				
			||||||
 | 
					      /_/                                                                                      
 | 
				
			||||||
							
								
								
									
										6
									
								
								ct/headers/apache-couchdb
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										6
									
								
								ct/headers/apache-couchdb
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,6 @@
 | 
				
			|||||||
 | 
					    ___                     __               ______                 __    ____  ____ 
 | 
				
			||||||
 | 
					   /   |  ____  ____ ______/ /_  ___        / ____/___  __  _______/ /_  / __ \/ __ )
 | 
				
			||||||
 | 
					  / /| | / __ \/ __ `/ ___/ __ \/ _ \______/ /   / __ \/ / / / ___/ __ \/ / / / __  |
 | 
				
			||||||
 | 
					 / ___ |/ /_/ / /_/ / /__/ / / /  __/_____/ /___/ /_/ / /_/ / /__/ / / / /_/ / /_/ / 
 | 
				
			||||||
 | 
					/_/  |_/ .___/\__,_/\___/_/ /_/\___/      \____/\____/\__,_/\___/_/ /_/_____/_____/  
 | 
				
			||||||
 | 
					      /_/                                                                            
 | 
				
			||||||
							
								
								
									
										6
									
								
								ct/headers/apache-guacamole
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										6
									
								
								ct/headers/apache-guacamole
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,6 @@
 | 
				
			|||||||
 | 
					    ___                     __               ______                                       __   
 | 
				
			||||||
 | 
					   /   |  ____  ____ ______/ /_  ___        / ____/_  ______ __________ _____ ___  ____  / /__ 
 | 
				
			||||||
 | 
					  / /| | / __ \/ __ `/ ___/ __ \/ _ \______/ / __/ / / / __ `/ ___/ __ `/ __ `__ \/ __ \/ / _ \
 | 
				
			||||||
 | 
					 / ___ |/ /_/ / /_/ / /__/ / / /  __/_____/ /_/ / /_/ / /_/ / /__/ /_/ / / / / / / /_/ / /  __/
 | 
				
			||||||
 | 
					/_/  |_/ .___/\__,_/\___/_/ /_/\___/      \____/\__,_/\__,_/\___/\__,_/_/ /_/ /_/\____/_/\___/ 
 | 
				
			||||||
 | 
					      /_/                                                                                      
 | 
				
			||||||
							
								
								
									
										6
									
								
								ct/headers/apt-cacher-ng
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										6
									
								
								ct/headers/apt-cacher-ng
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,6 @@
 | 
				
			|||||||
 | 
					    ___          __        ______           __                    _   ________
 | 
				
			||||||
 | 
					   /   |  ____  / /_      / ____/___ ______/ /_  ___  _____      / | / / ____/
 | 
				
			||||||
 | 
					  / /| | / __ \/ __/_____/ /   / __ `/ ___/ __ \/ _ \/ ___/_____/  |/ / / __  
 | 
				
			||||||
 | 
					 / ___ |/ /_/ / /_/_____/ /___/ /_/ / /__/ / / /  __/ /  /_____/ /|  / /_/ /  
 | 
				
			||||||
 | 
					/_/  |_/ .___/\__/      \____/\__,_/\___/_/ /_/\___/_/        /_/ |_/\____/   
 | 
				
			||||||
 | 
					      /_/                                                                     
 | 
				
			||||||
							
								
								
									
										6
									
								
								ct/headers/archivebox
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										6
									
								
								ct/headers/archivebox
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,6 @@
 | 
				
			|||||||
 | 
					    ___              __    _            ____            
 | 
				
			||||||
 | 
					   /   |  __________/ /_  (_)   _____  / __ )____  _  __
 | 
				
			||||||
 | 
					  / /| | / ___/ ___/ __ \/ / | / / _ \/ __  / __ \| |/_/
 | 
				
			||||||
 | 
					 / ___ |/ /  / /__/ / / / /| |/ /  __/ /_/ / /_/ />  <  
 | 
				
			||||||
 | 
					/_/  |_/_/   \___/_/ /_/_/ |___/\___/_____/\____/_/|_|  
 | 
				
			||||||
 | 
					                                                        
 | 
				
			||||||
							
								
								
									
										6
									
								
								ct/headers/aria2
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										6
									
								
								ct/headers/aria2
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,6 @@
 | 
				
			|||||||
 | 
					    ___         _      ___ 
 | 
				
			||||||
 | 
					   /   |  _____(_)___ |__ \
 | 
				
			||||||
 | 
					  / /| | / ___/ / __ `/_/ /
 | 
				
			||||||
 | 
					 / ___ |/ /  / / /_/ / __/ 
 | 
				
			||||||
 | 
					/_/  |_/_/  /_/\__,_/____/ 
 | 
				
			||||||
 | 
					                           
 | 
				
			||||||
							
								
								
									
										6
									
								
								ct/headers/audiobookshelf
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										6
									
								
								ct/headers/audiobookshelf
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,6 @@
 | 
				
			|||||||
 | 
					                   ___       __                __        __         ______
 | 
				
			||||||
 | 
					  ____ ___  ______/ (_)___  / /_  ____  ____  / /_______/ /_  ___  / / __/
 | 
				
			||||||
 | 
					 / __ `/ / / / __  / / __ \/ __ \/ __ \/ __ \/ //_/ ___/ __ \/ _ \/ / /_  
 | 
				
			||||||
 | 
					/ /_/ / /_/ / /_/ / / /_/ / /_/ / /_/ / /_/ / ,< (__  ) / / /  __/ / __/  
 | 
				
			||||||
 | 
					\__,_/\__,_/\__,_/_/\____/_.___/\____/\____/_/|_/____/_/ /_/\___/_/_/     
 | 
				
			||||||
 | 
					                                                                          
 | 
				
			||||||
							
								
								
									
										6
									
								
								ct/headers/authentik
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										6
									
								
								ct/headers/authentik
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,6 @@
 | 
				
			|||||||
 | 
					    ___         __  __               __  _ __  
 | 
				
			||||||
 | 
					   /   | __  __/ /_/ /_  ___  ____  / /_(_) /__
 | 
				
			||||||
 | 
					  / /| |/ / / / __/ __ \/ _ \/ __ \/ __/ / //_/
 | 
				
			||||||
 | 
					 / ___ / /_/ / /_/ / / /  __/ / / / /_/ / ,<   
 | 
				
			||||||
 | 
					/_/  |_\__,_/\__/_/ /_/\___/_/ /_/\__/_/_/|_|  
 | 
				
			||||||
 | 
					                                               
 | 
				
			||||||
							
								
								
									
										6
									
								
								ct/headers/autobrr
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										6
									
								
								ct/headers/autobrr
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,6 @@
 | 
				
			|||||||
 | 
					    ___         __        __             
 | 
				
			||||||
 | 
					   /   | __  __/ /_____  / /_  __________
 | 
				
			||||||
 | 
					  / /| |/ / / / __/ __ \/ __ \/ ___/ ___/
 | 
				
			||||||
 | 
					 / ___ / /_/ / /_/ /_/ / /_/ / /  / /    
 | 
				
			||||||
 | 
					/_/  |_\__,_/\__/\____/_.___/_/  /_/     
 | 
				
			||||||
 | 
					                                         
 | 
				
			||||||
							
								
								
									
										6
									
								
								ct/headers/baikal
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										6
									
								
								ct/headers/baikal
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,6 @@
 | 
				
			|||||||
 | 
					    ____        _ __         __
 | 
				
			||||||
 | 
					   / __ )____ _(_) /______ _/ /
 | 
				
			||||||
 | 
					  / __  / __ `/ / //_/ __ `/ / 
 | 
				
			||||||
 | 
					 / /_/ / /_/ / / ,< / /_/ / /  
 | 
				
			||||||
 | 
					/_____/\__,_/_/_/|_|\__,_/_/   
 | 
				
			||||||
 | 
					                               
 | 
				
			||||||
							
								
								
									
										6
									
								
								ct/headers/bazarr
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										6
									
								
								ct/headers/bazarr
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,6 @@
 | 
				
			|||||||
 | 
					    ____                             
 | 
				
			||||||
 | 
					   / __ )____ _____  ____ ___________
 | 
				
			||||||
 | 
					  / __  / __ `/_  / / __ `/ ___/ ___/
 | 
				
			||||||
 | 
					 / /_/ / /_/ / / /_/ /_/ / /  / /    
 | 
				
			||||||
 | 
					/_____/\__,_/ /___/\__,_/_/  /_/     
 | 
				
			||||||
 | 
					                                     
 | 
				
			||||||
							
								
								
									
										6
									
								
								ct/headers/beszel
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										6
									
								
								ct/headers/beszel
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,6 @@
 | 
				
			|||||||
 | 
					    ____                       __
 | 
				
			||||||
 | 
					   / __ )___  _________  ___  / /
 | 
				
			||||||
 | 
					  / __  / _ \/ ___/_  / / _ \/ / 
 | 
				
			||||||
 | 
					 / /_/ /  __(__  ) / /_/  __/ /  
 | 
				
			||||||
 | 
					/_____/\___/____/ /___/\___/_/   
 | 
				
			||||||
 | 
					                                 
 | 
				
			||||||
							
								
								
									
										6
									
								
								ct/headers/blocky
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										6
									
								
								ct/headers/blocky
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,6 @@
 | 
				
			|||||||
 | 
					    ____  __           __        
 | 
				
			||||||
 | 
					   / __ )/ /___  _____/ /____  __
 | 
				
			||||||
 | 
					  / __  / / __ \/ ___/ //_/ / / /
 | 
				
			||||||
 | 
					 / /_/ / / /_/ / /__/ ,< / /_/ / 
 | 
				
			||||||
 | 
					/_____/_/\____/\___/_/|_|\__, /  
 | 
				
			||||||
 | 
					                        /____/   
 | 
				
			||||||
							
								
								
									
										6
									
								
								ct/headers/bookstack
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										6
									
								
								ct/headers/bookstack
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,6 @@
 | 
				
			|||||||
 | 
					    ____              __        __             __  
 | 
				
			||||||
 | 
					   / __ )____  ____  / /_______/ /_____ ______/ /__
 | 
				
			||||||
 | 
					  / __  / __ \/ __ \/ //_/ ___/ __/ __ `/ ___/ //_/
 | 
				
			||||||
 | 
					 / /_/ / /_/ / /_/ / ,< (__  ) /_/ /_/ / /__/ ,<   
 | 
				
			||||||
 | 
					/_____/\____/\____/_/|_/____/\__/\__,_/\___/_/|_|  
 | 
				
			||||||
 | 
					                                                   
 | 
				
			||||||
							
								
								
									
										6
									
								
								ct/headers/bunkerweb
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										6
									
								
								ct/headers/bunkerweb
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,6 @@
 | 
				
			|||||||
 | 
					    ____              __            _       __     __  
 | 
				
			||||||
 | 
					   / __ )__  ______  / /_____  ____| |     / /__  / /_ 
 | 
				
			||||||
 | 
					  / __  / / / / __ \/ //_/ _ \/ ___/ | /| / / _ \/ __ \
 | 
				
			||||||
 | 
					 / /_/ / /_/ / / / / ,< /  __/ /   | |/ |/ /  __/ /_/ /
 | 
				
			||||||
 | 
					/_____/\__,_/_/ /_/_/|_|\___/_/    |__/|__/\___/_.___/ 
 | 
				
			||||||
 | 
					                                                       
 | 
				
			||||||
							
								
								
									
										6
									
								
								ct/headers/caddy
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										6
									
								
								ct/headers/caddy
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,6 @@
 | 
				
			|||||||
 | 
					   ______          __    __     
 | 
				
			||||||
 | 
					  / ____/___ _____/ /___/ /_  __
 | 
				
			||||||
 | 
					 / /   / __ `/ __  / __  / / / /
 | 
				
			||||||
 | 
					/ /___/ /_/ / /_/ / /_/ / /_/ / 
 | 
				
			||||||
 | 
					\____/\__,_/\__,_/\__,_/\__, /  
 | 
				
			||||||
 | 
					                       /____/   
 | 
				
			||||||
							
								
								
									
										6
									
								
								ct/headers/calibre-web
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										6
									
								
								ct/headers/calibre-web
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,6 @@
 | 
				
			|||||||
 | 
					   ______      ___ __                  _       __     __  
 | 
				
			||||||
 | 
					  / ____/___ _/ (_) /_  ________      | |     / /__  / /_ 
 | 
				
			||||||
 | 
					 / /   / __ `/ / / __ \/ ___/ _ \_____| | /| / / _ \/ __ \
 | 
				
			||||||
 | 
					/ /___/ /_/ / / / /_/ / /  /  __/_____/ |/ |/ /  __/ /_/ /
 | 
				
			||||||
 | 
					\____/\__,_/_/_/_.___/_/   \___/      |__/|__/\___/_.___/ 
 | 
				
			||||||
 | 
					                                                          
 | 
				
			||||||
							
								
								
									
										6
									
								
								ct/headers/casaos
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										6
									
								
								ct/headers/casaos
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,6 @@
 | 
				
			|||||||
 | 
					   ______                 ____  _____
 | 
				
			||||||
 | 
					  / ____/___ __________ _/ __ \/ ___/
 | 
				
			||||||
 | 
					 / /   / __ `/ ___/ __ `/ / / /\__ \ 
 | 
				
			||||||
 | 
					/ /___/ /_/ (__  ) /_/ / /_/ /___/ / 
 | 
				
			||||||
 | 
					\____/\__,_/____/\__,_/\____//____/  
 | 
				
			||||||
 | 
					                                     
 | 
				
			||||||
							
								
								
									
										6
									
								
								ct/headers/changedetection
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										6
									
								
								ct/headers/changedetection
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,6 @@
 | 
				
			|||||||
 | 
					   ________                              ____       __            __  _           
 | 
				
			||||||
 | 
					  / ____/ /_  ____ _____  ____ ____     / __ \___  / /____  _____/ /_(_)___  ____ 
 | 
				
			||||||
 | 
					 / /   / __ \/ __ `/ __ \/ __ `/ _ \   / / / / _ \/ __/ _ \/ ___/ __/ / __ \/ __ \
 | 
				
			||||||
 | 
					/ /___/ / / / /_/ / / / / /_/ /  __/  / /_/ /  __/ /_/  __/ /__/ /_/ / /_/ / / / /
 | 
				
			||||||
 | 
					\____/_/ /_/\__,_/_/ /_/\__, /\___/  /_____/\___/\__/\___/\___/\__/_/\____/_/ /_/ 
 | 
				
			||||||
 | 
					                       /____/                                                     
 | 
				
			||||||
							
								
								
									
										6
									
								
								ct/headers/channels
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										6
									
								
								ct/headers/channels
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,6 @@
 | 
				
			|||||||
 | 
					   ________                           __    
 | 
				
			||||||
 | 
					  / ____/ /_  ____ _____  ____  ___  / /____
 | 
				
			||||||
 | 
					 / /   / __ \/ __ `/ __ \/ __ \/ _ \/ / ___/
 | 
				
			||||||
 | 
					/ /___/ / / / /_/ / / / / / / /  __/ (__  ) 
 | 
				
			||||||
 | 
					\____/_/ /_/\__,_/_/ /_/_/ /_/\___/_/____/  
 | 
				
			||||||
 | 
					                                            
 | 
				
			||||||
							
								
								
									
										6
									
								
								ct/headers/checkmk
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										6
									
								
								ct/headers/checkmk
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,6 @@
 | 
				
			|||||||
 | 
					        __              __             __  
 | 
				
			||||||
 | 
					  _____/ /_  ___  _____/ /______ ___  / /__
 | 
				
			||||||
 | 
					 / ___/ __ \/ _ \/ ___/ //_/ __ `__ \/ //_/
 | 
				
			||||||
 | 
					/ /__/ / / /  __/ /__/ ,< / / / / / / ,<   
 | 
				
			||||||
 | 
					\___/_/ /_/\___/\___/_/|_/_/ /_/ /_/_/|_|  
 | 
				
			||||||
 | 
					                                           
 | 
				
			||||||
							
								
								
									
										6
									
								
								ct/headers/cloudflared
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										6
									
								
								ct/headers/cloudflared
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,6 @@
 | 
				
			|||||||
 | 
					   ________                ________                    __
 | 
				
			||||||
 | 
					  / ____/ /___  __  ______/ / __/ /___ _________  ____/ /
 | 
				
			||||||
 | 
					 / /   / / __ \/ / / / __  / /_/ / __ `/ ___/ _ \/ __  / 
 | 
				
			||||||
 | 
					/ /___/ / /_/ / /_/ / /_/ / __/ / /_/ / /  /  __/ /_/ /  
 | 
				
			||||||
 | 
					\____/_/\____/\__,_/\__,_/_/ /_/\__,_/_/   \___/\__,_/   
 | 
				
			||||||
 | 
					                                                         
 | 
				
			||||||
							
								
								
									
										6
									
								
								ct/headers/cockpit
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										6
									
								
								ct/headers/cockpit
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,6 @@
 | 
				
			|||||||
 | 
					   ______           __         _ __ 
 | 
				
			||||||
 | 
					  / ____/___  _____/ /______  (_) /_
 | 
				
			||||||
 | 
					 / /   / __ \/ ___/ //_/ __ \/ / __/
 | 
				
			||||||
 | 
					/ /___/ /_/ / /__/ ,< / /_/ / / /_  
 | 
				
			||||||
 | 
					\____/\____/\___/_/|_/ .___/_/\__/  
 | 
				
			||||||
 | 
					                    /_/             
 | 
				
			||||||
							
								
								
									
										6
									
								
								ct/headers/commafeed
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										6
									
								
								ct/headers/commafeed
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,6 @@
 | 
				
			|||||||
 | 
					   ______                                ______              __
 | 
				
			||||||
 | 
					  / ____/___  ____ ___  ____ ___  ____ _/ ____/__  ___  ____/ /
 | 
				
			||||||
 | 
					 / /   / __ \/ __ `__ \/ __ `__ \/ __ `/ /_  / _ \/ _ \/ __  / 
 | 
				
			||||||
 | 
					/ /___/ /_/ / / / / / / / / / / / /_/ / __/ /  __/  __/ /_/ /  
 | 
				
			||||||
 | 
					\____/\____/_/ /_/ /_/_/ /_/ /_/\__,_/_/    \___/\___/\__,_/   
 | 
				
			||||||
 | 
					                                                               
 | 
				
			||||||
							
								
								
									
										6
									
								
								ct/headers/crafty-controller
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										6
									
								
								ct/headers/crafty-controller
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,6 @@
 | 
				
			|||||||
 | 
					   ______           ______              ______            __             ____         
 | 
				
			||||||
 | 
					  / ____/________ _/ __/ /___  __      / ____/___  ____  / /__________  / / /__  _____
 | 
				
			||||||
 | 
					 / /   / ___/ __ `/ /_/ __/ / / /_____/ /   / __ \/ __ \/ __/ ___/ __ \/ / / _ \/ ___/
 | 
				
			||||||
 | 
					/ /___/ /  / /_/ / __/ /_/ /_/ /_____/ /___/ /_/ / / / / /_/ /  / /_/ / / /  __/ /    
 | 
				
			||||||
 | 
					\____/_/   \__,_/_/  \__/\__, /      \____/\____/_/ /_/\__/_/   \____/_/_/\___/_/     
 | 
				
			||||||
 | 
					                        /____/                                                        
 | 
				
			||||||
							
								
								
									
										6
									
								
								ct/headers/cronicle
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										6
									
								
								ct/headers/cronicle
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,6 @@
 | 
				
			|||||||
 | 
					   ______                 _      __   
 | 
				
			||||||
 | 
					  / ____/________  ____  (_)____/ /__ 
 | 
				
			||||||
 | 
					 / /   / ___/ __ \/ __ \/ / ___/ / _ \
 | 
				
			||||||
 | 
					/ /___/ /  / /_/ / / / / / /__/ /  __/
 | 
				
			||||||
 | 
					\____/_/   \____/_/ /_/_/\___/_/\___/ 
 | 
				
			||||||
 | 
					                                      
 | 
				
			||||||
							
								
								
									
										6
									
								
								ct/headers/daemonsync
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										6
									
								
								ct/headers/daemonsync
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,6 @@
 | 
				
			|||||||
 | 
					    ____                                      _____                 
 | 
				
			||||||
 | 
					   / __ \____ ____  ____ ___  ____  ____     / ___/__  ______  _____
 | 
				
			||||||
 | 
					  / / / / __ `/ _ \/ __ `__ \/ __ \/ __ \    \__ \/ / / / __ \/ ___/
 | 
				
			||||||
 | 
					 / /_/ / /_/ /  __/ / / / / / /_/ / / / /   ___/ / /_/ / / / / /__  
 | 
				
			||||||
 | 
					/_____/\__,_/\___/_/ /_/ /_/\____/_/ /_/   /____/\__, /_/ /_/\___/  
 | 
				
			||||||
 | 
					                                                /____/              
 | 
				
			||||||
							
								
								
									
										6
									
								
								ct/headers/dashy
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										6
									
								
								ct/headers/dashy
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,6 @@
 | 
				
			|||||||
 | 
					    ____             __         
 | 
				
			||||||
 | 
					   / __ \____ ______/ /_  __  __
 | 
				
			||||||
 | 
					  / / / / __ `/ ___/ __ \/ / / /
 | 
				
			||||||
 | 
					 / /_/ / /_/ (__  ) / / / /_/ / 
 | 
				
			||||||
 | 
					/_____/\__,_/____/_/ /_/\__, /  
 | 
				
			||||||
 | 
					                       /____/   
 | 
				
			||||||
							
								
								
									
										6
									
								
								ct/headers/debian
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										6
									
								
								ct/headers/debian
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,6 @@
 | 
				
			|||||||
 | 
					    ____       __    _           
 | 
				
			||||||
 | 
					   / __ \___  / /_  (_)___ _____ 
 | 
				
			||||||
 | 
					  / / / / _ \/ __ \/ / __ `/ __ \
 | 
				
			||||||
 | 
					 / /_/ /  __/ /_/ / / /_/ / / / /
 | 
				
			||||||
 | 
					/_____/\___/_.___/_/\__,_/_/ /_/ 
 | 
				
			||||||
 | 
					                                 
 | 
				
			||||||
							
								
								
									
										6
									
								
								ct/headers/deconz
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										6
									
								
								ct/headers/deconz
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,6 @@
 | 
				
			|||||||
 | 
					       __     __________  _   _______
 | 
				
			||||||
 | 
					  ____/ /__  / ____/ __ \/ | / /__  /
 | 
				
			||||||
 | 
					 / __  / _ \/ /   / / / /  |/ /  / / 
 | 
				
			||||||
 | 
					/ /_/ /  __/ /___/ /_/ / /|  /  / /__
 | 
				
			||||||
 | 
					\__,_/\___/\____/\____/_/ |_/  /____/
 | 
				
			||||||
 | 
					                                     
 | 
				
			||||||
							
								
								
									
										6
									
								
								ct/headers/deluge
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										6
									
								
								ct/headers/deluge
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,6 @@
 | 
				
			|||||||
 | 
					    ____       __               
 | 
				
			||||||
 | 
					   / __ \___  / /_  ______ ____ 
 | 
				
			||||||
 | 
					  / / / / _ \/ / / / / __ `/ _ \
 | 
				
			||||||
 | 
					 / /_/ /  __/ / /_/ / /_/ /  __/
 | 
				
			||||||
 | 
					/_____/\___/_/\__,_/\__, /\___/ 
 | 
				
			||||||
 | 
					                   /____/       
 | 
				
			||||||
							
								
								
									
										6
									
								
								ct/headers/docker
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										6
									
								
								ct/headers/docker
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,6 @@
 | 
				
			|||||||
 | 
					    ____             __            
 | 
				
			||||||
 | 
					   / __ \____  _____/ /_____  _____
 | 
				
			||||||
 | 
					  / / / / __ \/ ___/ //_/ _ \/ ___/
 | 
				
			||||||
 | 
					 / /_/ / /_/ / /__/ ,< /  __/ /    
 | 
				
			||||||
 | 
					/_____/\____/\___/_/|_|\___/_/     
 | 
				
			||||||
 | 
					                                   
 | 
				
			||||||
							
								
								
									
										6
									
								
								ct/headers/dockge
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										6
									
								
								ct/headers/dockge
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,6 @@
 | 
				
			|||||||
 | 
					    ____             __            
 | 
				
			||||||
 | 
					   / __ \____  _____/ /______ ____ 
 | 
				
			||||||
 | 
					  / / / / __ \/ ___/ //_/ __ `/ _ \
 | 
				
			||||||
 | 
					 / /_/ / /_/ / /__/ ,< / /_/ /  __/
 | 
				
			||||||
 | 
					/_____/\____/\___/_/|_|\__, /\___/ 
 | 
				
			||||||
 | 
					                      /____/       
 | 
				
			||||||
							
								
								
									
										6
									
								
								ct/headers/dotnetaspwebapi
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										6
									
								
								ct/headers/dotnetaspwebapi
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,6 @@
 | 
				
			|||||||
 | 
					    ____        __             __     ___   _____ ____     _       __     __       ___    ____  ____
 | 
				
			||||||
 | 
					   / __ \____  / /_____  ___  / /_   /   | / ___// __ \   | |     / /__  / /_     /   |  / __ \/  _/
 | 
				
			||||||
 | 
					  / / / / __ \/ __/ __ \/ _ \/ __/  / /| | \__ \/ /_/ /   | | /| / / _ \/ __ \   / /| | / /_/ // /  
 | 
				
			||||||
 | 
					 / /_/ / /_/ / /_/ / / /  __/ /_   / ___ |___/ / ____/    | |/ |/ /  __/ /_/ /  / ___ |/ ____// /   
 | 
				
			||||||
 | 
					/_____/\____/\__/_/ /_/\___/\__/  /_/  |_/____/_/         |__/|__/\___/_.___/  /_/  |_/_/   /___/   
 | 
				
			||||||
 | 
					                                                                                                    
 | 
				
			||||||
							
								
								
									
										6
									
								
								ct/headers/elementsynapse
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										6
									
								
								ct/headers/elementsynapse
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,6 @@
 | 
				
			|||||||
 | 
					    ________                          __     _____                                 
 | 
				
			||||||
 | 
					   / ____/ /__  ____ ___  ___  ____  / /_   / ___/__  ______  ____ _____  ________ 
 | 
				
			||||||
 | 
					  / __/ / / _ \/ __ `__ \/ _ \/ __ \/ __/   \__ \/ / / / __ \/ __ `/ __ \/ ___/ _ \
 | 
				
			||||||
 | 
					 / /___/ /  __/ / / / / /  __/ / / / /_    ___/ / /_/ / / / / /_/ / /_/ (__  )  __/
 | 
				
			||||||
 | 
					/_____/_/\___/_/ /_/ /_/\___/_/ /_/\__/   /____/\__, /_/ /_/\__,_/ .___/____/\___/ 
 | 
				
			||||||
 | 
					                                               /____/           /_/                
 | 
				
			||||||
							
								
								
									
										6
									
								
								ct/headers/emby
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										6
									
								
								ct/headers/emby
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,6 @@
 | 
				
			|||||||
 | 
					    ______          __         
 | 
				
			||||||
 | 
					   / ____/___ ___  / /_  __  __
 | 
				
			||||||
 | 
					  / __/ / __ `__ \/ __ \/ / / /
 | 
				
			||||||
 | 
					 / /___/ / / / / / /_/ / /_/ / 
 | 
				
			||||||
 | 
					/_____/_/ /_/ /_/_.___/\__, /  
 | 
				
			||||||
 | 
					                      /____/   
 | 
				
			||||||
							
								
								
									
										6
									
								
								ct/headers/emqx
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										6
									
								
								ct/headers/emqx
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,6 @@
 | 
				
			|||||||
 | 
					    ________  _______   _  __
 | 
				
			||||||
 | 
					   / ____/  |/  / __ \ | |/ /
 | 
				
			||||||
 | 
					  / __/ / /|_/ / / / / |   / 
 | 
				
			||||||
 | 
					 / /___/ /  / / /_/ / /   |  
 | 
				
			||||||
 | 
					/_____/_/  /_/\___\_\/_/|_|  
 | 
				
			||||||
 | 
					                             
 | 
				
			||||||
							
								
								
									
										6
									
								
								ct/headers/ersatztv
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										6
									
								
								ct/headers/ersatztv
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,6 @@
 | 
				
			|||||||
 | 
					    ______                __      _______    __
 | 
				
			||||||
 | 
					   / ____/_____________ _/ /_____/_  __/ |  / /
 | 
				
			||||||
 | 
					  / __/ / ___/ ___/ __ `/ __/_  / / /  | | / / 
 | 
				
			||||||
 | 
					 / /___/ /  (__  ) /_/ / /_  / /_/ /   | |/ /  
 | 
				
			||||||
 | 
					/_____/_/  /____/\__,_/\__/ /___/_/    |___/   
 | 
				
			||||||
 | 
					                                               
 | 
				
			||||||
							
								
								
									
										6
									
								
								ct/headers/esphome
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										6
									
								
								ct/headers/esphome
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,6 @@
 | 
				
			|||||||
 | 
					    ___________ ____  __  __                   
 | 
				
			||||||
 | 
					   / ____/ ___// __ \/ / / /___  ____ ___  ___ 
 | 
				
			||||||
 | 
					  / __/  \__ \/ /_/ / /_/ / __ \/ __ `__ \/ _ \
 | 
				
			||||||
 | 
					 / /___ ___/ / ____/ __  / /_/ / / / / / /  __/
 | 
				
			||||||
 | 
					/_____//____/_/   /_/ /_/\____/_/ /_/ /_/\___/ 
 | 
				
			||||||
 | 
					                                               
 | 
				
			||||||
							
								
								
									
										6
									
								
								ct/headers/evcc
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										6
									
								
								ct/headers/evcc
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,6 @@
 | 
				
			|||||||
 | 
					                      
 | 
				
			||||||
 | 
					  ___ _   ____________
 | 
				
			||||||
 | 
					 / _ \ | / / ___/ ___/
 | 
				
			||||||
 | 
					/  __/ |/ / /__/ /__  
 | 
				
			||||||
 | 
					\___/|___/\___/\___/  
 | 
				
			||||||
 | 
					                      
 | 
				
			||||||
							
								
								
									
										6
									
								
								ct/headers/fenrus
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										6
									
								
								ct/headers/fenrus
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,6 @@
 | 
				
			|||||||
 | 
					    ______                          
 | 
				
			||||||
 | 
					   / ____/__  ____  _______  _______
 | 
				
			||||||
 | 
					  / /_  / _ \/ __ \/ ___/ / / / ___/
 | 
				
			||||||
 | 
					 / __/ /  __/ / / / /  / /_/ (__  ) 
 | 
				
			||||||
 | 
					/_/    \___/_/ /_/_/   \__,_/____/  
 | 
				
			||||||
 | 
					                                    
 | 
				
			||||||
							
								
								
									
										6
									
								
								ct/headers/fhem
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										6
									
								
								ct/headers/fhem
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,6 @@
 | 
				
			|||||||
 | 
					    ________  __________  ___
 | 
				
			||||||
 | 
					   / ____/ / / / ____/  |/  /
 | 
				
			||||||
 | 
					  / /_  / /_/ / __/ / /|_/ / 
 | 
				
			||||||
 | 
					 / __/ / __  / /___/ /  / /  
 | 
				
			||||||
 | 
					/_/   /_/ /_/_____/_/  /_/   
 | 
				
			||||||
 | 
					                             
 | 
				
			||||||
							
								
								
									
										6
									
								
								ct/headers/firefly
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										6
									
								
								ct/headers/firefly
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,6 @@
 | 
				
			|||||||
 | 
					    _______           ______     
 | 
				
			||||||
 | 
					   / ____(_)_______  / __/ /_  __
 | 
				
			||||||
 | 
					  / /_  / / ___/ _ \/ /_/ / / / /
 | 
				
			||||||
 | 
					 / __/ / / /  /  __/ __/ / /_/ / 
 | 
				
			||||||
 | 
					/_/   /_/_/   \___/_/ /_/\__, /  
 | 
				
			||||||
 | 
					                        /____/   
 | 
				
			||||||
							
								
								
									
										6
									
								
								ct/headers/flaresolverr
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										6
									
								
								ct/headers/flaresolverr
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,6 @@
 | 
				
			|||||||
 | 
					    ________               _____       __                    
 | 
				
			||||||
 | 
					   / ____/ /___ _________ / ___/____  / /   _____  __________
 | 
				
			||||||
 | 
					  / /_  / / __ `/ ___/ _ \\__ \/ __ \/ / | / / _ \/ ___/ ___/
 | 
				
			||||||
 | 
					 / __/ / / /_/ / /  /  __/__/ / /_/ / /| |/ /  __/ /  / /    
 | 
				
			||||||
 | 
					/_/   /_/\__,_/_/   \___/____/\____/_/ |___/\___/_/  /_/     
 | 
				
			||||||
 | 
					                                                             
 | 
				
			||||||
							
								
								
									
										6
									
								
								ct/headers/flowiseai
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										6
									
								
								ct/headers/flowiseai
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,6 @@
 | 
				
			|||||||
 | 
					    ________              _           ___    ____
 | 
				
			||||||
 | 
					   / ____/ /___ _      __(_)_______  /   |  /  _/
 | 
				
			||||||
 | 
					  / /_  / / __ \ | /| / / / ___/ _ \/ /| |  / /  
 | 
				
			||||||
 | 
					 / __/ / / /_/ / |/ |/ / (__  )  __/ ___ |_/ /   
 | 
				
			||||||
 | 
					/_/   /_/\____/|__/|__/_/____/\___/_/  |_/___/   
 | 
				
			||||||
 | 
					                                                 
 | 
				
			||||||
							
								
								
									
										6
									
								
								ct/headers/forgejo
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										6
									
								
								ct/headers/forgejo
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,6 @@
 | 
				
			|||||||
 | 
					    ______                        _     
 | 
				
			||||||
 | 
					   / ____/___  _________ ____    (_)___ 
 | 
				
			||||||
 | 
					  / /_  / __ \/ ___/ __ `/ _ \  / / __ \
 | 
				
			||||||
 | 
					 / __/ / /_/ / /  / /_/ /  __/ / / /_/ /
 | 
				
			||||||
 | 
					/_/    \____/_/   \__, /\___/_/ /\____/ 
 | 
				
			||||||
 | 
					                 /____/    /___/        
 | 
				
			||||||
							
								
								
									
										6
									
								
								ct/headers/frigate
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										6
									
								
								ct/headers/frigate
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,6 @@
 | 
				
			|||||||
 | 
					    ______     _             __     
 | 
				
			||||||
 | 
					   / ____/____(_)___ _____ _/ /____ 
 | 
				
			||||||
 | 
					  / /_  / ___/ / __ `/ __ `/ __/ _ \
 | 
				
			||||||
 | 
					 / __/ / /  / / /_/ / /_/ / /_/  __/
 | 
				
			||||||
 | 
					/_/   /_/  /_/\__, /\__,_/\__/\___/ 
 | 
				
			||||||
 | 
					             /____/                 
 | 
				
			||||||
							
								
								
									
										6
									
								
								ct/headers/ghost
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										6
									
								
								ct/headers/ghost
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,6 @@
 | 
				
			|||||||
 | 
					   ________               __ 
 | 
				
			||||||
 | 
					  / ____/ /_  ____  _____/ /_
 | 
				
			||||||
 | 
					 / / __/ __ \/ __ \/ ___/ __/
 | 
				
			||||||
 | 
					/ /_/ / / / / /_/ (__  ) /_  
 | 
				
			||||||
 | 
					\____/_/ /_/\____/____/\__/  
 | 
				
			||||||
 | 
					                             
 | 
				
			||||||
							
								
								
									
										6
									
								
								ct/headers/gitea
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										6
									
								
								ct/headers/gitea
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,6 @@
 | 
				
			|||||||
 | 
					   _______ __            
 | 
				
			||||||
 | 
					  / ____(_) /____  ____ _
 | 
				
			||||||
 | 
					 / / __/ / __/ _ \/ __ `/
 | 
				
			||||||
 | 
					/ /_/ / / /_/  __/ /_/ / 
 | 
				
			||||||
 | 
					\____/_/\__/\___/\__,_/  
 | 
				
			||||||
 | 
					                         
 | 
				
			||||||
							
								
								
									
										6
									
								
								ct/headers/glance
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										6
									
								
								ct/headers/glance
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,6 @@
 | 
				
			|||||||
 | 
					   ________                    
 | 
				
			||||||
 | 
					  / ____/ /___ _____  ________ 
 | 
				
			||||||
 | 
					 / / __/ / __ `/ __ \/ ___/ _ \
 | 
				
			||||||
 | 
					/ /_/ / / /_/ / / / / /__/  __/
 | 
				
			||||||
 | 
					\____/_/\__,_/_/ /_/\___/\___/ 
 | 
				
			||||||
 | 
					                               
 | 
				
			||||||
							
								
								
									
										6
									
								
								ct/headers/glpi
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										6
									
								
								ct/headers/glpi
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,6 @@
 | 
				
			|||||||
 | 
					   ________    ____  ____
 | 
				
			||||||
 | 
					  / ____/ /   / __ \/  _/
 | 
				
			||||||
 | 
					 / / __/ /   / /_/ // /  
 | 
				
			||||||
 | 
					/ /_/ / /___/ ____// /   
 | 
				
			||||||
 | 
					\____/_____/_/   /___/   
 | 
				
			||||||
 | 
					                         
 | 
				
			||||||
							
								
								
									
										6
									
								
								ct/headers/go2rtc
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										6
									
								
								ct/headers/go2rtc
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,6 @@
 | 
				
			|||||||
 | 
					               ___        __      
 | 
				
			||||||
 | 
					   ____ _____ |__ \ _____/ /______
 | 
				
			||||||
 | 
					  / __ `/ __ \__/ // ___/ __/ ___/
 | 
				
			||||||
 | 
					 / /_/ / /_/ / __// /  / /_/ /__  
 | 
				
			||||||
 | 
					 \__, /\____/____/_/   \__/\___/  
 | 
				
			||||||
 | 
					/____/                            
 | 
				
			||||||
							
								
								
									
										6
									
								
								ct/headers/gokapi
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										6
									
								
								ct/headers/gokapi
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,6 @@
 | 
				
			|||||||
 | 
					   ______      __               _ 
 | 
				
			||||||
 | 
					  / ____/___  / /______ _____  (_)
 | 
				
			||||||
 | 
					 / / __/ __ \/ //_/ __ `/ __ \/ / 
 | 
				
			||||||
 | 
					/ /_/ / /_/ / ,< / /_/ / /_/ / /  
 | 
				
			||||||
 | 
					\____/\____/_/|_|\__,_/ .___/_/   
 | 
				
			||||||
 | 
					                     /_/          
 | 
				
			||||||
							
								
								
									
										6
									
								
								ct/headers/gotify
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										6
									
								
								ct/headers/gotify
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,6 @@
 | 
				
			|||||||
 | 
					   ______      __  _ ____     
 | 
				
			||||||
 | 
					  / ____/___  / /_(_) __/_  __
 | 
				
			||||||
 | 
					 / / __/ __ \/ __/ / /_/ / / /
 | 
				
			||||||
 | 
					/ /_/ / /_/ / /_/ / __/ /_/ / 
 | 
				
			||||||
 | 
					\____/\____/\__/_/_/  \__, /  
 | 
				
			||||||
 | 
					                     /____/   
 | 
				
			||||||
							
								
								
									
										6
									
								
								ct/headers/grafana
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										6
									
								
								ct/headers/grafana
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,6 @@
 | 
				
			|||||||
 | 
					   ______           ____                 
 | 
				
			||||||
 | 
					  / ____/________ _/ __/___ _____  ____ _
 | 
				
			||||||
 | 
					 / / __/ ___/ __ `/ /_/ __ `/ __ \/ __ `/
 | 
				
			||||||
 | 
					/ /_/ / /  / /_/ / __/ /_/ / / / / /_/ / 
 | 
				
			||||||
 | 
					\____/_/   \__,_/_/  \__,_/_/ /_/\__,_/  
 | 
				
			||||||
 | 
					                                         
 | 
				
			||||||
							
								
								
									
										6
									
								
								ct/headers/grist
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										6
									
								
								ct/headers/grist
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,6 @@
 | 
				
			|||||||
 | 
					   ______     _      __ 
 | 
				
			||||||
 | 
					  / ____/____(_)____/ /_
 | 
				
			||||||
 | 
					 / / __/ ___/ / ___/ __/
 | 
				
			||||||
 | 
					/ /_/ / /  / (__  ) /_  
 | 
				
			||||||
 | 
					\____/_/  /_/____/\__/  
 | 
				
			||||||
 | 
					                        
 | 
				
			||||||
							
								
								
									
										6
									
								
								ct/headers/grocy
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										6
									
								
								ct/headers/grocy
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,6 @@
 | 
				
			|||||||
 | 
					                               
 | 
				
			||||||
 | 
					   ____ __________  _______  __
 | 
				
			||||||
 | 
					  / __ `/ ___/ __ \/ ___/ / / /
 | 
				
			||||||
 | 
					 / /_/ / /  / /_/ / /__/ /_/ / 
 | 
				
			||||||
 | 
					 \__, /_/   \____/\___/\__, /  
 | 
				
			||||||
 | 
					/____/                /____/   
 | 
				
			||||||
							
								
								
									
										6
									
								
								ct/headers/headscale
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										6
									
								
								ct/headers/headscale
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,6 @@
 | 
				
			|||||||
 | 
					    __  __               __                __   
 | 
				
			||||||
 | 
					   / / / /__  ____ _____/ /_____________ _/ /__ 
 | 
				
			||||||
 | 
					  / /_/ / _ \/ __ `/ __  / ___/ ___/ __ `/ / _ \
 | 
				
			||||||
 | 
					 / __  /  __/ /_/ / /_/ (__  ) /__/ /_/ / /  __/
 | 
				
			||||||
 | 
					/_/ /_/\___/\__,_/\__,_/____/\___/\__,_/_/\___/ 
 | 
				
			||||||
 | 
					                                                
 | 
				
			||||||
Some files were not shown because too many files have changed in this diff Show More
		Reference in New Issue
	
	Block a user