mirror of
				https://github.com/community-scripts/ProxmoxVE.git
				synced 2025-11-04 02:12:49 +00:00 
			
		
		
		
	Compare commits
	
		
			197 Commits
		
	
	
		
			2024-12-13
			...
			2025-01-02
		
	
	| Author | SHA1 | Date | |
|---|---|---|---|
| 
						 | 
					3b8ff01385 | ||
| 
						 | 
					11de586c93 | ||
| 
						 | 
					eacaca938d | ||
| 
						 | 
					dc0cf2cb3b | ||
| 
						 | 
					585f9a2404 | ||
| 
						 | 
					c72eb13e74 | ||
| 
						 | 
					e356259785 | ||
| 
						 | 
					618445ec08 | ||
| 
						 | 
					3e5274a951 | ||
| 
						 | 
					2245479733 | ||
| 
						 | 
					99e06341b3 | ||
| 
						 | 
					ce27930f9d | ||
| 
						 | 
					b8671b97af | ||
| 
						 | 
					7c0f85d0b3 | ||
| 
						 | 
					ff660eaabb | ||
| 
						 | 
					15f04d525d | ||
| 
						 | 
					ccdb7007e7 | ||
| 
						 | 
					a119a27b4f | ||
| 
						 | 
					ac37d90403 | ||
| 
						 | 
					3c765790a3 | ||
| 
						 | 
					2f05dcbf87 | ||
| 
						 | 
					409af1b14a | ||
| 
						 | 
					50f7ae1237 | ||
| 
						 | 
					2af4978680 | ||
| 
						 | 
					a9df33c7cf | ||
| 
						 | 
					47377fdd26 | ||
| 
						 | 
					bf53f57e10 | ||
| 
						 | 
					70f2a50955 | ||
| 
						 | 
					10634a77c7 | ||
| 
						 | 
					0aeec14025 | ||
| 
						 | 
					19c3b1dee0 | ||
| 
						 | 
					af4b833aa4 | ||
| 
						 | 
					72f844ddc6 | ||
| 
						 | 
					68aad8e152 | ||
| 
						 | 
					4f517de2d1 | ||
| 
						 | 
					f2d11ea48c | ||
| 
						 | 
					a77ce0bad0 | ||
| 
						 | 
					2479ceeb99 | ||
| 
						 | 
					dc314990f8 | ||
| 
						 | 
					3543d10d35 | ||
| 
						 | 
					c9f4391df0 | ||
| 
						 | 
					69ae09346f | ||
| 
						 | 
					13175efbd8 | ||
| 
						 | 
					4a8239b2ce | ||
| 
						 | 
					e319355859 | ||
| 
						 | 
					21d857e7ad | ||
| 
						 | 
					df3919b904 | ||
| 
						 | 
					96f30bf51f | ||
| 
						 | 
					2832a1e2c4 | ||
| 
						 | 
					415f99e3eb | ||
| 
						 | 
					aa7e8e0810 | ||
| 
						 | 
					8717a0fcf1 | ||
| 
						 | 
					30bc16072e | ||
| 
						 | 
					464fa283ad | ||
| 
						 | 
					024480d0a4 | ||
| 
						 | 
					c754f4e243 | ||
| 
						 | 
					152eb6b2bb | ||
| 
						 | 
					3424e9a86e | ||
| 
						 | 
					13a52878ab | ||
| 
						 | 
					5f39bb66a5 | ||
| 
						 | 
					773b2fcc79 | ||
| 
						 | 
					938f0f76fa | ||
| 
						 | 
					611a14b55f | ||
| 
						 | 
					304db812a8 | ||
| 
						 | 
					678206768c | ||
| 
						 | 
					92d2e421ee | ||
| 
						 | 
					fe3ff916b6 | ||
| 
						 | 
					d4c95779bf | ||
| 
						 | 
					8c0794c2bb | ||
| 
						 | 
					cdb121a55f | ||
| 
						 | 
					b22d66da1b | ||
| 
						 | 
					87ff677ed7 | ||
| 
						 | 
					d3eaf6eaf5 | ||
| 
						 | 
					26e4017d76 | ||
| 
						 | 
					406bb57d74 | ||
| 
						 | 
					f97e932205 | ||
| 
						 | 
					395d1086ea | ||
| 
						 | 
					517b19a62b | ||
| 
						 | 
					ab292927e6 | ||
| 
						 | 
					6bae0d71ea | ||
| 
						 | 
					1378e9a2e9 | ||
| 
						 | 
					71d21f3bfe | ||
| 
						 | 
					12f087932f | ||
| 
						 | 
					8d96c5135d | ||
| 
						 | 
					0c31f43789 | ||
| 
						 | 
					943e6967f4 | ||
| 
						 | 
					e253fe6cee | ||
| 
						 | 
					4b0fff5a88 | ||
| 
						 | 
					ff3d2026a5 | ||
| 
						 | 
					1b57be94fd | ||
| 
						 | 
					b1dc0bc20f | ||
| 
						 | 
					8f243c74ff | ||
| 
						 | 
					b30e8c534f | ||
| 
						 | 
					9b07fe4178 | ||
| 
						 | 
					be66aefd9a | ||
| 
						 | 
					7aca36a3f0 | ||
| 
						 | 
					cf8dd2bfac | ||
| 
						 | 
					ee62a56cb9 | ||
| 
						 | 
					b8885e8d6c | ||
| 
						 | 
					55e02d8bdd | ||
| 
						 | 
					72df7e432d | ||
| 
						 | 
					0f2e49fbeb | ||
| 
						 | 
					d71bf7bcdf | ||
| 
						 | 
					4ed5bf0c12 | ||
| 
						 | 
					6debf20d19 | ||
| 
						 | 
					88120fcbcc | ||
| 
						 | 
					b65d55282f | ||
| 
						 | 
					ae67ee8768 | ||
| 
						 | 
					9523491c0a | ||
| 
						 | 
					b0a523aac3 | ||
| 
						 | 
					67a0c06b80 | ||
| 
						 | 
					1c4c3b71e3 | ||
| 
						 | 
					e98d96a232 | ||
| 
						 | 
					48e86b063b | ||
| 
						 | 
					53fcbb46be | ||
| 
						 | 
					5e22f990d2 | ||
| 
						 | 
					d74ad31e72 | ||
| 
						 | 
					8c989eee8e | ||
| 
						 | 
					326f706672 | ||
| 
						 | 
					e715adf3ba | ||
| 
						 | 
					57b881db45 | ||
| 
						 | 
					f40c606808 | ||
| 
						 | 
					4c042c180f | ||
| 
						 | 
					abb0e0f96d | ||
| 
						 | 
					8e1644ab6e | ||
| 
						 | 
					2892762a80 | ||
| 
						 | 
					45c1a73eda | ||
| 
						 | 
					6efc6504d4 | ||
| 
						 | 
					af30823bef | ||
| 
						 | 
					d283d0a1cb | ||
| 
						 | 
					5214c3d531 | ||
| 
						 | 
					7f86418cf5 | ||
| 
						 | 
					949ec3d181 | ||
| 
						 | 
					9379ac4032 | ||
| 
						 | 
					2326e11699 | ||
| 
						 | 
					94b51fefeb | ||
| 
						 | 
					6487885f4b | ||
| 
						 | 
					700902ba2e | ||
| 
						 | 
					23d7587f04 | ||
| 
						 | 
					4c04a33a29 | ||
| 
						 | 
					9da79b9a97 | ||
| 
						 | 
					785d745b22 | ||
| 
						 | 
					a5d6023da8 | ||
| 
						 | 
					773e3ba983 | ||
| 
						 | 
					ba76b4fe37 | ||
| 
						 | 
					08f6042f65 | ||
| 
						 | 
					25049290b0 | ||
| 
						 | 
					94d81fdf5c | ||
| 
						 | 
					c0ac8a7fab | ||
| 
						 | 
					bda30403da | ||
| 
						 | 
					6f96aebc27 | ||
| 
						 | 
					a9a640bb75 | ||
| 
						 | 
					056d8902fb | ||
| 
						 | 
					fe3faccc42 | ||
| 
						 | 
					9236f97009 | ||
| 
						 | 
					17eaedf335 | ||
| 
						 | 
					d0f2c71038 | ||
| 
						 | 
					22c0757b4d | ||
| 
						 | 
					cd374c296f | ||
| 
						 | 
					07508d10d0 | ||
| 
						 | 
					29dcf19c04 | ||
| 
						 | 
					3e60e43d05 | ||
| 
						 | 
					f199366867 | ||
| 
						 | 
					9efb421b5c | ||
| 
						 | 
					d65d64e59e | ||
| 
						 | 
					47307be181 | ||
| 
						 | 
					a6f3771214 | ||
| 
						 | 
					7261affcc2 | ||
| 
						 | 
					c60b16229b | ||
| 
						 | 
					b18b49ef6f | ||
| 
						 | 
					870313cc58 | ||
| 
						 | 
					e9c0ca8579 | ||
| 
						 | 
					73d5794086 | ||
| 
						 | 
					a46e66fd9a | ||
| 
						 | 
					79d597297c | ||
| 
						 | 
					f511d88502 | ||
| 
						 | 
					fad540cf4c | ||
| 
						 | 
					9256880c9f | ||
| 
						 | 
					5b38448107 | ||
| 
						 | 
					db1950a2bb | ||
| 
						 | 
					f449ca707a | ||
| 
						 | 
					e410bdbf5e | ||
| 
						 | 
					7357c1c146 | ||
| 
						 | 
					9fc81e49e4 | ||
| 
						 | 
					826482897a | ||
| 
						 | 
					6f2e0dfde9 | ||
| 
						 | 
					49d8ed135c | ||
| 
						 | 
					357f5bcdb6 | ||
| 
						 | 
					a00f7af0d2 | ||
| 
						 | 
					284238d109 | ||
| 
						 | 
					b547530643 | ||
| 
						 | 
					b78a919b41 | ||
| 
						 | 
					353a5e7c99 | ||
| 
						 | 
					afd57cafc6 | ||
| 
						 | 
					71cc0a0fd4 | ||
| 
						 | 
					f2a1cc7eef | ||
| 
						 | 
					315949b446 | 
							
								
								
									
										16
									
								
								.editorconfig
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										16
									
								
								.editorconfig
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,16 @@
 | 
				
			|||||||
 | 
					; editorconfig.org
 | 
				
			||||||
 | 
					root = true
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					[*]
 | 
				
			||||||
 | 
					charset                     = utf-8
 | 
				
			||||||
 | 
					continuation_indent_size    = 2
 | 
				
			||||||
 | 
					end_of_line                 = lf
 | 
				
			||||||
 | 
					indent_size                 = 2
 | 
				
			||||||
 | 
					indent_style                = space
 | 
				
			||||||
 | 
					insert_final_newline        = true
 | 
				
			||||||
 | 
					max_line_length             = 120
 | 
				
			||||||
 | 
					tab_width                   = 2
 | 
				
			||||||
 | 
					; trim_trailing_whitespace    = true ; disabled until files are cleaned up
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					[*.md]
 | 
				
			||||||
 | 
					trim_trailing_whitespace    = false
 | 
				
			||||||
							
								
								
									
										6
									
								
								.github/pull_request_template.md
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										6
									
								
								.github/pull_request_template.md
									
									
									
									
										vendored
									
									
								
							@@ -7,13 +7,13 @@
 | 
				
			|||||||
## ✍️ Description
 | 
					## ✍️ Description
 | 
				
			||||||
Provide a summary of the changes made and/or reference the issue being addressed.
 | 
					Provide a summary of the changes made and/or reference the issue being addressed.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
- 
 | 
					 
 | 
				
			||||||
 | 
					
 | 
				
			||||||
- - -
 | 
					- - -
 | 
				
			||||||
 | 
					**_Please remove unneeded lines!_**
 | 
				
			||||||
- Related Issue: # (issue number, if applicable)  
 | 
					- Related Issue: # (issue number, if applicable)  
 | 
				
			||||||
- Related PR: # (if applicable)  
 | 
					- Related PR: # (if applicable)  
 | 
				
			||||||
- Related Discussion: [Link](https://github.com/community-scripts/ProxmoxVE/discussions)  
 | 
					- Related Discussion: []()(if applicable)  
 | 
				
			||||||
 | 
					
 | 
				
			||||||
---
 | 
					---
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 
 | 
				
			|||||||
							
								
								
									
										32
									
								
								.github/workflows/shellcheck.yml
									
									
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										32
									
								
								.github/workflows/shellcheck.yml
									
									
									
									
										vendored
									
									
										Normal file
									
								
							@@ -0,0 +1,32 @@
 | 
				
			|||||||
 | 
					name: Shellcheck
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					on:
 | 
				
			||||||
 | 
					  push:
 | 
				
			||||||
 | 
					    branches:
 | 
				
			||||||
 | 
					      - main
 | 
				
			||||||
 | 
					  pull_request:
 | 
				
			||||||
 | 
					  workflow_dispatch:
 | 
				
			||||||
 | 
					  schedule:
 | 
				
			||||||
 | 
					    - cron: "5 1 * * *"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					jobs:
 | 
				
			||||||
 | 
					  shellcheck:
 | 
				
			||||||
 | 
					    name: Shellcheck
 | 
				
			||||||
 | 
					    runs-on: ubuntu-latest
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    steps:
 | 
				
			||||||
 | 
					    - uses: actions/checkout@v4
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    - name: Get changed files
 | 
				
			||||||
 | 
					      id: changes
 | 
				
			||||||
 | 
					      run: |
 | 
				
			||||||
 | 
					        if ${{ github.event_name == 'pull_request' }}; then
 | 
				
			||||||
 | 
					          echo "files=$(git diff --name-only -r HEAD^1 HEAD | xargs)" >> $GITHUB_OUTPUT
 | 
				
			||||||
 | 
					        else
 | 
				
			||||||
 | 
					          echo "files=$(git diff --name-only ${{ github.event.before }} ${{ github.event.after }} | xargs)" >> $GITHUB_OUTPUT
 | 
				
			||||||
 | 
					        fi
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    - name: Run ShellCheck
 | 
				
			||||||
 | 
					      if: steps.changes.outputs.files != ''
 | 
				
			||||||
 | 
					      run: |
 | 
				
			||||||
 | 
					        echo "${{ steps.changes.outputs.files }}" | xargs shellcheck
 | 
				
			||||||
							
								
								
									
										282
									
								
								CHANGELOG.md
									
									
									
									
									
								
							
							
						
						
									
										282
									
								
								CHANGELOG.md
									
									
									
									
									
								
							@@ -16,6 +16,288 @@ All LXC instances created using this repository come pre-installed with Midnight
 | 
				
			|||||||
> [!IMPORTANT]
 | 
					> [!IMPORTANT]
 | 
				
			||||||
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-01-02
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					### Changed
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					### ✨ New Scripts
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					- New Script: Pf2eTools [@TheRealVira](https://github.com/TheRealVira) ([#1162](https://github.com/community-scripts/ProxmoxVE/pull/1162))
 | 
				
			||||||
 | 
					- New Script: 5etools [@TheRealVira](https://github.com/TheRealVira) ([#1157](https://github.com/community-scripts/ProxmoxVE/pull/1157))
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					### 🚀 Updated Scripts
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					- Update config template in blocky-install.sh [@xFichtl1](https://github.com/xFichtl1) ([#1059](https://github.com/community-scripts/ProxmoxVE/pull/1059))
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					## 2025-01-01
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					### Changed
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					### ✨ New Scripts
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					- New Script: Komodo [@MickLesk](https://github.com/MickLesk) ([#1167](https://github.com/community-scripts/ProxmoxVE/pull/1167))
 | 
				
			||||||
 | 
					- New Script: Firefly [@quantumryuu](https://github.com/quantumryuu) ([#616](https://github.com/community-scripts/ProxmoxVE/pull/616))
 | 
				
			||||||
 | 
					- New Script: Semaphore [@quantumryuu](https://github.com/quantumryuu) ([#596](https://github.com/community-scripts/ProxmoxVE/pull/596))
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					### 🚀 Updated Scripts
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					- Fix Script Homepage: add version during build step [@se-bastiaan](https://github.com/se-bastiaan) ([#1155](https://github.com/community-scripts/ProxmoxVE/pull/1155))
 | 
				
			||||||
 | 
					- Happy new Year! Update Copyright to 2025 [@MickLesk](https://github.com/MickLesk) ([#1150](https://github.com/community-scripts/ProxmoxVE/pull/1150))
 | 
				
			||||||
 | 
					- Update Kernel-Clean to new Version & Bugfixing [@MickLesk](https://github.com/MickLesk) ([#1147](https://github.com/community-scripts/ProxmoxVE/pull/1147))
 | 
				
			||||||
 | 
					- Fix chromium installation for ArchiveBox  [@tkunzfeld](https://github.com/tkunzfeld) ([#1140](https://github.com/community-scripts/ProxmoxVE/pull/1140))
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					### 🌐 Website
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					- Fix Category of Semaphore [@MickLesk](https://github.com/MickLesk) ([#1148](https://github.com/community-scripts/ProxmoxVE/pull/1148))
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					### 🧰 Maintenance
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					- Correctly check for changed files in Shellcheck workflow [@se-bastiaan](https://github.com/se-bastiaan) ([#1156](https://github.com/community-scripts/ProxmoxVE/pull/1156))
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					## 2024-12-31 - Happy new Year! 🎉✨
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					### Changed
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					### 💥 Breaking Changes
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					- Add ExecReload to prometheus.service [@BasixKOR](https://github.com/BasixKOR) ([#1131](https://github.com/community-scripts/ProxmoxVE/pull/1131))
 | 
				
			||||||
 | 
					- Fix: Figlet Version & Font Check [@MickLesk](https://github.com/MickLesk) ([#1133](https://github.com/community-scripts/ProxmoxVE/pull/1133))
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					### 🚀 Updated Scripts
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					- Fix: Copy issue after update in Bookstack LXC [@MickLesk](https://github.com/MickLesk) ([#1137](https://github.com/community-scripts/ProxmoxVE/pull/1137))
 | 
				
			||||||
 | 
					- Omada: Switch Base-URL to prevent issues [@MickLesk](https://github.com/MickLesk) ([#1135](https://github.com/community-scripts/ProxmoxVE/pull/1135))
 | 
				
			||||||
 | 
					- fix: guacd service not start during Apache-Guacamole script installation process [@PhoenixEmik](https://github.com/PhoenixEmik) ([#1122](https://github.com/community-scripts/ProxmoxVE/pull/1122))
 | 
				
			||||||
 | 
					- Fix Homepage-Script: Installation/Update [@MickLesk](https://github.com/MickLesk) ([#1129](https://github.com/community-scripts/ProxmoxVE/pull/1129))
 | 
				
			||||||
 | 
					- Netbox: Updating URL to https [@surajsbmn](https://github.com/surajsbmn) ([#1124](https://github.com/community-scripts/ProxmoxVE/pull/1124))
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					## 2024-12-30
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					### Changed
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					### 🚀 Updated Scripts
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					- [Archivebox] Fix wrong port being printed post install. [@Strana-Mechty](https://github.com/Strana-Mechty) ([#1105](https://github.com/community-scripts/ProxmoxVE/pull/1105))
 | 
				
			||||||
 | 
					- fix: add homepage version during build step [@se-bastiaan](https://github.com/se-bastiaan) ([#1107](https://github.com/community-scripts/ProxmoxVE/pull/1107))
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					### 🌐 Website
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					- Fix Trilium Website to TriliumNext [@tmkis2](https://github.com/tmkis2) ([#1103](https://github.com/community-scripts/ProxmoxVE/pull/1103))
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					## 2024-12-29
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					### Changed
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					### ✨ New Scripts
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					- New Script: Grist [@cfurrow](https://github.com/cfurrow) ([#1076](https://github.com/community-scripts/ProxmoxVE/pull/1076))
 | 
				
			||||||
 | 
					- New Script: TeddyCloud Server [@dsiebel](https://github.com/dsiebel) ([#1064](https://github.com/community-scripts/ProxmoxVE/pull/1064))
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					### 🚀 Updated Scripts
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					- Fix Install / Update on Grist Script [@michelroegl-brunner](https://github.com/michelroegl-brunner) ([#1091](https://github.com/community-scripts/ProxmoxVE/pull/1091))
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					### 🌐 Website
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					- fix: Update add-lxc-iptag.json warn to warning [@BramSuurdje](https://github.com/BramSuurdje) ([#1094](https://github.com/community-scripts/ProxmoxVE/pull/1094))
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					### 🧰 Maintenance
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					- Introduce editorconfig for more consistent formatting [@dsiebel](https://github.com/dsiebel) ([#1073](https://github.com/community-scripts/ProxmoxVE/pull/1073))
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					## 2024-12-28
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					### Changed
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					### 💥 Breaking Changes
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					- Add Figlet into Repo | Creation of local ASCII Header [@MickLesk](https://github.com/MickLesk) ([#1072](https://github.com/community-scripts/ProxmoxVE/pull/1072))
 | 
				
			||||||
 | 
					- Add an IP-Update for MOTD if IP Changed [@MickLesk](https://github.com/MickLesk) ([#1067](https://github.com/community-scripts/ProxmoxVE/pull/1067))
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					### 🚀 Updated Scripts
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					- Zabbix: Fix SQL Path for 7.2 [@MickLesk](https://github.com/MickLesk) ([#1069](https://github.com/community-scripts/ProxmoxVE/pull/1069))
 | 
				
			||||||
 | 
					- Authentik: added missing port to access url [@TheRealVira](https://github.com/TheRealVira) ([#1065](https://github.com/community-scripts/ProxmoxVE/pull/1065))
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					## 2024-12-27
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					### Changed
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					### ✨ New Scripts
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					- new scripts for Authentik [@remz1337](https://github.com/remz1337) ([#291](https://github.com/community-scripts/ProxmoxVE/pull/291))
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					### 🚀 Updated Scripts
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					- Add 8.0 for MongoDB Installation [@MickLesk](https://github.com/MickLesk) ([#1046](https://github.com/community-scripts/ProxmoxVE/pull/1046))
 | 
				
			||||||
 | 
					- Update Zabbix to 7.2. Release [@MickLesk](https://github.com/MickLesk) ([#1048](https://github.com/community-scripts/ProxmoxVE/pull/1048))
 | 
				
			||||||
 | 
					- Apache-Guacamole script bug fix [@sannier3](https://github.com/sannier3) ([#1039](https://github.com/community-scripts/ProxmoxVE/pull/1039))
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					### 🌐 Website
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					- Updated SAB documentation based on RAM increase [@TheRealVira](https://github.com/TheRealVira) ([#1035](https://github.com/community-scripts/ProxmoxVE/pull/1035))
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					### ❔ Unlabelled
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					- Patch Figlet Repo if missing [@MickLesk](https://github.com/MickLesk) ([#1044](https://github.com/community-scripts/ProxmoxVE/pull/1044))
 | 
				
			||||||
 | 
					- fix Tags for Advanced Settings [@MickLesk](https://github.com/MickLesk) ([#1042](https://github.com/community-scripts/ProxmoxVE/pull/1042))
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					## 2024-12-26
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					### Changed
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					### ✨ New Scripts
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					-  New Script: Jenkins [@quantumryuu](https://github.com/quantumryuu) ([#1019](https://github.com/community-scripts/ProxmoxVE/pull/1019))
 | 
				
			||||||
 | 
					- New Script: 2FAuth [@jkrgr0](https://github.com/jkrgr0) ([#943](https://github.com/community-scripts/ProxmoxVE/pull/943))
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					### 🚀 Updated Scripts
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					- ChangeDetection Update: Update also Browsers [@Niklas04](https://github.com/Niklas04) ([#1027](https://github.com/community-scripts/ProxmoxVE/pull/1027))
 | 
				
			||||||
 | 
					- ensure all RFC1918 local Ipv4 addresses are in iptag script [@AskAlice](https://github.com/AskAlice) ([#992](https://github.com/community-scripts/ProxmoxVE/pull/992))
 | 
				
			||||||
 | 
					- Fix Proxmox DataCenter: incorrect build.func url [@rbradley0](https://github.com/rbradley0) ([#1013](https://github.com/community-scripts/ProxmoxVE/pull/1013))
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					### 🧰 Maintenance
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					- [GitHub Actions] Introduce Shellcheck to check bash code [@andygrunwald](https://github.com/andygrunwald) ([#1018](https://github.com/community-scripts/ProxmoxVE/pull/1018))
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					## 2024-12-25
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					### Changed
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					### ✨ New Scripts
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					- add: pve-datacenter-manager [@CrazyWolf13](https://github.com/CrazyWolf13) ([#947](https://github.com/community-scripts/ProxmoxVE/pull/947))
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					### 🚀 Updated Scripts
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					- Fix Script: Alpine Nextcloud Upload File Size Limit [@michelroegl-brunner](https://github.com/michelroegl-brunner) ([#933](https://github.com/community-scripts/ProxmoxVE/pull/933))
 | 
				
			||||||
 | 
					- Doubled RAM for SAB [@TheRealVira](https://github.com/TheRealVira) ([#1007](https://github.com/community-scripts/ProxmoxVE/pull/1007))
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					## 2024-12-23
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					### Changed
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					### 🚀 Updated Scripts
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					- Fix Navidrome Update & Install [@MickLesk](https://github.com/MickLesk) ([#991](https://github.com/community-scripts/ProxmoxVE/pull/991))
 | 
				
			||||||
 | 
					- Update emby.sh to correct port [@Rageplant](https://github.com/Rageplant) ([#989](https://github.com/community-scripts/ProxmoxVE/pull/989))
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					## 2024-12-21
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					### Changed
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					### 🚀 Updated Scripts
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					- update Port in homeassistant-core CT [@fraefel](https://github.com/fraefel) ([#961](https://github.com/community-scripts/ProxmoxVE/pull/961))
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					## 2024-12-20
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					### Changed
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					### ✨ New Scripts
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					- New Script: Apache Guacamole [@michelroegl-brunner](https://github.com/michelroegl-brunner) ([#657](https://github.com/community-scripts/ProxmoxVE/pull/657))
 | 
				
			||||||
 | 
					- New Script: silverbullet [@dsiebel](https://github.com/dsiebel) ([#659](https://github.com/community-scripts/ProxmoxVE/pull/659))
 | 
				
			||||||
 | 
					- New Script: Zammad [@michelroegl-brunner](https://github.com/michelroegl-brunner) ([#640](https://github.com/community-scripts/ProxmoxVE/pull/640))
 | 
				
			||||||
 | 
					- New Script: CheckMk [@michelroegl-brunner](https://github.com/michelroegl-brunner) ([#926](https://github.com/community-scripts/ProxmoxVE/pull/926))
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					### 🚀 Updated Scripts
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					- Fix: Remove PHP Key generation in Bookstack Update [@michelroegl-brunner](https://github.com/michelroegl-brunner) ([#948](https://github.com/community-scripts/ProxmoxVE/pull/948))
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					### 🌐 Website
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					- Update checkmk description [@BramSuurdje](https://github.com/BramSuurdje) ([#954](https://github.com/community-scripts/ProxmoxVE/pull/954))
 | 
				
			||||||
 | 
					- Add Login Note for Checkmk [@MickLesk](https://github.com/MickLesk) ([#940](https://github.com/community-scripts/ProxmoxVE/pull/940))
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					### ❔ Unlabelled
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					- Update build.func to display the Proxmox Hostname [@michelroegl-brunner](https://github.com/michelroegl-brunner) ([#894](https://github.com/community-scripts/ProxmoxVE/pull/894))
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					## 2024-12-19
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					### Changed
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					### 🚀 Updated Scripts
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					- Fix: Bookstack Update Function [@michelroegl-brunner](https://github.com/michelroegl-brunner) ([#844](https://github.com/community-scripts/ProxmoxVE/pull/844))
 | 
				
			||||||
 | 
					- mysql not showing ip after install [@snow2k9](https://github.com/snow2k9) ([#924](https://github.com/community-scripts/ProxmoxVE/pull/924))
 | 
				
			||||||
 | 
					- Fix Omada - Crawling latest version [@MickLesk](https://github.com/MickLesk) ([#918](https://github.com/community-scripts/ProxmoxVE/pull/918))
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					### 🌐 Website
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					- Fix script path formatting in InstallMethod component [@BramSuurdje](https://github.com/BramSuurdje) ([#909](https://github.com/community-scripts/ProxmoxVE/pull/909))
 | 
				
			||||||
 | 
					- Fix Part-DB Docu (cred command) [@EvilBlood](https://github.com/EvilBlood) ([#898](https://github.com/community-scripts/ProxmoxVE/pull/898))
 | 
				
			||||||
 | 
					- Enhance Tooltip component by adding CircleHelp icon and fix instructions in script component [@BramSuurdje](https://github.com/BramSuurdje) ([#910](https://github.com/community-scripts/ProxmoxVE/pull/910))
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					## 2024-12-18
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					### Changed
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					### ✨ New Scripts
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					- New script: Part-DB LXC [@bvdberg01](https://github.com/bvdberg01) ([#591](https://github.com/community-scripts/ProxmoxVE/pull/591))
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					### 🚀 Updated Scripts
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					- Fix Kernel-Clean for Proxmox 8.x [@MickLesk](https://github.com/MickLesk) ([#904](https://github.com/community-scripts/ProxmoxVE/pull/904))
 | 
				
			||||||
 | 
					- [Frigate] Remove SSE 4.2 from instruction set supporting OpenVino [@remz1337](https://github.com/remz1337) ([#902](https://github.com/community-scripts/ProxmoxVE/pull/902))
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					### 🌐 Website
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					- New Metadata Category: "Coding & AI" [@newzealandpaul](https://github.com/newzealandpaul) ([#890](https://github.com/community-scripts/ProxmoxVE/pull/890))
 | 
				
			||||||
 | 
					- Moved Webmin to "Server & Networking" [@newzealandpaul](https://github.com/newzealandpaul) ([#891](https://github.com/community-scripts/ProxmoxVE/pull/891))
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					## 2024-12-17
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					### Changed
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					### 🚀 Updated Scripts
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					- Fix Alpine-Nextcloud: Bump PHP Version to 8.3 [@michelroegl-brunner](https://github.com/michelroegl-brunner) ([#865](https://github.com/community-scripts/ProxmoxVE/pull/865))
 | 
				
			||||||
 | 
					- Correction of Jellyfin CT Port [@mneten](https://github.com/mneten) ([#884](https://github.com/community-scripts/ProxmoxVE/pull/884))
 | 
				
			||||||
 | 
					- fix spinner on lxc-ip-tag [@MickLesk](https://github.com/MickLesk) ([#876](https://github.com/community-scripts/ProxmoxVE/pull/876))
 | 
				
			||||||
 | 
					- Fix Keycloak Installation [@MickLesk](https://github.com/MickLesk) ([#874](https://github.com/community-scripts/ProxmoxVE/pull/874))
 | 
				
			||||||
 | 
					- Fix ports ressources [@MickLesk](https://github.com/MickLesk) ([#867](https://github.com/community-scripts/ProxmoxVE/pull/867))
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					### 🧰 Maintenance
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					- Small Changes to the PR Template [@michelroegl-brunner](https://github.com/michelroegl-brunner) ([#862](https://github.com/community-scripts/ProxmoxVE/pull/862))
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					### ❔ Unlabelled
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					- calculate terminal size for header_info [@MickLesk](https://github.com/MickLesk) ([#879](https://github.com/community-scripts/ProxmoxVE/pull/879))
 | 
				
			||||||
 | 
					- Fix header creation with figlet for alpine [@MickLesk](https://github.com/MickLesk) ([#869](https://github.com/community-scripts/ProxmoxVE/pull/869))
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					## 2024-12-16
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					### Changed
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					### 💥 Breaking Changes
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					- Massive Update: build.func | install.func | create_lxc.sh (Part 1) [@MickLesk](https://github.com/MickLesk) ([#643](https://github.com/community-scripts/ProxmoxVE/pull/643))
 | 
				
			||||||
 | 
					- Update ALL CT's to new default (Part 2) [@MickLesk](https://github.com/MickLesk) ([#710](https://github.com/community-scripts/ProxmoxVE/pull/710))
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					### ✨ New Scripts
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					- New Script: LXC IP-Tag [@MickLesk](https://github.com/MickLesk) ([#536](https://github.com/community-scripts/ProxmoxVE/pull/536))
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					### 🚀 Updated Scripts
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					- Increase Size | Description & Download-URL of Debian VM [@MickLesk](https://github.com/MickLesk) ([#837](https://github.com/community-scripts/ProxmoxVE/pull/837))
 | 
				
			||||||
 | 
					- Update Script: Remove Docker Compose Question [@michelroegl-brunner](https://github.com/michelroegl-brunner) ([#847](https://github.com/community-scripts/ProxmoxVE/pull/847))
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					### 🌐 Website
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					- Bump nanoid from 3.3.7 to 3.3.8 in /frontend [@dependabot[bot]](https://github.com/dependabot[bot]) ([#845](https://github.com/community-scripts/ProxmoxVE/pull/845))
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					### ❔ Unlabelled
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					- Fix SSH root access in install.func [@havardthom](https://github.com/havardthom) ([#858](https://github.com/community-scripts/ProxmoxVE/pull/858))
 | 
				
			||||||
 | 
					- Fix variable name for CT_TYPE override [@remz1337](https://github.com/remz1337) ([#855](https://github.com/community-scripts/ProxmoxVE/pull/855))
 | 
				
			||||||
 | 
					- Keeps the same style after writing the SEARCH icon [@remz1337](https://github.com/remz1337) ([#851](https://github.com/community-scripts/ProxmoxVE/pull/851))
 | 
				
			||||||
 | 
					
 | 
				
			||||||
## 2024-12-13
 | 
					## 2024-12-13
 | 
				
			||||||
 | 
					
 | 
				
			||||||
### Changed
 | 
					### Changed
 | 
				
			||||||
 
 | 
				
			|||||||
							
								
								
									
										2
									
								
								LICENSE
									
									
									
									
									
								
							
							
						
						
									
										2
									
								
								LICENSE
									
									
									
									
									
								
							@@ -1,6 +1,6 @@
 | 
				
			|||||||
MIT License
 | 
					MIT License
 | 
				
			||||||
 | 
					
 | 
				
			||||||
Copyright (c) 2021-2024 tteck | community-scripts ORG 
 | 
					Copyright (c) 2021-2025 tteck | community-scripts ORG 
 | 
				
			||||||
 | 
					
 | 
				
			||||||
Permission is hereby granted, free of charge, to any person obtaining a copy
 | 
					Permission is hereby granted, free of charge, to any person obtaining a copy
 | 
				
			||||||
of this software and associated documentation files (the "Software"), to deal
 | 
					of this software and associated documentation files (the "Software"), to deal
 | 
				
			||||||
 
 | 
				
			|||||||
							
								
								
									
										90
									
								
								ct/2fauth.sh
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										90
									
								
								ct/2fauth.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 ORG
 | 
				
			||||||
 | 
					# Author: jkrgr0
 | 
				
			||||||
 | 
					# License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE
 | 
				
			||||||
 | 
					# Source: https://docs.2fauth.app/
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# App Default Values
 | 
				
			||||||
 | 
					APP="2FAuth"
 | 
				
			||||||
 | 
					TAGS="2fa;authenticator"
 | 
				
			||||||
 | 
					var_cpu="1"
 | 
				
			||||||
 | 
					var_ram="512"
 | 
				
			||||||
 | 
					var_disk="2"
 | 
				
			||||||
 | 
					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/2fauth" ]]; then
 | 
				
			||||||
 | 
					        msg_error "No ${APP} Installation Found!"
 | 
				
			||||||
 | 
					        exit
 | 
				
			||||||
 | 
					    fi
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    # Crawling the new version and checking whether an update is required
 | 
				
			||||||
 | 
					    RELEASE=$(curl -s https://api.github.com/repos/Bubka/2FAuth/releases/latest | grep "tag_name" | awk '{print substr($2, 2, length($2)-3) }')
 | 
				
			||||||
 | 
					    if [[ "${RELEASE}" != "$(cat /opt/2fauth_version.txt)" ]] || [[ ! -f /opt/2fauth_version.txt ]]; then
 | 
				
			||||||
 | 
					        msg_info "Updating $APP to ${RELEASE}"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					        apt-get update &>/dev/null
 | 
				
			||||||
 | 
					        apt-get -y upgrade &>/dev/null
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					        # Creating Backup
 | 
				
			||||||
 | 
					        msg_info "Creating Backup"
 | 
				
			||||||
 | 
					        mv "/opt/2fauth" "/opt/2fauth-backup"
 | 
				
			||||||
 | 
					        msg_ok "Backup Created"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					        # Execute Update
 | 
				
			||||||
 | 
					        wget -q "https://github.com/Bubka/2FAuth/archive/refs/tags/${RELEASE}.zip"
 | 
				
			||||||
 | 
					        unzip -q "${RELEASE}.zip"
 | 
				
			||||||
 | 
					        mv "2FAuth-${RELEASE//v}/" "/opt/2fauth"
 | 
				
			||||||
 | 
					        mv "/opt/2fauth-backup/.env" "/opt/2fauth/.env"
 | 
				
			||||||
 | 
					        mv "/opt/2fauth-backup/storage" "/opt/2fauth/storage"
 | 
				
			||||||
 | 
					        cd "/opt/2fauth" || return
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					        chown -R www-data: "/opt/2fauth"
 | 
				
			||||||
 | 
					        chmod -R 755 "/opt/2fauth"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					        export COMPOSER_ALLOW_SUPERUSER=1
 | 
				
			||||||
 | 
					        composer install --no-dev --prefer-source &>/dev/null
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					        php artisan 2fauth:install
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					        # Cleaning up
 | 
				
			||||||
 | 
					        msg_info "Cleaning Up"
 | 
				
			||||||
 | 
					        rm -rf "v${RELEASE}.zip"
 | 
				
			||||||
 | 
					        $STD apt-get -y autoremove
 | 
				
			||||||
 | 
					        $STD apt-get -y autoclean
 | 
				
			||||||
 | 
					        msg_ok "Cleanup Completed"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					        # Last Action
 | 
				
			||||||
 | 
					        echo "${RELEASE}" >/opt/2fauth_version.txt
 | 
				
			||||||
 | 
					        msg_ok "Updated $APP to ${RELEASE}"
 | 
				
			||||||
 | 
					    else
 | 
				
			||||||
 | 
					        msg_ok "No update required. ${APP} is already at ${RELEASE}"
 | 
				
			||||||
 | 
					    fi
 | 
				
			||||||
 | 
					    exit
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					start
 | 
				
			||||||
 | 
					build_container
 | 
				
			||||||
 | 
					description
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					msg_ok "Completed Successfully!\n"
 | 
				
			||||||
 | 
					echo -e "${CREATING}${GN}${APP} setup has been successfully initialized!${CL}"
 | 
				
			||||||
 | 
					echo -e "${INFO}${YW} Access it using the following URL:${CL}"
 | 
				
			||||||
 | 
					echo -e "${TAB}${GATEWAY}${BGN}http://${IP}:80${CL}"
 | 
				
			||||||
							
								
								
									
										109
									
								
								ct/5etools.sh
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										109
									
								
								ct/5etools.sh
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,109 @@
 | 
				
			|||||||
 | 
					#!/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"
 | 
				
			||||||
 | 
					        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"
 | 
				
			||||||
 | 
					        echo "${RELEASE}" >"/opt/${APP}_version.txt"
 | 
				
			||||||
 | 
					        msg_ok "Updated base 5etools"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					        chown -R www-data: "/opt/${APP}"
 | 
				
			||||||
 | 
					        chmod -R 755 "/opt/${APP}"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					        # Cleaning up
 | 
				
			||||||
 | 
					        msg_info "Cleaning Up"
 | 
				
			||||||
 | 
					        rm "${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"
 | 
				
			||||||
 | 
					        msg_ok "Updating 5etools images"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					        chown -R www-data: "/opt/${APP}"
 | 
				
			||||||
 | 
					        chmod -R 755 "/opt/${APP}"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					        # Cleaning up
 | 
				
			||||||
 | 
					        msg_info "Cleaning Up"
 | 
				
			||||||
 | 
					        rm "${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}"
 | 
				
			||||||
@@ -1,70 +1,45 @@
 | 
				
			|||||||
#!/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 tteck
 | 
					# Copyright (c) 2021-2025 tteck
 | 
				
			||||||
# Author: tteck (tteckster)
 | 
					# Author: tteck (tteckster)
 | 
				
			||||||
# License: MIT
 | 
					# License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE
 | 
				
			||||||
# https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE
 | 
					# Source: https://actualbudget.org/
 | 
				
			||||||
 | 
					
 | 
				
			||||||
function header_info {
 | 
					# App Default Values
 | 
				
			||||||
clear
 | 
					 | 
				
			||||||
cat <<"EOF"
 | 
					 | 
				
			||||||
    ___        __              __   ____            __           __
 | 
					 | 
				
			||||||
   /   | _____/ /___  ______ _/ /  / __ )__  ______/ /___ ____  / /_
 | 
					 | 
				
			||||||
  / /| |/ ___/ __/ / / / __ `/ /  / __  / / / / __  / __ `/ _ \/ __/
 | 
					 | 
				
			||||||
 / ___ / /__/ /_/ /_/ / /_/ / /  / /_/ / /_/ / /_/ / /_/ /  __/ /_
 | 
					 | 
				
			||||||
/_/  |_\___/\__/\__,_/\__,_/_/  /_____/\__,_/\__,_/\__, /\___/\__/
 | 
					 | 
				
			||||||
                                                  /____/
 | 
					 | 
				
			||||||
EOF
 | 
					 | 
				
			||||||
}
 | 
					 | 
				
			||||||
header_info
 | 
					 | 
				
			||||||
echo -e "Loading..."
 | 
					 | 
				
			||||||
APP="Actual Budget"
 | 
					APP="Actual Budget"
 | 
				
			||||||
var_disk="4"
 | 
					var_tags="finance"
 | 
				
			||||||
var_cpu="2"
 | 
					var_cpu="2"
 | 
				
			||||||
var_ram="2048"
 | 
					var_ram="2048"
 | 
				
			||||||
 | 
					var_disk="4"
 | 
				
			||||||
var_os="debian"
 | 
					var_os="debian"
 | 
				
			||||||
var_version="12"
 | 
					var_version="12"
 | 
				
			||||||
 | 
					var_unprivileged="1"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# App Output & Base Settings
 | 
				
			||||||
 | 
					header_info "$APP"
 | 
				
			||||||
 | 
					base_settings
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# Core
 | 
				
			||||||
variables
 | 
					variables
 | 
				
			||||||
color
 | 
					color
 | 
				
			||||||
catch_errors
 | 
					catch_errors
 | 
				
			||||||
 | 
					
 | 
				
			||||||
function default_settings() {
 | 
					 | 
				
			||||||
  CT_TYPE="1"
 | 
					 | 
				
			||||||
  PW=""
 | 
					 | 
				
			||||||
  CT_ID=$NEXTID
 | 
					 | 
				
			||||||
  HN=$NSAPP
 | 
					 | 
				
			||||||
  DISK_SIZE="$var_disk"
 | 
					 | 
				
			||||||
  CORE_COUNT="$var_cpu"
 | 
					 | 
				
			||||||
  RAM_SIZE="$var_ram"
 | 
					 | 
				
			||||||
  BRG="vmbr0"
 | 
					 | 
				
			||||||
  NET="dhcp"
 | 
					 | 
				
			||||||
  GATE=""
 | 
					 | 
				
			||||||
  APT_CACHER=""
 | 
					 | 
				
			||||||
  APT_CACHER_IP=""
 | 
					 | 
				
			||||||
  DISABLEIP6="no"
 | 
					 | 
				
			||||||
  MTU=""
 | 
					 | 
				
			||||||
  SD=""
 | 
					 | 
				
			||||||
  NS=""
 | 
					 | 
				
			||||||
  MAC=""
 | 
					 | 
				
			||||||
  VLAN=""
 | 
					 | 
				
			||||||
  SSH="no"
 | 
					 | 
				
			||||||
  VERB="no"
 | 
					 | 
				
			||||||
  echo_default
 | 
					 | 
				
			||||||
}
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
function update_script() {
 | 
					function update_script() {
 | 
				
			||||||
header_info
 | 
					    header_info
 | 
				
			||||||
check_container_storage
 | 
					    check_container_storage
 | 
				
			||||||
check_container_resources
 | 
					    check_container_resources
 | 
				
			||||||
if [[ ! -d /opt/actualbudget ]]; then msg_error "No ${APP} Installation Found!"; exit; fi
 | 
					    if [[ ! -d /opt/actualbudget ]]; then
 | 
				
			||||||
msg_info "Updating ${APP}"
 | 
					        msg_error "No ${APP} Installation Found!"
 | 
				
			||||||
systemctl stop actualbudget.service
 | 
					        exit
 | 
				
			||||||
cd /opt/actualbudget
 | 
					    fi
 | 
				
			||||||
git pull &>/dev/null
 | 
					    msg_info "Updating ${APP}"
 | 
				
			||||||
yarn install &>/dev/null
 | 
					    systemctl stop actualbudget.service
 | 
				
			||||||
systemctl start actualbudget.service
 | 
					    cd /opt/actualbudget
 | 
				
			||||||
msg_ok "Successfully Updated ${APP}"
 | 
					    git pull &>/dev/null
 | 
				
			||||||
exit
 | 
					    yarn install &>/dev/null
 | 
				
			||||||
 | 
					    systemctl start actualbudget.service
 | 
				
			||||||
 | 
					    msg_ok "Successfully Updated ${APP}"
 | 
				
			||||||
 | 
					    exit
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
start
 | 
					start
 | 
				
			||||||
@@ -72,5 +47,6 @@ build_container
 | 
				
			|||||||
description
 | 
					description
 | 
				
			||||||
 | 
					
 | 
				
			||||||
msg_ok "Completed Successfully!\n"
 | 
					msg_ok "Completed Successfully!\n"
 | 
				
			||||||
echo -e "${APP} should be reachable by going to the following URL.
 | 
					echo -e "${CREATING}${GN}${APP} setup has been successfully initialized!${CL}"
 | 
				
			||||||
         ${BL}http://${IP}:5006${CL} \n"
 | 
					echo -e "${INFO}${YW} Access it using the following URL:${CL}"
 | 
				
			||||||
 | 
					echo -e "${TAB}${GATEWAY}${BGN}http://${IP}:5006${CL}"
 | 
				
			||||||
@@ -1,64 +1,39 @@
 | 
				
			|||||||
#!/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 tteck
 | 
					# Copyright (c) 2021-2025 tteck
 | 
				
			||||||
# Author: tteck (tteckster)
 | 
					# Author: tteck (tteckster)
 | 
				
			||||||
# License: MIT
 | 
					# License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE
 | 
				
			||||||
# https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE
 | 
					# Source: https://adguard.com/
 | 
				
			||||||
 | 
					
 | 
				
			||||||
function header_info {
 | 
					# App Default Values
 | 
				
			||||||
clear
 | 
					 | 
				
			||||||
cat <<"EOF"
 | 
					 | 
				
			||||||
    ___       __                           __
 | 
					 | 
				
			||||||
   /   | ____/ /___ ___  ______ __________/ /
 | 
					 | 
				
			||||||
  / /| |/ __  / __  / / / / __  / ___/ __  / 
 | 
					 | 
				
			||||||
 / ___ / /_/ / /_/ / /_/ / /_/ / /  / /_/ /  
 | 
					 | 
				
			||||||
/_/  |_\__,_/\__, /\__,_/\__,_/_/   \__,_/   
 | 
					 | 
				
			||||||
            /____/                           
 | 
					 | 
				
			||||||
 
 | 
					 | 
				
			||||||
EOF
 | 
					 | 
				
			||||||
}
 | 
					 | 
				
			||||||
header_info
 | 
					 | 
				
			||||||
echo -e "Loading..."
 | 
					 | 
				
			||||||
APP="Adguard"
 | 
					APP="Adguard"
 | 
				
			||||||
var_disk="2"
 | 
					var_tags="adblock"
 | 
				
			||||||
var_cpu="1"
 | 
					var_cpu="1"
 | 
				
			||||||
var_ram="512"
 | 
					var_ram="512"
 | 
				
			||||||
 | 
					var_disk="2"
 | 
				
			||||||
var_os="debian"
 | 
					var_os="debian"
 | 
				
			||||||
var_version="12"
 | 
					var_version="12"
 | 
				
			||||||
 | 
					var_unprivileged="1"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# App Output & Base Settings
 | 
				
			||||||
 | 
					header_info "$APP"
 | 
				
			||||||
 | 
					base_settings
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# Core
 | 
				
			||||||
variables
 | 
					variables
 | 
				
			||||||
color
 | 
					color
 | 
				
			||||||
catch_errors
 | 
					catch_errors
 | 
				
			||||||
 | 
					
 | 
				
			||||||
function default_settings() {
 | 
					 | 
				
			||||||
  CT_TYPE="1"
 | 
					 | 
				
			||||||
  PW=""
 | 
					 | 
				
			||||||
  CT_ID=$NEXTID
 | 
					 | 
				
			||||||
  HN=$NSAPP
 | 
					 | 
				
			||||||
  DISK_SIZE="$var_disk"
 | 
					 | 
				
			||||||
  CORE_COUNT="$var_cpu"
 | 
					 | 
				
			||||||
  RAM_SIZE="$var_ram"
 | 
					 | 
				
			||||||
  BRG="vmbr0"
 | 
					 | 
				
			||||||
  NET="dhcp"
 | 
					 | 
				
			||||||
  GATE=""
 | 
					 | 
				
			||||||
  APT_CACHER=""
 | 
					 | 
				
			||||||
  APT_CACHER_IP=""
 | 
					 | 
				
			||||||
  DISABLEIP6="no"
 | 
					 | 
				
			||||||
  MTU=""
 | 
					 | 
				
			||||||
  SD=""
 | 
					 | 
				
			||||||
  NS=""
 | 
					 | 
				
			||||||
  MAC=""
 | 
					 | 
				
			||||||
  VLAN=""
 | 
					 | 
				
			||||||
  SSH="no"
 | 
					 | 
				
			||||||
  VERB="no"
 | 
					 | 
				
			||||||
  echo_default
 | 
					 | 
				
			||||||
}
 | 
					 | 
				
			||||||
function update_script() {
 | 
					function update_script() {
 | 
				
			||||||
header_info
 | 
					    header_info
 | 
				
			||||||
check_container_storage
 | 
					    check_container_storage
 | 
				
			||||||
check_container_resources
 | 
					    check_container_resources
 | 
				
			||||||
if [[ ! -d /opt/AdGuardHome ]]; then msg_error "No ${APP} Installation Found!"; exit; fi
 | 
					    if [[ ! -d /opt/AdGuardHome ]]; then
 | 
				
			||||||
msg_error "Adguard Home should be updated via the user interface."
 | 
					        msg_error "No ${APP} Installation Found!"
 | 
				
			||||||
exit
 | 
					        exit
 | 
				
			||||||
 | 
					    fi
 | 
				
			||||||
 | 
					    msg_error "Adguard Home should be updated via the user interface."
 | 
				
			||||||
 | 
					    exit
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
start
 | 
					start
 | 
				
			||||||
@@ -66,5 +41,6 @@ build_container
 | 
				
			|||||||
description
 | 
					description
 | 
				
			||||||
 | 
					
 | 
				
			||||||
msg_ok "Completed Successfully!\n"
 | 
					msg_ok "Completed Successfully!\n"
 | 
				
			||||||
echo -e "${APP} Setup should be reachable by going to the following URL.
 | 
					echo -e "${CREATING}${GN}${APP} setup has been successfully initialized!${CL}"
 | 
				
			||||||
         ${BL}http://${IP}:3000${CL} \n"
 | 
					echo -e "${INFO}${YW} Access it using the following URL:${CL}"
 | 
				
			||||||
 | 
					echo -e "${TAB}${GATEWAY}${BGN}http://${IP}:3000${CL}"
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -1,102 +1,77 @@
 | 
				
			|||||||
#!/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 tteck
 | 
					# Copyright (c) 2021-2025 tteck
 | 
				
			||||||
# Author: tteck
 | 
					# Author: MickLesk (Canbiz)
 | 
				
			||||||
# Co-Author: MickLesk (Canbiz)
 | 
					# License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE
 | 
				
			||||||
# License: MIT
 | 
					# Source: https://adventurelog.app/
 | 
				
			||||||
# https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE
 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
function header_info {
 | 
					# App Default Values
 | 
				
			||||||
clear
 | 
					 | 
				
			||||||
cat <<"EOF"
 | 
					 | 
				
			||||||
    ___       __                 __                  __               
 | 
					 | 
				
			||||||
   /   | ____/ /   _____  ____  / /___  __________  / /   ____  ____ _
 | 
					 | 
				
			||||||
  / /| |/ __  / | / / _ \/ __ \/ __/ / / / ___/ _ \/ /   / __ \/ __ `/
 | 
					 | 
				
			||||||
 / ___ / /_/ /| |/ /  __/ / / / /_/ /_/ / /  /  __/ /___/ /_/ / /_/ / 
 | 
					 | 
				
			||||||
/_/  |_\__,_/ |___/\___/_/ /_/\__/\__,_/_/   \___/_____/\____/\__, /  
 | 
					 | 
				
			||||||
                                                             /____/   
 | 
					 | 
				
			||||||
EOF
 | 
					 | 
				
			||||||
}
 | 
					 | 
				
			||||||
header_info
 | 
					 | 
				
			||||||
echo -e "Loading..."
 | 
					 | 
				
			||||||
APP="AdventureLog"
 | 
					APP="AdventureLog"
 | 
				
			||||||
 | 
					var_tags="traveling"
 | 
				
			||||||
var_disk="7"
 | 
					var_disk="7"
 | 
				
			||||||
var_cpu="2"
 | 
					var_cpu="2"
 | 
				
			||||||
var_ram="2048"
 | 
					var_ram="2048"
 | 
				
			||||||
var_os="debian"
 | 
					var_os="debian"
 | 
				
			||||||
var_version="12"
 | 
					var_version="12"
 | 
				
			||||||
 | 
					var_unprivileged="1"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# App Output & Base Settings
 | 
				
			||||||
 | 
					header_info "$APP"
 | 
				
			||||||
 | 
					base_settings
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# Core
 | 
				
			||||||
variables
 | 
					variables
 | 
				
			||||||
color
 | 
					color
 | 
				
			||||||
catch_errors
 | 
					catch_errors
 | 
				
			||||||
 | 
					
 | 
				
			||||||
function default_settings() {
 | 
					 | 
				
			||||||
  CT_TYPE="1"
 | 
					 | 
				
			||||||
  PW=""
 | 
					 | 
				
			||||||
  CT_ID=$NEXTID
 | 
					 | 
				
			||||||
  HN=$NSAPP
 | 
					 | 
				
			||||||
  DISK_SIZE="$var_disk"
 | 
					 | 
				
			||||||
  CORE_COUNT="$var_cpu"
 | 
					 | 
				
			||||||
  RAM_SIZE="$var_ram"
 | 
					 | 
				
			||||||
  BRG="vmbr0"
 | 
					 | 
				
			||||||
  NET="dhcp"
 | 
					 | 
				
			||||||
  GATE=""
 | 
					 | 
				
			||||||
  APT_CACHER=""
 | 
					 | 
				
			||||||
  APT_CACHER_IP=""
 | 
					 | 
				
			||||||
  DISABLEIP6="no"
 | 
					 | 
				
			||||||
  MTU=""
 | 
					 | 
				
			||||||
  SD=""
 | 
					 | 
				
			||||||
  NS=""
 | 
					 | 
				
			||||||
  MAC=""
 | 
					 | 
				
			||||||
  VLAN=""
 | 
					 | 
				
			||||||
  SSH="no"
 | 
					 | 
				
			||||||
  VERB="no"
 | 
					 | 
				
			||||||
  echo_default
 | 
					 | 
				
			||||||
}
 | 
					 | 
				
			||||||
function update_script() {
 | 
					function update_script() {
 | 
				
			||||||
header_info
 | 
					  header_info
 | 
				
			||||||
check_container_storage
 | 
					  check_container_storage
 | 
				
			||||||
check_container_resources
 | 
					  check_container_resources
 | 
				
			||||||
if [[ ! -d /opt/adventurelog ]]; then msg_error "No ${APP} Installation Found!"; exit; fi
 | 
					  if [[ ! -d /opt/adventurelog ]]; then
 | 
				
			||||||
RELEASE=$(curl -s https://api.github.com/repos/seanmorley15/AdventureLog/releases/latest | grep "tag_name" | awk '{print substr($2, 3, length($2)-4) }')
 | 
					    msg_error "No ${APP} Installation Found!"
 | 
				
			||||||
if [[ ! -f /opt/${APP}_version.txt ]] || [[ "${RELEASE}" != "$(cat /opt/${APP}_version.txt)" ]]; then
 | 
					    exit
 | 
				
			||||||
  msg_info "Stopping Services"
 | 
					  fi
 | 
				
			||||||
  systemctl stop adventurelog-backend
 | 
					  RELEASE=$(curl -s https://api.github.com/repos/seanmorley15/AdventureLog/releases/latest | grep "tag_name" | awk '{print substr($2, 3, length($2)-4) }')
 | 
				
			||||||
  systemctl stop adventurelog-frontend
 | 
					  if [[ ! -f /opt/${APP}_version.txt ]] || [[ "${RELEASE}" != "$(cat /opt/${APP}_version.txt)" ]]; then
 | 
				
			||||||
  msg_ok "Services Stopped"
 | 
					    msg_info "Stopping Services"
 | 
				
			||||||
 | 
					    systemctl stop adventurelog-backend
 | 
				
			||||||
 | 
					    systemctl stop adventurelog-frontend
 | 
				
			||||||
 | 
					    msg_ok "Services Stopped"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  msg_info "Updating ${APP} to ${RELEASE}"
 | 
					    msg_info "Updating ${APP} to ${RELEASE}"
 | 
				
			||||||
  cp /opt/adventurelog/backend/server/.env /opt/server.env
 | 
					    cp /opt/adventurelog/backend/server/.env /opt/server.env
 | 
				
			||||||
  cp /opt/adventurelog/frontend/.env /opt/frontend.env
 | 
					    cp /opt/adventurelog/frontend/.env /opt/frontend.env
 | 
				
			||||||
  wget -q "https://github.com/seanmorley15/AdventureLog/archive/refs/tags/v${RELEASE}.zip"
 | 
					    wget -q "https://github.com/seanmorley15/AdventureLog/archive/refs/tags/v${RELEASE}.zip"
 | 
				
			||||||
  unzip -q v${RELEASE}.zip
 | 
					    unzip -q v${RELEASE}.zip
 | 
				
			||||||
  mv AdventureLog-${RELEASE} /opt/adventurelog
 | 
					    mv AdventureLog-${RELEASE} /opt/adventurelog
 | 
				
			||||||
  mv /opt/server.env /opt/adventurelog/backend/server/.env
 | 
					    mv /opt/server.env /opt/adventurelog/backend/server/.env
 | 
				
			||||||
  cd /opt/adventurelog/backend/server
 | 
					    cd /opt/adventurelog/backend/server
 | 
				
			||||||
  pip install --upgrade pip &>/dev/null
 | 
					    pip install --upgrade pip &>/dev/null
 | 
				
			||||||
  pip install -r requirements.txt &>/dev/null
 | 
					    pip install -r requirements.txt &>/dev/null
 | 
				
			||||||
  python3 manage.py collectstatic --noinput &>/dev/null
 | 
					    python3 manage.py collectstatic --noinput &>/dev/null
 | 
				
			||||||
  python3 manage.py migrate &>/dev/null
 | 
					    python3 manage.py migrate &>/dev/null
 | 
				
			||||||
  
 | 
					 | 
				
			||||||
  mv /opt/frontend.env /opt/adventurelog/frontend/.env
 | 
					 | 
				
			||||||
  cd /opt/adventurelog/frontend
 | 
					 | 
				
			||||||
  pnpm install &>/dev/null
 | 
					 | 
				
			||||||
  pnpm run build &>/dev/null
 | 
					 | 
				
			||||||
  echo "${RELEASE}" >/opt/${APP}_version.txt
 | 
					 | 
				
			||||||
  msg_ok "Updated ${APP}"
 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
  msg_info "Starting Services"
 | 
					    mv /opt/frontend.env /opt/adventurelog/frontend/.env
 | 
				
			||||||
  systemctl start adventurelog-backend
 | 
					    cd /opt/adventurelog/frontend
 | 
				
			||||||
  systemctl start adventurelog-frontend
 | 
					    pnpm install &>/dev/null
 | 
				
			||||||
  msg_ok "Started Services"
 | 
					    pnpm run build &>/dev/null
 | 
				
			||||||
 | 
					    echo "${RELEASE}" >/opt/${APP}_version.txt
 | 
				
			||||||
 | 
					    msg_ok "Updated ${APP}"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  msg_info "Cleaning Up"
 | 
					    msg_info "Starting Services"
 | 
				
			||||||
  rm -rf v${RELEASE}.zip
 | 
					    systemctl start adventurelog-backend
 | 
				
			||||||
  msg_ok "Cleaned"
 | 
					    systemctl start adventurelog-frontend
 | 
				
			||||||
  msg_ok "Updated Successfully"
 | 
					    msg_ok "Started Services"
 | 
				
			||||||
else
 | 
					
 | 
				
			||||||
  msg_ok "No update required. ${APP} is already at ${RELEASE}"
 | 
					    msg_info "Cleaning Up"
 | 
				
			||||||
fi
 | 
					    rm -rf v${RELEASE}.zip
 | 
				
			||||||
exit
 | 
					    msg_ok "Cleaned"
 | 
				
			||||||
 | 
					    msg_ok "Updated Successfully"
 | 
				
			||||||
 | 
					  else
 | 
				
			||||||
 | 
					    msg_ok "No update required. ${APP} is already at ${RELEASE}"
 | 
				
			||||||
 | 
					  fi
 | 
				
			||||||
 | 
					  exit
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
start
 | 
					start
 | 
				
			||||||
@@ -104,5 +79,6 @@ build_container
 | 
				
			|||||||
description
 | 
					description
 | 
				
			||||||
 | 
					
 | 
				
			||||||
msg_ok "Completed Successfully!\n"
 | 
					msg_ok "Completed Successfully!\n"
 | 
				
			||||||
echo -e "${APP} Setup should be reachable by going to the following URL.
 | 
					echo -e "${CREATING}${GN}${APP} setup has been successfully initialized!${CL}"
 | 
				
			||||||
         ${BL}http://${IP}:3000${CL} \n"
 | 
					echo -e "${INFO}${YW} Access it using the following URL:${CL}"
 | 
				
			||||||
 | 
					echo -e "${TAB}${GATEWAY}${BGN}http://${IP}:3000${CL}"
 | 
				
			||||||
@@ -1,64 +1,39 @@
 | 
				
			|||||||
#!/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 tteck
 | 
					# Copyright (c) 2021-2025 tteck
 | 
				
			||||||
# Author: tteck (tteckster)
 | 
					# Author: tteck (tteckster)
 | 
				
			||||||
# License: MIT
 | 
					# License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE
 | 
				
			||||||
# https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE
 | 
					# Source: https://www.ispyconnect.com/
 | 
				
			||||||
 | 
					
 | 
				
			||||||
function header_info {
 | 
					# App Default Values
 | 
				
			||||||
clear
 | 
					 | 
				
			||||||
cat <<"EOF"
 | 
					 | 
				
			||||||
    ___                    __  ____ _    ______
 | 
					 | 
				
			||||||
   /   | ____ ____  ____  / /_/ __ \ |  / / __ \
 | 
					 | 
				
			||||||
  / /| |/ __ `/ _ \/ __ \/ __/ / / / | / / /_/ /
 | 
					 | 
				
			||||||
 / ___ / /_/ /  __/ / / / /_/ /_/ /| |/ / _, _/
 | 
					 | 
				
			||||||
/_/  |_\__, /\___/_/ /_/\__/_____/ |___/_/ |_|
 | 
					 | 
				
			||||||
      /____/
 | 
					 | 
				
			||||||
EOF
 | 
					 | 
				
			||||||
}
 | 
					 | 
				
			||||||
header_info
 | 
					 | 
				
			||||||
echo -e "Loading..."
 | 
					 | 
				
			||||||
APP="AgentDVR"
 | 
					APP="AgentDVR"
 | 
				
			||||||
var_disk="8"
 | 
					var_tags="dvr"
 | 
				
			||||||
var_cpu="2"
 | 
					var_cpu="2"
 | 
				
			||||||
var_ram="2048"
 | 
					var_ram="2048"
 | 
				
			||||||
 | 
					var_disk="8"
 | 
				
			||||||
var_os="ubuntu"
 | 
					var_os="ubuntu"
 | 
				
			||||||
var_version="22.04"
 | 
					var_version="22.04"
 | 
				
			||||||
 | 
					var_unprivileged="0"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# App Output & Base Settings
 | 
				
			||||||
 | 
					header_info "$APP"
 | 
				
			||||||
 | 
					base_settings
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# Core
 | 
				
			||||||
variables
 | 
					variables
 | 
				
			||||||
color
 | 
					color
 | 
				
			||||||
catch_errors
 | 
					catch_errors
 | 
				
			||||||
 | 
					
 | 
				
			||||||
function default_settings() {
 | 
					 | 
				
			||||||
  CT_TYPE="0"
 | 
					 | 
				
			||||||
  PW=""
 | 
					 | 
				
			||||||
  CT_ID=$NEXTID
 | 
					 | 
				
			||||||
  HN=$NSAPP
 | 
					 | 
				
			||||||
  DISK_SIZE="$var_disk"
 | 
					 | 
				
			||||||
  CORE_COUNT="$var_cpu"
 | 
					 | 
				
			||||||
  RAM_SIZE="$var_ram"
 | 
					 | 
				
			||||||
  BRG="vmbr0"
 | 
					 | 
				
			||||||
  NET="dhcp"
 | 
					 | 
				
			||||||
  GATE=""
 | 
					 | 
				
			||||||
  APT_CACHER=""
 | 
					 | 
				
			||||||
  APT_CACHER_IP=""
 | 
					 | 
				
			||||||
  DISABLEIP6="no"
 | 
					 | 
				
			||||||
  MTU=""
 | 
					 | 
				
			||||||
  SD=""
 | 
					 | 
				
			||||||
  NS=""
 | 
					 | 
				
			||||||
  MAC=""
 | 
					 | 
				
			||||||
  VLAN=""
 | 
					 | 
				
			||||||
  SSH="no"
 | 
					 | 
				
			||||||
  VERB="no"
 | 
					 | 
				
			||||||
  echo_default
 | 
					 | 
				
			||||||
}
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
function update_script() {
 | 
					function update_script() {
 | 
				
			||||||
header_info
 | 
					    header_info
 | 
				
			||||||
check_container_storage
 | 
					    check_container_storage
 | 
				
			||||||
check_container_resources
 | 
					    check_container_resources
 | 
				
			||||||
if [[ ! -d /opt/agentdvr ]]; then msg_error "No ${APP} Installation Found!"; exit; fi
 | 
					    if [[ ! -d /opt/agentdvr ]]; then
 | 
				
			||||||
msg_error "There is currently no update path available."
 | 
					        msg_error "No ${APP} Installation Found!"
 | 
				
			||||||
exit
 | 
					        exit
 | 
				
			||||||
 | 
					    fi
 | 
				
			||||||
 | 
					    msg_error "There is currently no update path available."
 | 
				
			||||||
 | 
					    exit
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
start
 | 
					start
 | 
				
			||||||
@@ -66,5 +41,6 @@ build_container
 | 
				
			|||||||
description
 | 
					description
 | 
				
			||||||
 | 
					
 | 
				
			||||||
msg_ok "Completed Successfully!\n"
 | 
					msg_ok "Completed Successfully!\n"
 | 
				
			||||||
echo -e "${APP}${CL} should be reachable by going to the following URL.
 | 
					echo -e "${CREATING}${GN}${APP} setup has been successfully initialized!${CL}"
 | 
				
			||||||
         ${BL}http://${IP}:8090${CL} \n"
 | 
					echo -e "${INFO}${YW} Access it using the following URL:${CL}"
 | 
				
			||||||
 | 
					echo -e "${TAB}${GATEWAY}${BGN}http://${IP}:8090${CL}"
 | 
				
			||||||
@@ -1,58 +1,28 @@
 | 
				
			|||||||
#!/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 tteck
 | 
					# Copyright (c) 2021-2025 tteck
 | 
				
			||||||
# Author: tteck (tteckster)
 | 
					# Author: tteck (tteckster)
 | 
				
			||||||
# License: MIT
 | 
					# License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE
 | 
				
			||||||
# https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE
 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
function header_info {
 | 
					# App Default Values
 | 
				
			||||||
  clear
 | 
					 | 
				
			||||||
  cat <<"EOF"
 | 
					 | 
				
			||||||
    ____             __            
 | 
					 | 
				
			||||||
   / __ \____  _____/ /_  __  _____
 | 
					 | 
				
			||||||
  / / / / __ \/ ___/ //_/ _ \/ ___/
 | 
					 | 
				
			||||||
 / /_/ / /_/ / /__/ ,< /  __/ /    
 | 
					 | 
				
			||||||
/_____/\____/\___/_/|_|\___/_/     
 | 
					 | 
				
			||||||
 Alpine
 | 
					 | 
				
			||||||
 
 | 
					 | 
				
			||||||
EOF
 | 
					 | 
				
			||||||
}
 | 
					 | 
				
			||||||
header_info
 | 
					 | 
				
			||||||
echo -e "Loading..."
 | 
					 | 
				
			||||||
APP="Alpine-Docker"
 | 
					APP="Alpine-Docker"
 | 
				
			||||||
var_disk="2"
 | 
					var_tags="docker;alpine"
 | 
				
			||||||
var_cpu="1"
 | 
					var_cpu="1"
 | 
				
			||||||
var_ram="1024"
 | 
					var_ram="1024"
 | 
				
			||||||
 | 
					var_disk="2"
 | 
				
			||||||
var_os="alpine"
 | 
					var_os="alpine"
 | 
				
			||||||
var_version="3.19"
 | 
					var_version="3.20"
 | 
				
			||||||
 | 
					var_unprivileged="1"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# App Output & Base Settings
 | 
				
			||||||
 | 
					header_info "$APP"
 | 
				
			||||||
 | 
					base_settings
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# Core
 | 
				
			||||||
variables
 | 
					variables
 | 
				
			||||||
color
 | 
					color
 | 
				
			||||||
catch_errors
 | 
					catch_errors
 | 
				
			||||||
 | 
					
 | 
				
			||||||
function default_settings() {
 | 
					 | 
				
			||||||
  CT_TYPE="1"
 | 
					 | 
				
			||||||
  PW=""
 | 
					 | 
				
			||||||
  CT_ID=$NEXTID
 | 
					 | 
				
			||||||
  HN=$NSAPP
 | 
					 | 
				
			||||||
  DISK_SIZE="$var_disk"
 | 
					 | 
				
			||||||
  CORE_COUNT="$var_cpu"
 | 
					 | 
				
			||||||
  RAM_SIZE="$var_ram"
 | 
					 | 
				
			||||||
  BRG="vmbr0"
 | 
					 | 
				
			||||||
  NET="dhcp"
 | 
					 | 
				
			||||||
  GATE=""
 | 
					 | 
				
			||||||
  APT_CACHER=""
 | 
					 | 
				
			||||||
  APT_CACHER_IP=""
 | 
					 | 
				
			||||||
  DISABLEIP6="no"
 | 
					 | 
				
			||||||
  MTU=""
 | 
					 | 
				
			||||||
  SD=""
 | 
					 | 
				
			||||||
  NS=""
 | 
					 | 
				
			||||||
  MAC=""
 | 
					 | 
				
			||||||
  VLAN=""
 | 
					 | 
				
			||||||
  SSH="no"
 | 
					 | 
				
			||||||
  VERB="no"
 | 
					 | 
				
			||||||
  echo_default
 | 
					 | 
				
			||||||
}
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
function update_script() {
 | 
					function update_script() {
 | 
				
			||||||
  if ! apk -e info newt >/dev/null 2>&1; then
 | 
					  if ! apk -e info newt >/dev/null 2>&1; then
 | 
				
			||||||
    apk add -q newt
 | 
					    apk add -q newt
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -1,58 +1,28 @@
 | 
				
			|||||||
#!/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 tteck
 | 
					# Copyright (c) 2021-2025 tteck
 | 
				
			||||||
# Author: tteck (tteckster)
 | 
					# Author: tteck (tteckster)
 | 
				
			||||||
# License: MIT
 | 
					# License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE
 | 
				
			||||||
# https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE
 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
function header_info {
 | 
					# App Default Values
 | 
				
			||||||
  clear
 | 
					 | 
				
			||||||
  cat <<"EOF"
 | 
					 | 
				
			||||||
   ______           ____                 
 | 
					 | 
				
			||||||
  / ____/________ _/ __/___ _____  ____ _
 | 
					 | 
				
			||||||
 / / __/ ___/ __  / /_/ __  / __ \/ __  /
 | 
					 | 
				
			||||||
/ /_/ / /  / /_/ / __/ /_/ / / / / /_/ / 
 | 
					 | 
				
			||||||
\____/_/   \__,_/_/  \__,_/_/ /_/\__,_/  
 | 
					 | 
				
			||||||
 Alpine
 | 
					 | 
				
			||||||
 
 | 
					 | 
				
			||||||
EOF
 | 
					 | 
				
			||||||
}
 | 
					 | 
				
			||||||
header_info
 | 
					 | 
				
			||||||
echo -e "Loading..."
 | 
					 | 
				
			||||||
APP="Alpine-Grafana"
 | 
					APP="Alpine-Grafana"
 | 
				
			||||||
var_disk="1"
 | 
					var_tags="alpine;monitoring"
 | 
				
			||||||
var_cpu="1"
 | 
					var_cpu="1"
 | 
				
			||||||
var_ram="256"
 | 
					var_ram="256"
 | 
				
			||||||
 | 
					var_disk="1"
 | 
				
			||||||
var_os="alpine"
 | 
					var_os="alpine"
 | 
				
			||||||
var_version="3.19"
 | 
					var_version="3.20"
 | 
				
			||||||
 | 
					var_unprivileged="1"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# App Output & Base Settings
 | 
				
			||||||
 | 
					header_info "$APP"
 | 
				
			||||||
 | 
					base_settings
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# Core
 | 
				
			||||||
variables
 | 
					variables
 | 
				
			||||||
color
 | 
					color
 | 
				
			||||||
catch_errors
 | 
					catch_errors
 | 
				
			||||||
 | 
					
 | 
				
			||||||
function default_settings() {
 | 
					 | 
				
			||||||
  CT_TYPE="1"
 | 
					 | 
				
			||||||
  PW=""
 | 
					 | 
				
			||||||
  CT_ID=$NEXTID
 | 
					 | 
				
			||||||
  HN=$NSAPP
 | 
					 | 
				
			||||||
  DISK_SIZE="$var_disk"
 | 
					 | 
				
			||||||
  CORE_COUNT="$var_cpu"
 | 
					 | 
				
			||||||
  RAM_SIZE="$var_ram"
 | 
					 | 
				
			||||||
  BRG="vmbr0"
 | 
					 | 
				
			||||||
  NET="dhcp"
 | 
					 | 
				
			||||||
  GATE=""
 | 
					 | 
				
			||||||
  APT_CACHER=""
 | 
					 | 
				
			||||||
  APT_CACHER_IP=""
 | 
					 | 
				
			||||||
  DISABLEIP6="no"
 | 
					 | 
				
			||||||
  MTU=""
 | 
					 | 
				
			||||||
  SD=""
 | 
					 | 
				
			||||||
  NS=""
 | 
					 | 
				
			||||||
  MAC=""
 | 
					 | 
				
			||||||
  VLAN=""
 | 
					 | 
				
			||||||
  SSH="no"
 | 
					 | 
				
			||||||
  VERB="no"
 | 
					 | 
				
			||||||
  echo_default
 | 
					 | 
				
			||||||
}
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
function update_script() {
 | 
					function update_script() {
 | 
				
			||||||
  if ! apk -e info newt >/dev/null 2>&1; then
 | 
					  if ! apk -e info newt >/dev/null 2>&1; then
 | 
				
			||||||
    apk add -q newt
 | 
					    apk add -q newt
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -1,57 +1,28 @@
 | 
				
			|||||||
#!/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 tteck
 | 
					# Copyright (c) 2021-2025 tteck
 | 
				
			||||||
# Author: tteck (tteckster)
 | 
					# Author: tteck (tteckster)
 | 
				
			||||||
# License: MIT
 | 
					# License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE
 | 
				
			||||||
# https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE
 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
function header_info {
 | 
					# App Default Values
 | 
				
			||||||
  clear
 | 
					 | 
				
			||||||
  cat <<"EOF"
 | 
					 | 
				
			||||||
    _   __          __       __                __   __  __      __
 | 
					 | 
				
			||||||
   / | / /__  _  __/ /______/ /___  __  ______/ /  / / / /_  __/ /_
 | 
					 | 
				
			||||||
  /  |/ / _ \| |/_/ __/ ___/ / __ \/ / / / __  /  / /_/ / / / / __ \
 | 
					 | 
				
			||||||
 / /|  /  __/>  </ /_/ /__/ / /_/ / /_/ / /_/ /  / __  / /_/ / /_/ /
 | 
					 | 
				
			||||||
/_/ |_/\___/_/|_|\__/\___/_/\____/\__,_/\__,_/  /_/ /_/\__,_/_.___/
 | 
					 | 
				
			||||||
Alpine
 | 
					 | 
				
			||||||
EOF
 | 
					 | 
				
			||||||
}
 | 
					 | 
				
			||||||
header_info
 | 
					 | 
				
			||||||
echo -e "Loading..."
 | 
					 | 
				
			||||||
APP="Alpine-Nextcloud"
 | 
					APP="Alpine-Nextcloud"
 | 
				
			||||||
var_disk="2"
 | 
					var_tags="alpine;cloud"
 | 
				
			||||||
var_cpu="2"
 | 
					var_cpu="2"
 | 
				
			||||||
var_ram="1024"
 | 
					var_ram="1024"
 | 
				
			||||||
 | 
					var_disk="2"
 | 
				
			||||||
var_os="alpine"
 | 
					var_os="alpine"
 | 
				
			||||||
var_version="3.19"
 | 
					var_version="3.20"
 | 
				
			||||||
 | 
					var_unprivileged="1"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# App Output & Base Settings
 | 
				
			||||||
 | 
					header_info "$APP"
 | 
				
			||||||
 | 
					base_settings
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# Core 
 | 
				
			||||||
variables
 | 
					variables
 | 
				
			||||||
color
 | 
					color
 | 
				
			||||||
catch_errors
 | 
					catch_errors
 | 
				
			||||||
 | 
					
 | 
				
			||||||
function default_settings() {
 | 
					 | 
				
			||||||
  CT_TYPE="1"
 | 
					 | 
				
			||||||
  PW=""
 | 
					 | 
				
			||||||
  CT_ID=$NEXTID
 | 
					 | 
				
			||||||
  HN=$NSAPP
 | 
					 | 
				
			||||||
  DISK_SIZE="$var_disk"
 | 
					 | 
				
			||||||
  CORE_COUNT="$var_cpu"
 | 
					 | 
				
			||||||
  RAM_SIZE="$var_ram"
 | 
					 | 
				
			||||||
  BRG="vmbr0"
 | 
					 | 
				
			||||||
  NET="dhcp"
 | 
					 | 
				
			||||||
  GATE=""
 | 
					 | 
				
			||||||
  APT_CACHER=""
 | 
					 | 
				
			||||||
  APT_CACHER_IP=""
 | 
					 | 
				
			||||||
  DISABLEIP6="no"
 | 
					 | 
				
			||||||
  MTU=""
 | 
					 | 
				
			||||||
  SD=""
 | 
					 | 
				
			||||||
  NS=""
 | 
					 | 
				
			||||||
  MAC=""
 | 
					 | 
				
			||||||
  VLAN=""
 | 
					 | 
				
			||||||
  SSH="no"
 | 
					 | 
				
			||||||
  VERB="no"
 | 
					 | 
				
			||||||
  echo_default
 | 
					 | 
				
			||||||
}
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
function update_script() {
 | 
					function update_script() {
 | 
				
			||||||
  if [[ ! -d /usr/share/webapps/nextcloud ]]; then
 | 
					  if [[ ! -d /usr/share/webapps/nextcloud ]]; then
 | 
				
			||||||
    msg_error "No ${APP} Installation Found!"
 | 
					    msg_error "No ${APP} Installation Found!"
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -1,58 +1,28 @@
 | 
				
			|||||||
#!/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 tteck
 | 
					# Copyright (c) 2021-2025 tteck
 | 
				
			||||||
# Author: tteck (tteckster)
 | 
					# Author: tteck (tteckster)
 | 
				
			||||||
# License: MIT
 | 
					# License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE
 | 
				
			||||||
# https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE
 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
function header_info {
 | 
					# App Default Values
 | 
				
			||||||
  clear
 | 
					 | 
				
			||||||
  cat <<"EOF"
 | 
					 | 
				
			||||||
 _    __            ____                          __         
 | 
					 | 
				
			||||||
| |  / /___ ___  __/ / /__      ______ __________/ /__  ____ 
 | 
					 | 
				
			||||||
| | / / __ `/ / / / / __/ | /| / / __ `/ ___/ __  / _ \/ __ \
 | 
					 | 
				
			||||||
| |/ / /_/ / /_/ / / /_ | |/ |/ / /_/ / /  / /_/ /  __/ / / /
 | 
					 | 
				
			||||||
|___/\__,_/\__,_/_/\__/ |__/|__/\__,_/_/   \__,_/\___/_/ /_/ 
 | 
					 | 
				
			||||||
 Alpine                                                 
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
EOF
 | 
					 | 
				
			||||||
}
 | 
					 | 
				
			||||||
header_info
 | 
					 | 
				
			||||||
echo -e "Loading..."
 | 
					 | 
				
			||||||
APP="Alpine-Vaultwarden"
 | 
					APP="Alpine-Vaultwarden"
 | 
				
			||||||
var_disk="0.3"
 | 
					var_tags="alpine;vault"
 | 
				
			||||||
var_cpu="1"
 | 
					var_cpu="1"
 | 
				
			||||||
var_ram="256"
 | 
					var_ram="256"
 | 
				
			||||||
 | 
					var_disk="0.3"
 | 
				
			||||||
var_os="alpine"
 | 
					var_os="alpine"
 | 
				
			||||||
var_version="3.19"
 | 
					var_version="3.20"
 | 
				
			||||||
 | 
					var_unprivileged="1"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# App Output & Base Settings
 | 
				
			||||||
 | 
					header_info "$APP"
 | 
				
			||||||
 | 
					base_settings
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# Core
 | 
				
			||||||
variables
 | 
					variables
 | 
				
			||||||
color
 | 
					color
 | 
				
			||||||
catch_errors
 | 
					catch_errors
 | 
				
			||||||
 | 
					
 | 
				
			||||||
function default_settings() {
 | 
					 | 
				
			||||||
  CT_TYPE="1"
 | 
					 | 
				
			||||||
  PW=""
 | 
					 | 
				
			||||||
  CT_ID=$NEXTID
 | 
					 | 
				
			||||||
  HN=$NSAPP
 | 
					 | 
				
			||||||
  DISK_SIZE="$var_disk"
 | 
					 | 
				
			||||||
  CORE_COUNT="$var_cpu"
 | 
					 | 
				
			||||||
  RAM_SIZE="$var_ram"
 | 
					 | 
				
			||||||
  BRG="vmbr0"
 | 
					 | 
				
			||||||
  NET="dhcp"
 | 
					 | 
				
			||||||
  GATE=""
 | 
					 | 
				
			||||||
  APT_CACHER=""
 | 
					 | 
				
			||||||
  APT_CACHER_IP=""
 | 
					 | 
				
			||||||
  DISABLEIP6="no"
 | 
					 | 
				
			||||||
  MTU=""
 | 
					 | 
				
			||||||
  SD=""
 | 
					 | 
				
			||||||
  NS=""
 | 
					 | 
				
			||||||
  MAC=""
 | 
					 | 
				
			||||||
  VLAN=""
 | 
					 | 
				
			||||||
  SSH="no"
 | 
					 | 
				
			||||||
  VERB="no"
 | 
					 | 
				
			||||||
  echo_default
 | 
					 | 
				
			||||||
}
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
function update_script() {
 | 
					function update_script() {
 | 
				
			||||||
  if ! apk -e info newt >/dev/null 2>&1; then
 | 
					  if ! apk -e info newt >/dev/null 2>&1; then
 | 
				
			||||||
    apk add -q newt
 | 
					    apk add -q newt
 | 
				
			||||||
@@ -85,7 +55,7 @@ function update_script() {
 | 
				
			|||||||
          sed -i "s|\"admin_token\": .*|\"admin_token\": \"${TOKEN}\",|" /var/lib/vaultwarden/config.json
 | 
					          sed -i "s|\"admin_token\": .*|\"admin_token\": \"${TOKEN}\",|" /var/lib/vaultwarden/config.json
 | 
				
			||||||
        fi
 | 
					        fi
 | 
				
			||||||
        rc-service vaultwarden restart -q
 | 
					        rc-service vaultwarden restart -q
 | 
				
			||||||
      fi      
 | 
					      fi
 | 
				
			||||||
      clear
 | 
					      clear
 | 
				
			||||||
      exit
 | 
					      exit
 | 
				
			||||||
      ;;
 | 
					      ;;
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -1,58 +1,28 @@
 | 
				
			|||||||
#!/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 tteck
 | 
					# Copyright (c) 2021-2025 tteck
 | 
				
			||||||
# Author: tteck (tteckster)
 | 
					# Author: tteck (tteckster)
 | 
				
			||||||
# License: MIT
 | 
					# License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE
 | 
				
			||||||
# https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE
 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
function header_info {
 | 
					# App Default Values
 | 
				
			||||||
  clear
 | 
					 | 
				
			||||||
  cat <<"EOF"
 | 
					 | 
				
			||||||
 _____   _       __             ___   __  _______  ____________
 | 
					 | 
				
			||||||
/__  /  (_)___ _/ /_  ___  ___ |__ \ /  |/  / __ \/_  __/_  __/
 | 
					 | 
				
			||||||
  / /  / / __  / __ \/ _ \/ _ \__/ // /|_/ / / / / / /   / /   
 | 
					 | 
				
			||||||
 / /__/ / /_/ / /_/ /  __/  __/ __// /  / / /_/ / / /   / /    
 | 
					 | 
				
			||||||
/____/_/\__, /_.___/\___/\___/____/_/  /_/\___\_\/_/   /_/     
 | 
					 | 
				
			||||||
       /____/ Alpine
 | 
					 | 
				
			||||||
 
 | 
					 | 
				
			||||||
EOF
 | 
					 | 
				
			||||||
}
 | 
					 | 
				
			||||||
header_info
 | 
					 | 
				
			||||||
echo -e "Loading..."
 | 
					 | 
				
			||||||
APP="Alpine-Zigbee2MQTT"
 | 
					APP="Alpine-Zigbee2MQTT"
 | 
				
			||||||
 | 
					var_tags="alpine;zigbee;mqtt;smarthome"
 | 
				
			||||||
var_disk="0.3"
 | 
					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.19"
 | 
					var_version="3.20"
 | 
				
			||||||
 | 
					var_unprivileged="0"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# App Output & Base Settings
 | 
				
			||||||
 | 
					header_info "$APP"
 | 
				
			||||||
 | 
					base_settings
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# Core
 | 
				
			||||||
variables
 | 
					variables
 | 
				
			||||||
color
 | 
					color
 | 
				
			||||||
catch_errors
 | 
					catch_errors
 | 
				
			||||||
 | 
					
 | 
				
			||||||
function default_settings() {
 | 
					 | 
				
			||||||
  CT_TYPE="0"
 | 
					 | 
				
			||||||
  PW=""
 | 
					 | 
				
			||||||
  CT_ID=$NEXTID
 | 
					 | 
				
			||||||
  HN=$NSAPP
 | 
					 | 
				
			||||||
  DISK_SIZE="$var_disk"
 | 
					 | 
				
			||||||
  CORE_COUNT="$var_cpu"
 | 
					 | 
				
			||||||
  RAM_SIZE="$var_ram"
 | 
					 | 
				
			||||||
  BRG="vmbr0"
 | 
					 | 
				
			||||||
  NET="dhcp"
 | 
					 | 
				
			||||||
  GATE=""
 | 
					 | 
				
			||||||
  APT_CACHER=""
 | 
					 | 
				
			||||||
  APT_CACHER_IP=""
 | 
					 | 
				
			||||||
  DISABLEIP6="no"
 | 
					 | 
				
			||||||
  MTU=""
 | 
					 | 
				
			||||||
  SD=""
 | 
					 | 
				
			||||||
  NS=""
 | 
					 | 
				
			||||||
  MAC=""
 | 
					 | 
				
			||||||
  VLAN=""
 | 
					 | 
				
			||||||
  SSH="no"
 | 
					 | 
				
			||||||
  VERB="no"
 | 
					 | 
				
			||||||
  echo_default
 | 
					 | 
				
			||||||
}
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
function update_script() {
 | 
					function update_script() {
 | 
				
			||||||
  if ! apk -e info newt >/dev/null 2>&1; then
 | 
					  if ! apk -e info newt >/dev/null 2>&1; then
 | 
				
			||||||
    apk add -q newt
 | 
					    apk add -q newt
 | 
				
			||||||
 
 | 
				
			|||||||
							
								
								
									
										72
									
								
								ct/alpine.sh
									
									
									
									
									
								
							
							
						
						
									
										72
									
								
								ct/alpine.sh
									
									
									
									
									
								
							@@ -1,68 +1,38 @@
 | 
				
			|||||||
#!/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 tteck
 | 
					# Copyright (c) 2021-2025 tteck
 | 
				
			||||||
# Author: tteck (tteckster)
 | 
					# Author: tteck (tteckster)
 | 
				
			||||||
# License: MIT
 | 
					# License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE
 | 
				
			||||||
# https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE
 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
function header_info {
 | 
					# App Default Values
 | 
				
			||||||
clear
 | 
					 | 
				
			||||||
cat <<"EOF"
 | 
					 | 
				
			||||||
    ___    __      _          
 | 
					 | 
				
			||||||
   /   |  / /___  (_)___  ___ 
 | 
					 | 
				
			||||||
  / /| | / / __ \/ / __ \/ _ \
 | 
					 | 
				
			||||||
 / ___ |/ / /_/ / / / / /  __/
 | 
					 | 
				
			||||||
/_/  |_/_/ .___/_/_/ /_/\___/ 
 | 
					 | 
				
			||||||
        /_/                   
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
EOF
 | 
					 | 
				
			||||||
}
 | 
					 | 
				
			||||||
header_info
 | 
					 | 
				
			||||||
echo -e "Loading..."
 | 
					 | 
				
			||||||
APP="Alpine"
 | 
					APP="Alpine"
 | 
				
			||||||
var_disk="0.1"
 | 
					var_tags="os;alpine"
 | 
				
			||||||
var_cpu="1"
 | 
					var_cpu="1"
 | 
				
			||||||
var_ram="512"
 | 
					var_ram="512"
 | 
				
			||||||
 | 
					var_disk="0.1"
 | 
				
			||||||
var_os="alpine"
 | 
					var_os="alpine"
 | 
				
			||||||
var_version="3.19"
 | 
					var_version="3.20"
 | 
				
			||||||
 | 
					var_unprivileged="1"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# App Output & Base Settings
 | 
				
			||||||
 | 
					header_info "$APP"
 | 
				
			||||||
 | 
					base_settings
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# Core
 | 
				
			||||||
variables
 | 
					variables
 | 
				
			||||||
color
 | 
					color
 | 
				
			||||||
catch_errors
 | 
					catch_errors
 | 
				
			||||||
 | 
					
 | 
				
			||||||
function default_settings() {
 | 
					 | 
				
			||||||
  CT_TYPE="1"
 | 
					 | 
				
			||||||
  PW="-password alpine"
 | 
					 | 
				
			||||||
  CT_ID=$NEXTID
 | 
					 | 
				
			||||||
  HN=$NSAPP
 | 
					 | 
				
			||||||
  DISK_SIZE="$var_disk"
 | 
					 | 
				
			||||||
  CORE_COUNT="$var_cpu"
 | 
					 | 
				
			||||||
  RAM_SIZE="$var_ram"
 | 
					 | 
				
			||||||
  BRG="vmbr0"
 | 
					 | 
				
			||||||
  NET="dhcp"
 | 
					 | 
				
			||||||
  GATE=""
 | 
					 | 
				
			||||||
  APT_CACHER=""
 | 
					 | 
				
			||||||
  APT_CACHER_IP=""
 | 
					 | 
				
			||||||
  DISABLEIP6="no"
 | 
					 | 
				
			||||||
  MTU=""
 | 
					 | 
				
			||||||
  SD=""
 | 
					 | 
				
			||||||
  NS=""
 | 
					 | 
				
			||||||
  MAC=""
 | 
					 | 
				
			||||||
  VLAN=""
 | 
					 | 
				
			||||||
  SSH="no"
 | 
					 | 
				
			||||||
  VERB="no"
 | 
					 | 
				
			||||||
  echo_default
 | 
					 | 
				
			||||||
}
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
function update_script() {
 | 
					function update_script() {
 | 
				
			||||||
UPD=$(whiptail --backtitle "Proxmox VE Helper Scripts" --title "SUPPORT" --radiolist --cancel-button Exit-Script "Spacebar = Select" 11 58 1 \
 | 
					  UPD=$(whiptail --backtitle "Proxmox VE Helper Scripts" --title "SUPPORT" --radiolist --cancel-button Exit-Script "Spacebar = Select" 11 58 1 \
 | 
				
			||||||
  "1" "Check for Alpine Updates" ON \
 | 
					    "1" "Check for Alpine Updates" ON \
 | 
				
			||||||
  3>&1 1>&2 2>&3)
 | 
					    3>&1 1>&2 2>&3)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
header_info
 | 
					  header_info
 | 
				
			||||||
if [ "$UPD" == "1" ]; then
 | 
					  if [ "$UPD" == "1" ]; then
 | 
				
			||||||
apk update && apk upgrade
 | 
					    apk update && apk upgrade
 | 
				
			||||||
exit;
 | 
					    exit
 | 
				
			||||||
fi
 | 
					  fi
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
start
 | 
					start
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -1,66 +1,40 @@
 | 
				
			|||||||
#!/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 tteck
 | 
					# Copyright (c) 2021-2025 tteck
 | 
				
			||||||
# Author: tteck (tteckster)
 | 
					# Author: tteck (tteckster)
 | 
				
			||||||
# License: MIT
 | 
					# License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE
 | 
				
			||||||
# https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE
 | 
					# Source: https://cassandra.apache.org/_/index.html
 | 
				
			||||||
 | 
					
 | 
				
			||||||
function header_info {
 | 
					# App Default Values
 | 
				
			||||||
clear
 | 
					 | 
				
			||||||
cat <<"EOF"
 | 
					 | 
				
			||||||
    ___                     __            ______                                __
 | 
					 | 
				
			||||||
   /   |  ____  ____ ______/ /_  ___     / ____/___ _______________ _____  ____/ /________ _
 | 
					 | 
				
			||||||
  / /| | / __ \/ __ `/ ___/ __ \/ _ \   / /   / __ `/ ___/ ___/ __ `/ __ \/ __  / ___/ __ `/
 | 
					 | 
				
			||||||
 / ___ |/ /_/ / /_/ / /__/ / / /  __/  / /___/ /_/ (__  |__  ) /_/ / / / / /_/ / /  / /_/ /
 | 
					 | 
				
			||||||
/_/  |_/ .___/\__,_/\___/_/ /_/\___/   \____/\__,_/____/____/\__,_/_/ /_/\__,_/_/   \__,_/
 | 
					 | 
				
			||||||
      /_/
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
EOF
 | 
					 | 
				
			||||||
}
 | 
					 | 
				
			||||||
header_info
 | 
					 | 
				
			||||||
echo -e "Loading..."
 | 
					 | 
				
			||||||
APP="Apache-Cassandra"
 | 
					APP="Apache-Cassandra"
 | 
				
			||||||
var_disk="4"
 | 
					var_tags="database;NoSQL"
 | 
				
			||||||
var_cpu="1"
 | 
					var_cpu="1"
 | 
				
			||||||
var_ram="2048"
 | 
					var_ram="2048"
 | 
				
			||||||
 | 
					var_disk="4"
 | 
				
			||||||
var_os="debian"
 | 
					var_os="debian"
 | 
				
			||||||
var_version="12"
 | 
					var_version="12"
 | 
				
			||||||
VERBOSE="yes"
 | 
					var_unprivileged="1"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# App Output & Base Settings
 | 
				
			||||||
 | 
					header_info "$APP"
 | 
				
			||||||
 | 
					base_settings
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# Core
 | 
				
			||||||
variables
 | 
					variables
 | 
				
			||||||
color
 | 
					color
 | 
				
			||||||
catch_errors
 | 
					catch_errors
 | 
				
			||||||
 | 
					
 | 
				
			||||||
function default_settings() {
 | 
					 | 
				
			||||||
  CT_TYPE="1"
 | 
					 | 
				
			||||||
  PW=""
 | 
					 | 
				
			||||||
  CT_ID=$NEXTID
 | 
					 | 
				
			||||||
  HN=$NSAPP
 | 
					 | 
				
			||||||
  DISK_SIZE="$var_disk"
 | 
					 | 
				
			||||||
  CORE_COUNT="$var_cpu"
 | 
					 | 
				
			||||||
  RAM_SIZE="$var_ram"
 | 
					 | 
				
			||||||
  BRG="vmbr0"
 | 
					 | 
				
			||||||
  NET="dhcp"
 | 
					 | 
				
			||||||
  GATE=""
 | 
					 | 
				
			||||||
  APT_CACHER=""
 | 
					 | 
				
			||||||
  APT_CACHER_IP=""
 | 
					 | 
				
			||||||
  DISABLEIP6="no"
 | 
					 | 
				
			||||||
  MTU=""
 | 
					 | 
				
			||||||
  SD=""
 | 
					 | 
				
			||||||
  NS=""
 | 
					 | 
				
			||||||
  MAC=""
 | 
					 | 
				
			||||||
  VLAN=""
 | 
					 | 
				
			||||||
  SSH="no"
 | 
					 | 
				
			||||||
  VERB="no"
 | 
					 | 
				
			||||||
  echo_default
 | 
					 | 
				
			||||||
}
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
function update_script() {
 | 
					function update_script() {
 | 
				
			||||||
header_info
 | 
					    header_info
 | 
				
			||||||
check_container_storage
 | 
					    check_container_storage
 | 
				
			||||||
check_container_resources
 | 
					    check_container_resources
 | 
				
			||||||
if [[ ! -f /etc/systemd/system/cassandra.service ]]; then msg_error "No ${APP} Installation Found!"; exit; fi
 | 
					    if [[ ! -f /etc/systemd/system/cassandra.service ]]; then
 | 
				
			||||||
msg_error "There is currently no update path available."
 | 
					        msg_error "No ${APP} Installation Found!"
 | 
				
			||||||
exit
 | 
					        exit
 | 
				
			||||||
 | 
					    fi
 | 
				
			||||||
 | 
					    msg_error "There is currently no update path available."
 | 
				
			||||||
 | 
					    exit
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
start
 | 
					start
 | 
				
			||||||
@@ -68,3 +42,4 @@ build_container
 | 
				
			|||||||
description
 | 
					description
 | 
				
			||||||
 | 
					
 | 
				
			||||||
msg_ok "Completed Successfully!\n"
 | 
					msg_ok "Completed Successfully!\n"
 | 
				
			||||||
 | 
					echo -e "${CREATING}${GN}${APP} setup has been successfully initialized!${CL}"
 | 
				
			||||||
@@ -1,66 +1,39 @@
 | 
				
			|||||||
#!/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 tteck
 | 
					# Copyright (c) 2021-2025 tteck
 | 
				
			||||||
# Author: tteck (tteckster)
 | 
					# Author: tteck (tteckster)
 | 
				
			||||||
# License: MIT
 | 
					# License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE
 | 
				
			||||||
# https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE
 | 
					# Source: https://couchdb.apache.org/
 | 
				
			||||||
 | 
					
 | 
				
			||||||
function header_info {
 | 
					# App Default Values
 | 
				
			||||||
clear
 | 
					 | 
				
			||||||
cat <<"EOF"
 | 
					 | 
				
			||||||
    ___                     __            ______                 __    ____  ____ 
 | 
					 | 
				
			||||||
   /   |  ____  ____ ______/ /_  ___     / ____/___  __  _______/ /_  / __ \/ __ )
 | 
					 | 
				
			||||||
  / /| | / __ \/ __ `/ ___/ __ \/ _ \   / /   / __ \/ / / / ___/ __ \/ / / / __  |
 | 
					 | 
				
			||||||
 / ___ |/ /_/ / /_/ / /__/ / / /  __/  / /___/ /_/ / /_/ / /__/ / / / /_/ / /_/ / 
 | 
					 | 
				
			||||||
/_/  |_/ .___/\__,_/\___/_/ /_/\___/   \____/\____/\__,_/\___/_/ /_/_____/_____/  
 | 
					 | 
				
			||||||
      /_/                                                                         
 | 
					 | 
				
			||||||
                                
 | 
					 | 
				
			||||||
EOF
 | 
					 | 
				
			||||||
}
 | 
					 | 
				
			||||||
header_info
 | 
					 | 
				
			||||||
echo -e "Loading..."
 | 
					 | 
				
			||||||
APP="Apache-CouchDB"
 | 
					APP="Apache-CouchDB"
 | 
				
			||||||
var_disk="10"
 | 
					var_tags="database"
 | 
				
			||||||
var_cpu="2"
 | 
					var_cpu="2"
 | 
				
			||||||
var_ram="4096"
 | 
					var_ram="4096"
 | 
				
			||||||
 | 
					var_disk="10"
 | 
				
			||||||
var_os="debian"
 | 
					var_os="debian"
 | 
				
			||||||
var_version="12"
 | 
					var_version="12"
 | 
				
			||||||
VERBOSE="yes"
 | 
					var_unprivileged="1"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# App Output & Base Settings
 | 
				
			||||||
 | 
					header_info "$APP"
 | 
				
			||||||
 | 
					base_settings
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# Core
 | 
				
			||||||
variables
 | 
					variables
 | 
				
			||||||
color
 | 
					color
 | 
				
			||||||
catch_errors
 | 
					catch_errors
 | 
				
			||||||
 | 
					
 | 
				
			||||||
function default_settings() {
 | 
					 | 
				
			||||||
  CT_TYPE="1"
 | 
					 | 
				
			||||||
  PW=""
 | 
					 | 
				
			||||||
  CT_ID=$NEXTID
 | 
					 | 
				
			||||||
  HN=$NSAPP
 | 
					 | 
				
			||||||
  DISK_SIZE="$var_disk"
 | 
					 | 
				
			||||||
  CORE_COUNT="$var_cpu"
 | 
					 | 
				
			||||||
  RAM_SIZE="$var_ram"
 | 
					 | 
				
			||||||
  BRG="vmbr0"
 | 
					 | 
				
			||||||
  NET="dhcp"
 | 
					 | 
				
			||||||
  GATE=""
 | 
					 | 
				
			||||||
  APT_CACHER=""
 | 
					 | 
				
			||||||
  APT_CACHER_IP=""
 | 
					 | 
				
			||||||
  DISABLEIP6="no"
 | 
					 | 
				
			||||||
  MTU=""
 | 
					 | 
				
			||||||
  SD=""
 | 
					 | 
				
			||||||
  NS=""
 | 
					 | 
				
			||||||
  MAC=""
 | 
					 | 
				
			||||||
  VLAN=""
 | 
					 | 
				
			||||||
  SSH="no"
 | 
					 | 
				
			||||||
  VERB="no"
 | 
					 | 
				
			||||||
  echo_default
 | 
					 | 
				
			||||||
}
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
function update_script() {
 | 
					function update_script() {
 | 
				
			||||||
header_info
 | 
					    header_info
 | 
				
			||||||
check_container_storage
 | 
					    check_container_storage
 | 
				
			||||||
check_container_resources
 | 
					    check_container_resources
 | 
				
			||||||
if [[ ! -f /etc/systemd/system/couchdb.service ]]; then msg_error "No ${APP} Installation Found!"; exit; fi
 | 
					    if [[ ! -f /etc/systemd/system/couchdb.service ]]; then
 | 
				
			||||||
msg_error "There is currently no update path available."
 | 
					        msg_error "No ${APP} Installation Found!"
 | 
				
			||||||
exit
 | 
					        exit
 | 
				
			||||||
 | 
					    fi
 | 
				
			||||||
 | 
					    msg_error "There is currently no update path available."
 | 
				
			||||||
 | 
					    exit
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
start
 | 
					start
 | 
				
			||||||
@@ -68,5 +41,6 @@ build_container
 | 
				
			|||||||
description
 | 
					description
 | 
				
			||||||
 | 
					
 | 
				
			||||||
msg_ok "Completed Successfully!\n"
 | 
					msg_ok "Completed Successfully!\n"
 | 
				
			||||||
echo -e "${APP} should be reachable by going to the following URL.
 | 
					echo -e "${CREATING}${GN}${APP} setup has been successfully initialized!${CL}"
 | 
				
			||||||
         ${BL}http://${IP}:5984/_utils/${CL} \n"
 | 
					echo -e "${INFO}${YW} Access it using the following URL:${CL}"
 | 
				
			||||||
 | 
					echo -e "${TAB}${GATEWAY}${BGN}http://${IP}:5984/_utils/${CL}"
 | 
				
			||||||
 
 | 
				
			|||||||
							
								
								
									
										47
									
								
								ct/apache-guacamole.sh
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										47
									
								
								ct/apache-guacamole.sh
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,47 @@
 | 
				
			|||||||
 | 
					#!/usr/bin/env bash
 | 
				
			||||||
 | 
					source <(curl -s https://raw.githubusercontent.com/community-scripts/ProxmoxVE/refs/heads/main/misc/build.func)
 | 
				
			||||||
 | 
					# Copyright (c) 2021-2025 community-scripts ORG
 | 
				
			||||||
 | 
					# Author: Michel Roegl-Brunner (michelroegl-brunner)
 | 
				
			||||||
 | 
					# License: | MIT https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE
 | 
				
			||||||
 | 
					# Source: https://guacamole.apache.org/
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					#App Default Values
 | 
				
			||||||
 | 
					APP="Apache-Guacamole"
 | 
				
			||||||
 | 
					TAGS="webserver;remote"
 | 
				
			||||||
 | 
					var_disk="4"
 | 
				
			||||||
 | 
					var_cpu="1"
 | 
				
			||||||
 | 
					var_ram="2048"
 | 
				
			||||||
 | 
					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/apache-guacamole ]]; then
 | 
				
			||||||
 | 
					        msg_error "No ${APP} Installation Found!"
 | 
				
			||||||
 | 
					        exit
 | 
				
			||||||
 | 
					    fi
 | 
				
			||||||
 | 
					    msg_error "Ther is currently no automatic update function for ${APP}."
 | 
				
			||||||
 | 
					    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}:8080/guacamole${CL}"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
@@ -1,68 +1,42 @@
 | 
				
			|||||||
#!/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 tteck
 | 
					# Copyright (c) 2021-2025 tteck
 | 
				
			||||||
# Author: tteck (tteckster)
 | 
					# Author: tteck (tteckster)
 | 
				
			||||||
# License: MIT
 | 
					# License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE
 | 
				
			||||||
# https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE
 | 
					# Source: https://wiki.debian.org/AptCacherNg
 | 
				
			||||||
 | 
					
 | 
				
			||||||
function header_info {
 | 
					# App Default Values
 | 
				
			||||||
clear
 | 
					 | 
				
			||||||
cat <<"EOF"
 | 
					 | 
				
			||||||
    ___          __     ______           __                 _   ________
 | 
					 | 
				
			||||||
   /   |  ____  / /_   / ____/___ ______/ /_  ___  _____   / | / / ____/
 | 
					 | 
				
			||||||
  / /| | / __ \/ __/__/ /   / __ `/ ___/ __ \/ _ \/ ___/__/  |/ / / __
 | 
					 | 
				
			||||||
 / ___ |/ /_/ / /_/__/ /___/ /_/ / /__/ / / /  __/ /  /__/ /|  / /_/ /
 | 
					 | 
				
			||||||
/_/  |_/ .___/\__/   \____/\__,_/\___/_/ /_/\___/_/     /_/ |_/\____/
 | 
					 | 
				
			||||||
      /_/
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
EOF
 | 
					 | 
				
			||||||
}
 | 
					 | 
				
			||||||
header_info
 | 
					 | 
				
			||||||
echo -e "Loading..."
 | 
					 | 
				
			||||||
APP="Apt-Cacher-NG"
 | 
					APP="Apt-Cacher-NG"
 | 
				
			||||||
var_disk="2"
 | 
					var_tags="caching"
 | 
				
			||||||
var_cpu="1"
 | 
					var_cpu="1"
 | 
				
			||||||
var_ram="512"
 | 
					var_ram="512"
 | 
				
			||||||
 | 
					var_disk="2"
 | 
				
			||||||
var_os="debian"
 | 
					var_os="debian"
 | 
				
			||||||
var_version="12"
 | 
					var_version="12"
 | 
				
			||||||
 | 
					var_unprivileged="1"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# App Output & Base Settings
 | 
				
			||||||
 | 
					header_info "$APP"
 | 
				
			||||||
 | 
					base_settings
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# Core
 | 
				
			||||||
variables
 | 
					variables
 | 
				
			||||||
color
 | 
					color
 | 
				
			||||||
catch_errors
 | 
					catch_errors
 | 
				
			||||||
 | 
					
 | 
				
			||||||
function default_settings() {
 | 
					 | 
				
			||||||
  CT_TYPE="1"
 | 
					 | 
				
			||||||
  PW=""
 | 
					 | 
				
			||||||
  CT_ID=$NEXTID
 | 
					 | 
				
			||||||
  HN=$NSAPP
 | 
					 | 
				
			||||||
  DISK_SIZE="$var_disk"
 | 
					 | 
				
			||||||
  CORE_COUNT="$var_cpu"
 | 
					 | 
				
			||||||
  RAM_SIZE="$var_ram"
 | 
					 | 
				
			||||||
  BRG="vmbr0"
 | 
					 | 
				
			||||||
  NET="dhcp"
 | 
					 | 
				
			||||||
  GATE=""
 | 
					 | 
				
			||||||
  APT_CACHER=""
 | 
					 | 
				
			||||||
  APT_CACHER_IP=""
 | 
					 | 
				
			||||||
  DISABLEIP6="no"
 | 
					 | 
				
			||||||
  MTU=""
 | 
					 | 
				
			||||||
  SD=""
 | 
					 | 
				
			||||||
  NS=""
 | 
					 | 
				
			||||||
  MAC=""
 | 
					 | 
				
			||||||
  VLAN=""
 | 
					 | 
				
			||||||
  SSH="no"
 | 
					 | 
				
			||||||
  VERB="no"
 | 
					 | 
				
			||||||
  echo_default
 | 
					 | 
				
			||||||
}
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
function update_script() {
 | 
					function update_script() {
 | 
				
			||||||
header_info
 | 
					    header_info
 | 
				
			||||||
check_container_storage
 | 
					    check_container_storage
 | 
				
			||||||
check_container_resources
 | 
					    check_container_resources
 | 
				
			||||||
if [[ ! -d /var ]]; then msg_error "No ${APP} Installation Found!"; exit; fi
 | 
					    if [[ ! -d /var ]]; then
 | 
				
			||||||
msg_info "Updating $APP LXC"
 | 
					        msg_error "No ${APP} Installation Found!"
 | 
				
			||||||
apt-get update &>/dev/null
 | 
					        exit
 | 
				
			||||||
apt-get -y upgrade &>/dev/null
 | 
					    fi
 | 
				
			||||||
msg_ok "Updated $APP LXC"
 | 
					    msg_info "Updating $APP LXC"
 | 
				
			||||||
exit
 | 
					    apt-get update &>/dev/null
 | 
				
			||||||
 | 
					    apt-get -y upgrade &>/dev/null
 | 
				
			||||||
 | 
					    msg_ok "Updated $APP LXC"
 | 
				
			||||||
 | 
					    exit
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
start
 | 
					start
 | 
				
			||||||
@@ -70,5 +44,6 @@ build_container
 | 
				
			|||||||
description
 | 
					description
 | 
				
			||||||
 | 
					
 | 
				
			||||||
msg_ok "Completed Successfully!\n"
 | 
					msg_ok "Completed Successfully!\n"
 | 
				
			||||||
echo -e "${APP} maintenance page should be reachable by going to the following URL.
 | 
					echo -e "${CREATING}${GN}${APP} setup has been successfully initialized!${CL}"
 | 
				
			||||||
         ${BL}http://${IP}:3142/acng-report.html${CL} \n"
 | 
					echo -e "${INFO}${YW} Access it using the following URL:${CL}"
 | 
				
			||||||
 | 
					echo -e "${TAB}${GATEWAY}${BGN}http://${IP}:3142/acng-report.html{CL}"
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -1,78 +1,53 @@
 | 
				
			|||||||
#!/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 tteck
 | 
					# Copyright (c) 2021-2025 tteck
 | 
				
			||||||
# Author: tteck
 | 
					# Author: tteck
 | 
				
			||||||
# License: MIT
 | 
					# License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE
 | 
				
			||||||
# https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE
 | 
					# Source: https://archivebox.io/
 | 
				
			||||||
 | 
					
 | 
				
			||||||
function header_info {
 | 
					# App Default Values
 | 
				
			||||||
clear
 | 
					 | 
				
			||||||
cat <<"EOF"
 | 
					 | 
				
			||||||
    ___              __    _            ____
 | 
					 | 
				
			||||||
   /   |  __________/ /_  (_)   _____  / __ )____  _  __
 | 
					 | 
				
			||||||
  / /| | / ___/ ___/ __ \/ / | / / _ \/ __  / __ \| |/_/
 | 
					 | 
				
			||||||
 / ___ |/ /  / /__/ / / / /| |/ /  __/ /_/ / /_/ />  <
 | 
					 | 
				
			||||||
/_/  |_/_/   \___/_/ /_/_/ |___/\___/_____/\____/_/|_|
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
EOF
 | 
					 | 
				
			||||||
}
 | 
					 | 
				
			||||||
header_info
 | 
					 | 
				
			||||||
echo -e "Loading..."
 | 
					 | 
				
			||||||
APP="ArchiveBox"
 | 
					APP="ArchiveBox"
 | 
				
			||||||
var_disk="8"
 | 
					var_tags="archive;bookmark"
 | 
				
			||||||
var_cpu="2"
 | 
					var_cpu="2"
 | 
				
			||||||
var_ram="1024"
 | 
					var_ram="1024"
 | 
				
			||||||
 | 
					var_disk="8"
 | 
				
			||||||
var_os="debian"
 | 
					var_os="debian"
 | 
				
			||||||
var_version="12"
 | 
					var_version="12"
 | 
				
			||||||
 | 
					var_unprivileged="1"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# App Output & Base Settings
 | 
				
			||||||
 | 
					header_info "$APP"
 | 
				
			||||||
 | 
					base_settings
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# Core
 | 
				
			||||||
variables
 | 
					variables
 | 
				
			||||||
color
 | 
					color
 | 
				
			||||||
catch_errors
 | 
					catch_errors
 | 
				
			||||||
 | 
					
 | 
				
			||||||
function default_settings() {
 | 
					 | 
				
			||||||
  CT_TYPE="1"
 | 
					 | 
				
			||||||
  PW=""
 | 
					 | 
				
			||||||
  CT_ID=$NEXTID
 | 
					 | 
				
			||||||
  HN=$NSAPP
 | 
					 | 
				
			||||||
  DISK_SIZE="$var_disk"
 | 
					 | 
				
			||||||
  CORE_COUNT="$var_cpu"
 | 
					 | 
				
			||||||
  RAM_SIZE="$var_ram"
 | 
					 | 
				
			||||||
  BRG="vmbr0"
 | 
					 | 
				
			||||||
  NET="dhcp"
 | 
					 | 
				
			||||||
  GATE=""
 | 
					 | 
				
			||||||
  APT_CACHER=""
 | 
					 | 
				
			||||||
  APT_CACHER_IP=""
 | 
					 | 
				
			||||||
  DISABLEIP6="no"
 | 
					 | 
				
			||||||
  MTU=""
 | 
					 | 
				
			||||||
  SD=""
 | 
					 | 
				
			||||||
  NS=""
 | 
					 | 
				
			||||||
  MAC=""
 | 
					 | 
				
			||||||
  VLAN=""
 | 
					 | 
				
			||||||
  SSH="no"
 | 
					 | 
				
			||||||
  VERB="no"
 | 
					 | 
				
			||||||
  echo_default
 | 
					 | 
				
			||||||
}
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
function update_script() {
 | 
					function update_script() {
 | 
				
			||||||
header_info
 | 
					    header_info
 | 
				
			||||||
check_container_storage
 | 
					    check_container_storage
 | 
				
			||||||
check_container_resources
 | 
					    check_container_resources
 | 
				
			||||||
if [[ ! -d /opt/archivebox ]]; then msg_error "No ${APP} Installation Found!"; exit; fi
 | 
					    if [[ ! -d /opt/archivebox ]]; then
 | 
				
			||||||
msg_info "Stopping ${APP}"
 | 
					        msg_error "No ${APP} Installation Found!"
 | 
				
			||||||
systemctl stop archivebox
 | 
					        exit
 | 
				
			||||||
msg_ok "Stopped ${APP}"
 | 
					    fi
 | 
				
			||||||
 | 
					    msg_info "Stopping ${APP}"
 | 
				
			||||||
 | 
					    systemctl stop archivebox
 | 
				
			||||||
 | 
					    msg_ok "Stopped ${APP}"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
msg_info "Updating ${APP}"
 | 
					    msg_info "Updating ${APP}"
 | 
				
			||||||
cd /opt/archivebox/data
 | 
					    cd /opt/archivebox/data
 | 
				
			||||||
pip install --upgrade --ignore-installed archivebox
 | 
					    pip install --upgrade --ignore-installed archivebox
 | 
				
			||||||
sudo -u archivebox archivebox init
 | 
					    sudo -u archivebox archivebox init
 | 
				
			||||||
msg_ok "Updated ${APP}"
 | 
					    msg_ok "Updated ${APP}"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
msg_info "Starting ${APP}"
 | 
					    msg_info "Starting ${APP}"
 | 
				
			||||||
systemctl start archivebox
 | 
					    systemctl start archivebox
 | 
				
			||||||
msg_ok "Started ${APP}"
 | 
					    msg_ok "Started ${APP}"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
msg_ok "Updated Successfully"
 | 
					    msg_ok "Updated Successfully"
 | 
				
			||||||
exit
 | 
					    exit
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
start
 | 
					start
 | 
				
			||||||
@@ -80,5 +55,6 @@ build_container
 | 
				
			|||||||
description
 | 
					description
 | 
				
			||||||
 | 
					
 | 
				
			||||||
msg_ok "Completed Successfully!\n"
 | 
					msg_ok "Completed Successfully!\n"
 | 
				
			||||||
echo -e "${APP} should be reachable by going to the following URL.
 | 
					echo -e "${CREATING}${GN}${APP} setup has been successfully initialized!${CL}"
 | 
				
			||||||
         ${BL}http://${IP}:8000/admin/login${CL} \n"
 | 
					echo -e "${INFO}${YW} Access it using the following URL:${CL}"
 | 
				
			||||||
 | 
					echo -e "${TAB}${GATEWAY}${BGN}http://${IP}:8000/admin/login${CL}"
 | 
				
			||||||
 
 | 
				
			|||||||
							
								
								
									
										79
									
								
								ct/aria2.sh
									
									
									
									
									
								
							
							
						
						
									
										79
									
								
								ct/aria2.sh
									
									
									
									
									
								
							@@ -1,66 +1,42 @@
 | 
				
			|||||||
#!/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 tteck
 | 
					# Copyright (c) 2021-2025 tteck
 | 
				
			||||||
# Author: tteck (tteckster)
 | 
					# Author: tteck (tteckster)
 | 
				
			||||||
# License: MIT
 | 
					# License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE
 | 
				
			||||||
# https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE
 | 
					# Source: https://aria2.github.io/
 | 
				
			||||||
 | 
					
 | 
				
			||||||
function header_info {
 | 
					# App Default Values
 | 
				
			||||||
clear
 | 
					 | 
				
			||||||
cat <<"EOF"
 | 
					 | 
				
			||||||
    ___         _      ___
 | 
					 | 
				
			||||||
   /   |  _____(_)___ |__ \
 | 
					 | 
				
			||||||
  / /| | / ___/ / __ `/_/ /
 | 
					 | 
				
			||||||
 / ___ |/ /  / / /_/ / __/
 | 
					 | 
				
			||||||
/_/  |_/_/  /_/\__,_/____/
 | 
					 | 
				
			||||||
EOF
 | 
					 | 
				
			||||||
}
 | 
					 | 
				
			||||||
header_info
 | 
					 | 
				
			||||||
echo -e "Loading..."
 | 
					 | 
				
			||||||
APP="Aria2"
 | 
					APP="Aria2"
 | 
				
			||||||
var_disk="8"
 | 
					var_tags="download-utility"
 | 
				
			||||||
var_cpu="2"
 | 
					var_cpu="2"
 | 
				
			||||||
var_ram="1024"
 | 
					var_ram="1024"
 | 
				
			||||||
 | 
					var_disk="8"
 | 
				
			||||||
var_os="debian"
 | 
					var_os="debian"
 | 
				
			||||||
var_version="12"
 | 
					var_version="12"
 | 
				
			||||||
 | 
					var_unprivileged="1"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# App Output & Base Settings
 | 
				
			||||||
 | 
					header_info "$APP"
 | 
				
			||||||
 | 
					base_settings
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# Core
 | 
				
			||||||
variables
 | 
					variables
 | 
				
			||||||
color
 | 
					color
 | 
				
			||||||
catch_errors
 | 
					catch_errors
 | 
				
			||||||
 | 
					
 | 
				
			||||||
function default_settings() {
 | 
					 | 
				
			||||||
  CT_TYPE="1"
 | 
					 | 
				
			||||||
  PW=""
 | 
					 | 
				
			||||||
  CT_ID=$NEXTID
 | 
					 | 
				
			||||||
  HN=$NSAPP
 | 
					 | 
				
			||||||
  DISK_SIZE="$var_disk"
 | 
					 | 
				
			||||||
  CORE_COUNT="$var_cpu"
 | 
					 | 
				
			||||||
  RAM_SIZE="$var_ram"
 | 
					 | 
				
			||||||
  BRG="vmbr0"
 | 
					 | 
				
			||||||
  NET="dhcp"
 | 
					 | 
				
			||||||
  GATE=""
 | 
					 | 
				
			||||||
  APT_CACHER=""
 | 
					 | 
				
			||||||
  APT_CACHER_IP=""
 | 
					 | 
				
			||||||
  DISABLEIP6="no"
 | 
					 | 
				
			||||||
  MTU=""
 | 
					 | 
				
			||||||
  SD=""
 | 
					 | 
				
			||||||
  NS=""
 | 
					 | 
				
			||||||
  MAC=""
 | 
					 | 
				
			||||||
  VLAN=""
 | 
					 | 
				
			||||||
  SSH="no"
 | 
					 | 
				
			||||||
  VERB="no"
 | 
					 | 
				
			||||||
  echo_default
 | 
					 | 
				
			||||||
}
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
function update_script() {
 | 
					function update_script() {
 | 
				
			||||||
header_info
 | 
					    header_info
 | 
				
			||||||
check_container_storage
 | 
					    check_container_storage
 | 
				
			||||||
check_container_resources
 | 
					    check_container_resources
 | 
				
			||||||
if [[ ! -d /var ]]; then msg_error "No ${APP} Installation Found!"; exit; fi
 | 
					    if [[ ! -d /var ]]; then
 | 
				
			||||||
msg_info "Updating $APP LXC"
 | 
					        msg_error "No ${APP} Installation Found!"
 | 
				
			||||||
apt-get update &>/dev/null
 | 
					        exit
 | 
				
			||||||
apt-get -y upgrade &>/dev/null
 | 
					    fi
 | 
				
			||||||
msg_ok "Updated $APP LXC"
 | 
					    msg_info "Updating $APP LXC"
 | 
				
			||||||
exit
 | 
					    apt-get update &>/dev/null
 | 
				
			||||||
 | 
					    apt-get -y upgrade &>/dev/null
 | 
				
			||||||
 | 
					    msg_ok "Updated $APP LXC"
 | 
				
			||||||
 | 
					    exit
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
start
 | 
					start
 | 
				
			||||||
@@ -68,5 +44,6 @@ build_container
 | 
				
			|||||||
description
 | 
					description
 | 
				
			||||||
 | 
					
 | 
				
			||||||
msg_ok "Completed Successfully!\n"
 | 
					msg_ok "Completed Successfully!\n"
 | 
				
			||||||
echo -e "${APP} should be reachable by going to the following URL.
 | 
					echo -e "${CREATING}${GN}${APP} setup has been successfully initialized!${CL}"
 | 
				
			||||||
         ${BL}http://${IP}:6880${CL}"
 | 
					echo -e "${INFO}${YW} Access it using the following URL:${CL}"
 | 
				
			||||||
 | 
					echo -e "${TAB}${GATEWAY}${BGN}http://${IP}:6880${CL}"
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -1,64 +1,39 @@
 | 
				
			|||||||
#!/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 tteck
 | 
					# Copyright (c) 2021-2025 tteck
 | 
				
			||||||
# Author: tteck (tteckster)
 | 
					# Author: tteck (tteckster)
 | 
				
			||||||
# License: MIT
 | 
					# License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE
 | 
				
			||||||
# https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE
 | 
					# Source: https://www.audiobookshelf.org/
 | 
				
			||||||
 | 
					
 | 
				
			||||||
function header_info {
 | 
					# App Default Values
 | 
				
			||||||
clear
 | 
					 | 
				
			||||||
cat <<"EOF"
 | 
					 | 
				
			||||||
                   ___       __                __        __         ______
 | 
					 | 
				
			||||||
  ____ ___  ______/ (_)___  / /_  ____  ____  / /_______/ /_  ___  / / __/
 | 
					 | 
				
			||||||
 / __ `/ / / / __  / / __ \/ __ \/ __ \/ __ \/ //_/ ___/ __ \/ _ \/ / /_  
 | 
					 | 
				
			||||||
/ /_/ / /_/ / /_/ / / /_/ / /_/ / /_/ / /_/ / ,< (__  ) / / /  __/ / __/  
 | 
					 | 
				
			||||||
\__,_/\__,_/\__,_/_/\____/_.___/\____/\____/_/|_/____/_/ /_/\___/_/_/     
 | 
					 | 
				
			||||||
                                                                          
 | 
					 | 
				
			||||||
EOF
 | 
					 | 
				
			||||||
}
 | 
					 | 
				
			||||||
header_info
 | 
					 | 
				
			||||||
echo -e "Loading..."
 | 
					 | 
				
			||||||
APP="audiobookshelf"
 | 
					APP="audiobookshelf"
 | 
				
			||||||
var_disk="4"
 | 
					var_tags="podcast;audiobook"
 | 
				
			||||||
var_cpu="2"
 | 
					var_cpu="2"
 | 
				
			||||||
var_ram="2048"
 | 
					var_ram="2048"
 | 
				
			||||||
 | 
					var_disk="4"
 | 
				
			||||||
var_os="debian"
 | 
					var_os="debian"
 | 
				
			||||||
var_version="12"
 | 
					var_version="12"
 | 
				
			||||||
 | 
					var_unprivileged="1"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# App Output & Base Settings
 | 
				
			||||||
 | 
					header_info "$APP"
 | 
				
			||||||
 | 
					base_settings
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# Core
 | 
				
			||||||
variables
 | 
					variables
 | 
				
			||||||
color
 | 
					color
 | 
				
			||||||
catch_errors
 | 
					catch_errors
 | 
				
			||||||
 | 
					
 | 
				
			||||||
function default_settings() {
 | 
					 | 
				
			||||||
  CT_TYPE="1"
 | 
					 | 
				
			||||||
  PW=""
 | 
					 | 
				
			||||||
  CT_ID=$NEXTID
 | 
					 | 
				
			||||||
  HN=$NSAPP
 | 
					 | 
				
			||||||
  DISK_SIZE="$var_disk"
 | 
					 | 
				
			||||||
  CORE_COUNT="$var_cpu"
 | 
					 | 
				
			||||||
  RAM_SIZE="$var_ram"
 | 
					 | 
				
			||||||
  BRG="vmbr0"
 | 
					 | 
				
			||||||
  NET="dhcp"
 | 
					 | 
				
			||||||
  GATE=""
 | 
					 | 
				
			||||||
  APT_CACHER=""
 | 
					 | 
				
			||||||
  APT_CACHER_IP=""
 | 
					 | 
				
			||||||
  DISABLEIP6="no"
 | 
					 | 
				
			||||||
  MTU=""
 | 
					 | 
				
			||||||
  SD=""
 | 
					 | 
				
			||||||
  NS=""
 | 
					 | 
				
			||||||
  MAC=""
 | 
					 | 
				
			||||||
  VLAN=""
 | 
					 | 
				
			||||||
  SSH="no"
 | 
					 | 
				
			||||||
  VERB="no"
 | 
					 | 
				
			||||||
  echo_default
 | 
					 | 
				
			||||||
}
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
function update_script() {
 | 
					function update_script() {
 | 
				
			||||||
header_info
 | 
					    header_info
 | 
				
			||||||
check_container_storage
 | 
					    check_container_storage
 | 
				
			||||||
check_container_resources
 | 
					    check_container_resources
 | 
				
			||||||
if [[ ! -f /etc/apt/trusted.gpg.d/audiobookshelf-ppa.asc ]]; then msg_error "No ${APP} Installation Found!"; exit; fi
 | 
					    if [[ ! -f /etc/apt/trusted.gpg.d/audiobookshelf-ppa.asc ]]; then
 | 
				
			||||||
echo "This application receives updates through the APT package manager."
 | 
					        msg_error "No ${APP} Installation Found!"
 | 
				
			||||||
exit
 | 
					        exit
 | 
				
			||||||
 | 
					    fi
 | 
				
			||||||
 | 
					    echo "This application receives updates through the APT package manager."
 | 
				
			||||||
 | 
					    exit
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
start
 | 
					start
 | 
				
			||||||
@@ -66,5 +41,6 @@ build_container
 | 
				
			|||||||
description
 | 
					description
 | 
				
			||||||
 | 
					
 | 
				
			||||||
msg_ok "Completed Successfully!\n"
 | 
					msg_ok "Completed Successfully!\n"
 | 
				
			||||||
echo -e "${APP} should be reachable by going to the following URL.
 | 
					echo -e "${CREATING}${GN}${APP} setup has been successfully initialized!${CL}"
 | 
				
			||||||
         ${BL}http://${IP}:13378${CL} \n"
 | 
					echo -e "${INFO}${YW} Access it using the following URL:${CL}"
 | 
				
			||||||
 | 
					echo -e "${TAB}${GATEWAY}${BGN}http://${IP}:13378${CL}"
 | 
				
			||||||
 
 | 
				
			|||||||
							
								
								
									
										85
									
								
								ct/authentik.sh
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										85
									
								
								ct/authentik.sh
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,85 @@
 | 
				
			|||||||
 | 
					#!/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: remz1337
 | 
				
			||||||
 | 
					# License: MIT
 | 
				
			||||||
 | 
					# https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# App Default Values
 | 
				
			||||||
 | 
					APP="Authentik"
 | 
				
			||||||
 | 
					var_tags="identity-provider"
 | 
				
			||||||
 | 
					var_disk="15"
 | 
				
			||||||
 | 
					var_cpu="6"
 | 
				
			||||||
 | 
					var_ram="8192"
 | 
				
			||||||
 | 
					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 [[ ! -f /etc/systemd/system/authentik-server.service ]]; then
 | 
				
			||||||
 | 
					    msg_error "No ${APP} Installation Found!"
 | 
				
			||||||
 | 
					    exit
 | 
				
			||||||
 | 
					  fi
 | 
				
			||||||
 | 
					  RELEASE=$(curl -s https://api.github.com/repos/goauthentik/authentik/releases/latest | grep "tarball_url" | awk '{print substr($2, 2, length($2)-3)}')
 | 
				
			||||||
 | 
					  if [[ "${RELEASE}" != "$(cat /opt/${APP}_version.txt)" ]] || [[ ! -f /opt/${APP}_version.txt ]]; then
 | 
				
			||||||
 | 
					    msg_info "Stopping ${APP}"
 | 
				
			||||||
 | 
					    systemctl stop authentik-server
 | 
				
			||||||
 | 
					    systemctl stop authentik-worker
 | 
				
			||||||
 | 
					    msg_ok "Stopped ${APP}"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    msg_info "Building ${APP} website"
 | 
				
			||||||
 | 
					    mkdir -p /opt/authentik
 | 
				
			||||||
 | 
					    wget -qO authentik.tar.gz "${RELEASE}"
 | 
				
			||||||
 | 
					    tar -xzf authentik.tar.gz -C /opt/authentik --strip-components 1 --overwrite
 | 
				
			||||||
 | 
					    rm -rf authentik.tar.gz
 | 
				
			||||||
 | 
					    cd /opt/authentik/website
 | 
				
			||||||
 | 
					    npm install &>/dev/null
 | 
				
			||||||
 | 
					    npm run build-bundled &>/dev/null
 | 
				
			||||||
 | 
					    cd /opt/authentik/web
 | 
				
			||||||
 | 
					    npm install &>/dev/null
 | 
				
			||||||
 | 
					    npm run build &>/dev/null
 | 
				
			||||||
 | 
					    msg_ok "Built ${APP} website"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    msg_info "Installing Python Dependencies"
 | 
				
			||||||
 | 
					    cd /opt/authentik
 | 
				
			||||||
 | 
					    poetry install --only=main --no-ansi --no-interaction --no-root &>/dev/null
 | 
				
			||||||
 | 
					    poetry export --without-hashes --without-urls -f requirements.txt --output requirements.txt &>/dev/null
 | 
				
			||||||
 | 
					    pip install --no-cache-dir -r requirements.txt &>/dev/null
 | 
				
			||||||
 | 
					    pip install . &>/dev/null
 | 
				
			||||||
 | 
					    msg_ok "Installed Python Dependencies"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    msg_info "Updating ${APP} to v${RELEASE} (Patience)"
 | 
				
			||||||
 | 
					    cp -r /opt/authentik/authentik/blueprints /opt/authentik/blueprints
 | 
				
			||||||
 | 
					    bash /opt/authentik/lifecycle/ak migrate &>/dev/null
 | 
				
			||||||
 | 
					    echo "${RELEASE}" >/opt/${APP}_version.txt
 | 
				
			||||||
 | 
					    msg_ok "Updated ${APP} to v${RELEASE}"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    msg_info "Starting ${APP}"
 | 
				
			||||||
 | 
					    systemctl start authentik-server
 | 
				
			||||||
 | 
					    systemctl start authentik-worker
 | 
				
			||||||
 | 
					    msg_ok "Started ${APP}"
 | 
				
			||||||
 | 
					  else
 | 
				
			||||||
 | 
					    msg_ok "No update required. ${APP} is already at v${RELEASE}"
 | 
				
			||||||
 | 
					  fi
 | 
				
			||||||
 | 
					  exit
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					start
 | 
				
			||||||
 | 
					build_container
 | 
				
			||||||
 | 
					description
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					echo -e "${CREATING}${GN}${APP} setup has been successfully initialized!${CL}"
 | 
				
			||||||
 | 
					echo -e "${INFO}${YW} Access it using the following URL:${CL}"
 | 
				
			||||||
 | 
					echo -e "${TAB}${GATEWAY}${BGN}http://${IP}:9000/if/flow/initial-setup/${CL}"
 | 
				
			||||||
@@ -1,78 +1,53 @@
 | 
				
			|||||||
#!/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 tteck
 | 
					# Copyright (c) 2021-2025 tteck
 | 
				
			||||||
# Author: tteck (tteckster)
 | 
					# Author: tteck (tteckster)
 | 
				
			||||||
# License: MIT
 | 
					# License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE
 | 
				
			||||||
# https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE
 | 
					# Source: https://autobrr.com/
 | 
				
			||||||
 | 
					
 | 
				
			||||||
function header_info {
 | 
					# App Default Values
 | 
				
			||||||
clear
 | 
					 | 
				
			||||||
cat <<"EOF"
 | 
					 | 
				
			||||||
    ___         __        __             
 | 
					 | 
				
			||||||
   /   | __  __/ /_____  / /_  __________
 | 
					 | 
				
			||||||
  / /| |/ / / / __/ __ \/ __ \/ ___/ ___/
 | 
					 | 
				
			||||||
 / ___ / /_/ / /_/ /_/ / /_/ / /  / /    
 | 
					 | 
				
			||||||
/_/  |_\__,_/\__/\____/_.___/_/  /_/     
 | 
					 | 
				
			||||||
                                         
 | 
					 | 
				
			||||||
EOF
 | 
					 | 
				
			||||||
}
 | 
					 | 
				
			||||||
header_info
 | 
					 | 
				
			||||||
echo -e "Loading..."
 | 
					 | 
				
			||||||
APP="Autobrr"
 | 
					APP="Autobrr"
 | 
				
			||||||
var_disk="8"
 | 
					var_tags="arr;"
 | 
				
			||||||
var_cpu="2"
 | 
					var_cpu="2"
 | 
				
			||||||
var_ram="2048"
 | 
					var_ram="2048"
 | 
				
			||||||
 | 
					var_disk="8"
 | 
				
			||||||
var_os="debian"
 | 
					var_os="debian"
 | 
				
			||||||
var_version="12"
 | 
					var_version="12"
 | 
				
			||||||
 | 
					var_unprivileged="1"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# App Output & Base Settings
 | 
				
			||||||
 | 
					header_info "$APP"
 | 
				
			||||||
 | 
					base_settings
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# Core
 | 
				
			||||||
variables
 | 
					variables
 | 
				
			||||||
color
 | 
					color
 | 
				
			||||||
catch_errors
 | 
					catch_errors
 | 
				
			||||||
 | 
					
 | 
				
			||||||
function default_settings() {
 | 
					 | 
				
			||||||
  CT_TYPE="1"
 | 
					 | 
				
			||||||
  PW=""
 | 
					 | 
				
			||||||
  CT_ID=$NEXTID
 | 
					 | 
				
			||||||
  HN=$NSAPP
 | 
					 | 
				
			||||||
  DISK_SIZE="$var_disk"
 | 
					 | 
				
			||||||
  CORE_COUNT="$var_cpu"
 | 
					 | 
				
			||||||
  RAM_SIZE="$var_ram"
 | 
					 | 
				
			||||||
  BRG="vmbr0"
 | 
					 | 
				
			||||||
  NET="dhcp"
 | 
					 | 
				
			||||||
  GATE=""
 | 
					 | 
				
			||||||
  APT_CACHER=""
 | 
					 | 
				
			||||||
  APT_CACHER_IP=""
 | 
					 | 
				
			||||||
  DISABLEIP6="no"
 | 
					 | 
				
			||||||
  MTU=""
 | 
					 | 
				
			||||||
  SD=""
 | 
					 | 
				
			||||||
  NS=""
 | 
					 | 
				
			||||||
  MAC=""
 | 
					 | 
				
			||||||
  VLAN=""
 | 
					 | 
				
			||||||
  SSH="no"
 | 
					 | 
				
			||||||
  VERB="no"
 | 
					 | 
				
			||||||
  echo_default
 | 
					 | 
				
			||||||
}
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
function update_script() {
 | 
					function update_script() {
 | 
				
			||||||
header_info
 | 
					    header_info
 | 
				
			||||||
check_container_storage
 | 
					    check_container_storage
 | 
				
			||||||
check_container_resources
 | 
					    check_container_resources
 | 
				
			||||||
if [[ ! -f /root/.config/autobrr/config.toml ]]; then msg_error "No ${APP} Installation Found!"; exit; fi
 | 
					    if [[ ! -f /root/.config/autobrr/config.toml ]]; then
 | 
				
			||||||
msg_info "Stopping ${APP} LXC"
 | 
					        msg_error "No ${APP} Installation Found!"
 | 
				
			||||||
systemctl stop autobrr.service
 | 
					        exit
 | 
				
			||||||
msg_ok "Stopped ${APP} LXC"
 | 
					    fi
 | 
				
			||||||
 | 
					    msg_info "Stopping ${APP} LXC"
 | 
				
			||||||
 | 
					    systemctl stop autobrr.service
 | 
				
			||||||
 | 
					    msg_ok "Stopped ${APP} LXC"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
msg_info "Updating ${APP} LXC"
 | 
					    msg_info "Updating ${APP} LXC"
 | 
				
			||||||
rm -rf /usr/local/bin/*
 | 
					    rm -rf /usr/local/bin/*
 | 
				
			||||||
wget -q $(curl -s https://api.github.com/repos/autobrr/autobrr/releases/latest | grep download | grep linux_x86_64 | cut -d\" -f4)
 | 
					    wget -q $(curl -s https://api.github.com/repos/autobrr/autobrr/releases/latest | grep download | grep linux_x86_64 | cut -d\" -f4)
 | 
				
			||||||
tar -C /usr/local/bin -xzf autobrr*.tar.gz
 | 
					    tar -C /usr/local/bin -xzf autobrr*.tar.gz
 | 
				
			||||||
rm -rf autobrr*.tar.gz
 | 
					    rm -rf autobrr*.tar.gz
 | 
				
			||||||
msg_ok "Updated ${APP} LXC"
 | 
					    msg_ok "Updated ${APP} LXC"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
msg_info "Starting ${APP} LXC"
 | 
					    msg_info "Starting ${APP} LXC"
 | 
				
			||||||
systemctl start autobrr.service
 | 
					    systemctl start autobrr.service
 | 
				
			||||||
msg_ok "Started ${APP} LXC"
 | 
					    msg_ok "Started ${APP} LXC"
 | 
				
			||||||
msg_ok "Updated Successfully"
 | 
					    msg_ok "Updated Successfully"
 | 
				
			||||||
exit
 | 
					    exit
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
start
 | 
					start
 | 
				
			||||||
@@ -80,5 +55,6 @@ build_container
 | 
				
			|||||||
description
 | 
					description
 | 
				
			||||||
 | 
					
 | 
				
			||||||
msg_ok "Completed Successfully!\n"
 | 
					msg_ok "Completed Successfully!\n"
 | 
				
			||||||
echo -e "${APP} should be reachable by going to the following URL.
 | 
					echo -e "${CREATING}${GN}${APP} setup has been successfully initialized!${CL}"
 | 
				
			||||||
         ${BL}http://${IP}:7474${CL} \n"
 | 
					echo -e "${INFO}${YW} Access it using the following URL:${CL}"
 | 
				
			||||||
 | 
					echo -e "${TAB}${GATEWAY}${BGN}http://${IP}:7474${CL}"
 | 
				
			||||||
							
								
								
									
										75
									
								
								ct/bazarr.sh
									
									
									
									
									
								
							
							
						
						
									
										75
									
								
								ct/bazarr.sh
									
									
									
									
									
								
							@@ -1,66 +1,38 @@
 | 
				
			|||||||
#!/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 tteck
 | 
					# Copyright (c) 2021-2025 tteck
 | 
				
			||||||
# Author: tteck (tteckster)
 | 
					# Author: tteck (tteckster)
 | 
				
			||||||
# License: MIT
 | 
					# License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE
 | 
				
			||||||
# https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE
 | 
					# Source: https://www.bazarr.media/
 | 
				
			||||||
 | 
					
 | 
				
			||||||
function header_info {
 | 
					# App Default Values
 | 
				
			||||||
clear
 | 
					 | 
				
			||||||
cat <<"EOF"
 | 
					 | 
				
			||||||
    ____
 | 
					 | 
				
			||||||
   / __ )____ _____  ____ ___________
 | 
					 | 
				
			||||||
  / __  / __ `/_  / / __ `/ ___/ ___/
 | 
					 | 
				
			||||||
 / /_/ / /_/ / / /_/ /_/ / /  / /
 | 
					 | 
				
			||||||
/_____/\__,_/ /___/\__,_/_/  /_/
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
EOF
 | 
					 | 
				
			||||||
}
 | 
					 | 
				
			||||||
header_info
 | 
					 | 
				
			||||||
echo -e "Loading..."
 | 
					 | 
				
			||||||
APP="Bazarr"
 | 
					APP="Bazarr"
 | 
				
			||||||
var_disk="4"
 | 
					var_tags="arr"
 | 
				
			||||||
var_cpu="2"
 | 
					var_cpu="2"
 | 
				
			||||||
var_ram="1024"
 | 
					var_ram="1024"
 | 
				
			||||||
 | 
					var_disk="4"
 | 
				
			||||||
var_os="debian"
 | 
					var_os="debian"
 | 
				
			||||||
var_version="12"
 | 
					var_version="12"
 | 
				
			||||||
 | 
					var_unprivileged="1"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# App Output & Base Settings
 | 
				
			||||||
 | 
					header_info "$APP"
 | 
				
			||||||
 | 
					base_settings
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# Core 
 | 
				
			||||||
variables
 | 
					variables
 | 
				
			||||||
color
 | 
					color
 | 
				
			||||||
catch_errors
 | 
					catch_errors
 | 
				
			||||||
 | 
					
 | 
				
			||||||
function default_settings() {
 | 
					 | 
				
			||||||
  CT_TYPE="1"
 | 
					 | 
				
			||||||
  PW=""
 | 
					 | 
				
			||||||
  CT_ID=$NEXTID
 | 
					 | 
				
			||||||
  HN=$NSAPP
 | 
					 | 
				
			||||||
  DISK_SIZE="$var_disk"
 | 
					 | 
				
			||||||
  CORE_COUNT="$var_cpu"
 | 
					 | 
				
			||||||
  RAM_SIZE="$var_ram"
 | 
					 | 
				
			||||||
  BRG="vmbr0"
 | 
					 | 
				
			||||||
  NET="dhcp"
 | 
					 | 
				
			||||||
  GATE=""
 | 
					 | 
				
			||||||
  APT_CACHER=""
 | 
					 | 
				
			||||||
  APT_CACHER_IP=""
 | 
					 | 
				
			||||||
  DISABLEIP6="no"
 | 
					 | 
				
			||||||
  MTU=""
 | 
					 | 
				
			||||||
  SD=""
 | 
					 | 
				
			||||||
  NS=""
 | 
					 | 
				
			||||||
  MAC=""
 | 
					 | 
				
			||||||
  VLAN=""
 | 
					 | 
				
			||||||
  SSH="no"
 | 
					 | 
				
			||||||
  VERB="no"
 | 
					 | 
				
			||||||
  echo_default
 | 
					 | 
				
			||||||
}
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
function update_script() {
 | 
					function update_script() {
 | 
				
			||||||
header_info
 | 
					    header_info
 | 
				
			||||||
check_container_storage
 | 
					    check_container_storage
 | 
				
			||||||
check_container_resources
 | 
					    check_container_resources
 | 
				
			||||||
if [[ ! -d /var/lib/bazarr/ ]]; then msg_error "No ${APP} Installation Found!"; exit; fi
 | 
					    if [[ ! -d /var/lib/bazarr/ ]]; then msg_error "No ${APP} Installation Found!"; exit; fi
 | 
				
			||||||
msg_info "Updating $APP LXC"
 | 
					    msg_info "Updating $APP LXC"
 | 
				
			||||||
apt-get update &>/dev/null
 | 
					    apt-get update &>/dev/null
 | 
				
			||||||
apt-get -y upgrade &>/dev/null
 | 
					    apt-get -y upgrade &>/dev/null
 | 
				
			||||||
msg_ok "Updated $APP LXC"
 | 
					    msg_ok "Updated $APP LXC"
 | 
				
			||||||
exit
 | 
					exit
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
@@ -69,5 +41,6 @@ build_container
 | 
				
			|||||||
description
 | 
					description
 | 
				
			||||||
 | 
					
 | 
				
			||||||
msg_ok "Completed Successfully!\n"
 | 
					msg_ok "Completed Successfully!\n"
 | 
				
			||||||
echo -e "${APP} should be reachable by going to the following URL.
 | 
					echo -e "${CREATING}${GN}${APP} setup has been successfully initialized!${CL}"
 | 
				
			||||||
         ${BL}http://${IP}:6767${CL} \n"
 | 
					echo -e "${INFO}${YW} Access it using the following URL:${CL}"
 | 
				
			||||||
 | 
					echo -e "${TAB}${GATEWAY}${BGN}http://${IP}:6767${CL}"
 | 
				
			||||||
							
								
								
									
										75
									
								
								ct/blocky.sh
									
									
									
									
									
								
							
							
						
						
									
										75
									
								
								ct/blocky.sh
									
									
									
									
									
								
							@@ -1,67 +1,39 @@
 | 
				
			|||||||
#!/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 tteck
 | 
					# Copyright (c) 2021-2025 tteck
 | 
				
			||||||
# Author: tteck (tteckster)
 | 
					# Author: tteck (tteckster)
 | 
				
			||||||
# License: MIT
 | 
					# License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE
 | 
				
			||||||
# https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE
 | 
					# Source: https://0xerr0r.github.io/blocky/latest/
 | 
				
			||||||
 | 
					
 | 
				
			||||||
function header_info {
 | 
					# App Default Values
 | 
				
			||||||
clear
 | 
					 | 
				
			||||||
cat <<"EOF"
 | 
					 | 
				
			||||||
    ____  __           __        
 | 
					 | 
				
			||||||
   / __ )/ /___  _____/ /____  __
 | 
					 | 
				
			||||||
  / __  / / __ \/ ___/ //_/ / / /
 | 
					 | 
				
			||||||
 / /_/ / / /_/ / /__/ ,< / /_/ / 
 | 
					 | 
				
			||||||
/_____/_/\____/\___/_/|_|\__, /  
 | 
					 | 
				
			||||||
                        /____/   
 | 
					 | 
				
			||||||
EOF
 | 
					 | 
				
			||||||
}
 | 
					 | 
				
			||||||
header_info
 | 
					 | 
				
			||||||
echo -e "Loading..."
 | 
					 | 
				
			||||||
APP="Blocky"
 | 
					APP="Blocky"
 | 
				
			||||||
var_disk="2"
 | 
					var_tags="adblock"
 | 
				
			||||||
var_cpu="1"
 | 
					var_cpu="1"
 | 
				
			||||||
var_ram="512"
 | 
					var_ram="512"
 | 
				
			||||||
 | 
					var_disk="2"
 | 
				
			||||||
var_os="debian"
 | 
					var_os="debian"
 | 
				
			||||||
var_version="12"
 | 
					var_version="12"
 | 
				
			||||||
 | 
					var_unprivileged="1"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# App Output & Base Settings
 | 
				
			||||||
 | 
					header_info "$APP"
 | 
				
			||||||
 | 
					base_settings
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# Core 
 | 
				
			||||||
variables
 | 
					variables
 | 
				
			||||||
color
 | 
					color
 | 
				
			||||||
catch_errors
 | 
					catch_errors
 | 
				
			||||||
 | 
					
 | 
				
			||||||
function default_settings() {
 | 
					 | 
				
			||||||
  CT_TYPE="1"
 | 
					 | 
				
			||||||
  PW=""
 | 
					 | 
				
			||||||
  CT_ID=$NEXTID
 | 
					 | 
				
			||||||
  HN=$NSAPP
 | 
					 | 
				
			||||||
  DISK_SIZE="$var_disk"
 | 
					 | 
				
			||||||
  CORE_COUNT="$var_cpu"
 | 
					 | 
				
			||||||
  RAM_SIZE="$var_ram"
 | 
					 | 
				
			||||||
  BRG="vmbr0"
 | 
					 | 
				
			||||||
  NET="dhcp"
 | 
					 | 
				
			||||||
  GATE=""
 | 
					 | 
				
			||||||
  APT_CACHER=""
 | 
					 | 
				
			||||||
  APT_CACHER_IP=""
 | 
					 | 
				
			||||||
  DISABLEIP6="no"
 | 
					 | 
				
			||||||
  MTU=""
 | 
					 | 
				
			||||||
  SD=""
 | 
					 | 
				
			||||||
  NS=""
 | 
					 | 
				
			||||||
  MAC=""
 | 
					 | 
				
			||||||
  VLAN=""
 | 
					 | 
				
			||||||
  SSH="no"
 | 
					 | 
				
			||||||
  VERB="no"
 | 
					 | 
				
			||||||
  echo_default
 | 
					 | 
				
			||||||
}
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
function update_script() {
 | 
					function update_script() {
 | 
				
			||||||
header_info
 | 
					    header_info
 | 
				
			||||||
check_container_storage
 | 
					    check_container_storage
 | 
				
			||||||
check_container_resources
 | 
					    check_container_resources
 | 
				
			||||||
if [[ ! -d /var ]]; then msg_error "No ${APP} Installation Found!"; exit; fi
 | 
					    if [[ ! -d /var ]]; then msg_error "No ${APP} Installation Found!"; exit; fi
 | 
				
			||||||
msg_info "Updating $APP LXC"
 | 
					        msg_info "Updating $APP LXC"
 | 
				
			||||||
apt-get update &>/dev/null
 | 
					        apt-get update &>/dev/null
 | 
				
			||||||
apt-get -y upgrade &>/dev/null
 | 
					        apt-get -y upgrade &>/dev/null
 | 
				
			||||||
msg_ok "Updated $APP LXC"
 | 
					        msg_ok "Updated $APP LXC"
 | 
				
			||||||
exit
 | 
					    exit
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
start
 | 
					start
 | 
				
			||||||
@@ -69,3 +41,6 @@ build_container
 | 
				
			|||||||
description
 | 
					description
 | 
				
			||||||
 | 
					
 | 
				
			||||||
msg_ok "Completed Successfully!\n"
 | 
					msg_ok "Completed Successfully!\n"
 | 
				
			||||||
 | 
					echo -e "${CREATING}${GN}${APP} setup has been successfully initialized!${CL}"
 | 
				
			||||||
 | 
					echo -e "${INFO}${YW} Access it using the following URL:${CL}"
 | 
				
			||||||
 | 
					echo -e "${TAB}${GATEWAY}${BGN}http://${IP}:4000${CL}"
 | 
				
			||||||
							
								
								
									
										133
									
								
								ct/bookstack.sh
									
									
									
									
									
								
							
							
						
						
									
										133
									
								
								ct/bookstack.sh
									
									
									
									
									
								
							@@ -1,99 +1,82 @@
 | 
				
			|||||||
#!/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: MickLesk (Canbiz)
 | 
					# Author: MickLesk (Canbiz)
 | 
				
			||||||
# License: MIT
 | 
					# License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE
 | 
				
			||||||
# https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE
 | 
					 | 
				
			||||||
# Source: https://github.com/BookStackApp/BookStack
 | 
					# Source: https://github.com/BookStackApp/BookStack
 | 
				
			||||||
 | 
					
 | 
				
			||||||
function header_info {
 | 
					# App Default Values
 | 
				
			||||||
clear
 | 
					 | 
				
			||||||
cat <<"EOF"
 | 
					 | 
				
			||||||
    ____              __        __             __  
 | 
					 | 
				
			||||||
   / __ )____  ____  / /_______/ /_____ ______/ /__
 | 
					 | 
				
			||||||
  / __  / __ \/ __ \/ //_/ ___/ __/ __ `/ ___/ //_/
 | 
					 | 
				
			||||||
 / /_/ / /_/ / /_/ / ,< (__  ) /_/ /_/ / /__/ ,<   
 | 
					 | 
				
			||||||
/_____/\____/\____/_/|_/____/\__/\__,_/\___/_/|_|  
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
EOF
 | 
					 | 
				
			||||||
}
 | 
					 | 
				
			||||||
header_info
 | 
					 | 
				
			||||||
echo -e "Loading..."
 | 
					 | 
				
			||||||
APP="Bookstack"
 | 
					APP="Bookstack"
 | 
				
			||||||
var_disk="4"
 | 
					var_tags="organizer"
 | 
				
			||||||
var_cpu="1"
 | 
					var_cpu="1"
 | 
				
			||||||
var_ram="1024"
 | 
					var_ram="1024"
 | 
				
			||||||
 | 
					var_disk="4"
 | 
				
			||||||
var_os="debian"
 | 
					var_os="debian"
 | 
				
			||||||
var_version="12"
 | 
					var_version="12"
 | 
				
			||||||
 | 
					var_unprivileged="1"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# App Output & Base Settings
 | 
				
			||||||
 | 
					header_info "$APP"
 | 
				
			||||||
 | 
					base_settings
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# Core
 | 
				
			||||||
variables
 | 
					variables
 | 
				
			||||||
color
 | 
					color
 | 
				
			||||||
catch_errors
 | 
					catch_errors
 | 
				
			||||||
 | 
					
 | 
				
			||||||
function default_settings() {
 | 
					 | 
				
			||||||
  CT_TYPE="1"
 | 
					 | 
				
			||||||
  PW=""
 | 
					 | 
				
			||||||
  CT_ID=$NEXTID
 | 
					 | 
				
			||||||
  HN=$NSAPP
 | 
					 | 
				
			||||||
  DISK_SIZE="$var_disk"
 | 
					 | 
				
			||||||
  CORE_COUNT="$var_cpu"
 | 
					 | 
				
			||||||
  RAM_SIZE="$var_ram"
 | 
					 | 
				
			||||||
  BRG="vmbr0"
 | 
					 | 
				
			||||||
  NET="dhcp"
 | 
					 | 
				
			||||||
  GATE=""
 | 
					 | 
				
			||||||
  APT_CACHER=""
 | 
					 | 
				
			||||||
  APT_CACHER_IP=""
 | 
					 | 
				
			||||||
  DISABLEIP6="no"
 | 
					 | 
				
			||||||
  MTU=""
 | 
					 | 
				
			||||||
  SD=""
 | 
					 | 
				
			||||||
  NS=""
 | 
					 | 
				
			||||||
  MAC=""
 | 
					 | 
				
			||||||
  VLAN=""
 | 
					 | 
				
			||||||
  SSH="no"
 | 
					 | 
				
			||||||
  VERB="no"
 | 
					 | 
				
			||||||
  echo_default
 | 
					 | 
				
			||||||
}
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
function update_script() {
 | 
					function update_script() {
 | 
				
			||||||
header_info
 | 
					  header_info
 | 
				
			||||||
check_container_storage
 | 
					  check_container_storage
 | 
				
			||||||
check_container_resources
 | 
					  check_container_resources
 | 
				
			||||||
if [[ ! -d /opt/bookstack ]]; then msg_error "No ${APP} Installation Found!"; exit; fi
 | 
					  if [[ ! -d /opt/bookstack ]]; then
 | 
				
			||||||
RELEASE=$(curl -s https://api.github.com/repos/BookStackApp/BookStack/releases/latest | grep "tag_name" | awk '{print substr($2, 3, length($2)-4) }')
 | 
					    msg_error "No ${APP} Installation Found!"
 | 
				
			||||||
if [[ ! -f /opt/${APP}_version.txt ]] || [[ "${RELEASE}" != "$(cat /opt/${APP}_version.txt)" ]]; then
 | 
					    exit
 | 
				
			||||||
  msg_info "Stopping Apache2"
 | 
					  fi
 | 
				
			||||||
  systemctl stop apache2
 | 
					  RELEASE=$(curl -s https://api.github.com/repos/BookStackApp/BookStack/releases/latest | grep "tag_name" | awk '{print substr($2, 3, length($2)-4) }')
 | 
				
			||||||
  msg_ok "Services Stopped"
 | 
					  if [[ ! -f /opt/${APP}_version.txt ]] || [[ "${RELEASE}" != "$(cat /opt/${APP}_version.txt)" ]]; then
 | 
				
			||||||
 | 
					    msg_info "Stopping Apache2"
 | 
				
			||||||
 | 
					    systemctl stop apache2
 | 
				
			||||||
 | 
					    msg_ok "Services Stopped"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  msg_info "Updating ${APP} to ${RELEASE}"
 | 
					    msg_info "Updating ${APP} to v${RELEASE}"
 | 
				
			||||||
  cp /opt/bookstack/.env /opt/.env
 | 
					    mv /opt/bookstack /opt/bookstack-backup
 | 
				
			||||||
  wget -q "https://github.com/BookStackApp/BookStack/archive/refs/tags/v${RELEASE}.zip"
 | 
					    wget -q --directory-prefix=/opt "https://github.com/BookStackApp/BookStack/archive/refs/tags/v${RELEASE}.zip"
 | 
				
			||||||
  unzip -q v${RELEASE}.zip
 | 
					    unzip -q /opt/v${RELEASE}.zip -d /opt
 | 
				
			||||||
  mv BookStack-${RELEASE} /opt/bookstack
 | 
					    mv /opt/BookStack-${RELEASE} /opt/bookstack
 | 
				
			||||||
  mv /opt/.env /opt/bookstack/.env
 | 
					    cp /opt/bookstack-backup/.env /opt/bookstack/.env
 | 
				
			||||||
  cd /opt/bookstack
 | 
					    cp -r /opt/bookstack-backup/public/uploads/* /opt/bookstack/public/uploads/
 | 
				
			||||||
  COMPOSER_ALLOW_SUPERUSER=1 composer install --no-dev  &>/dev/null
 | 
					    cp -r /opt/bookstack-backup/storage/uploads/* /opt/bookstack/storage/uploads/
 | 
				
			||||||
  php artisan key:generate --force &>/dev/null
 | 
					    cp -r /opt/bookstack-backup/themes/* /opt/bookstack/themes/
 | 
				
			||||||
  php artisan migrate --force &>/dev/null
 | 
					    cd /opt/bookstack
 | 
				
			||||||
  echo "${RELEASE}" >/opt/${APP}_version.txt
 | 
					    COMPOSER_ALLOW_SUPERUSER=1 composer install --no-dev &>/dev/null
 | 
				
			||||||
  msg_ok "Updated ${APP}"
 | 
					    php artisan migrate --force &>/dev/null
 | 
				
			||||||
 | 
					    chown www-data:www-data -R /opt/bookstack /opt/bookstack/bootstrap/cache /opt/bookstack/public/uploads /opt/bookstack/storage
 | 
				
			||||||
 | 
					    chmod -R 755 /opt/bookstack /opt/bookstack/bootstrap/cache /opt/bookstack/public/uploads /opt/bookstack/storage
 | 
				
			||||||
 | 
					    chmod -R 775 /opt/bookstack/storage /opt/bookstack/bootstrap/cache /opt/bookstack/public/uploads
 | 
				
			||||||
 | 
					    chmod -R 640 /opt/bookstack/.env
 | 
				
			||||||
 | 
					    echo "${RELEASE}" >/opt/${APP}_version.txt
 | 
				
			||||||
 | 
					    msg_ok "Updated ${APP} to v${RELEASE}"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  msg_info "Starting Apache2"
 | 
					    msg_info "Starting Apache2"
 | 
				
			||||||
  systemctl start apache2
 | 
					    systemctl start apache2
 | 
				
			||||||
  msg_ok "Started Apache2"
 | 
					    msg_ok "Started Apache2"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  msg_info "Cleaning Up"
 | 
					    msg_info "Cleaning Up"
 | 
				
			||||||
  rm -rf v${RELEASE}.zip
 | 
					    rm -rf /opt/bookstack-backup
 | 
				
			||||||
  msg_ok "Cleaned"
 | 
					    rm -rf /opt/v${RELEASE}.zip
 | 
				
			||||||
  msg_ok "Updated Successfully"
 | 
					    msg_ok "Cleaned"
 | 
				
			||||||
else
 | 
					    msg_ok "Updated Successfully"
 | 
				
			||||||
  msg_ok "No update required. ${APP} is already at ${RELEASE}"
 | 
					  else
 | 
				
			||||||
fi
 | 
					    msg_ok "No update required. ${APP} is already at v${RELEASE}"
 | 
				
			||||||
exit
 | 
					  fi
 | 
				
			||||||
 | 
					  exit
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
start
 | 
					start
 | 
				
			||||||
build_container
 | 
					build_container
 | 
				
			||||||
description
 | 
					description
 | 
				
			||||||
 | 
					
 | 
				
			||||||
msg_ok "Completed Successfully!\n"
 | 
					msg_ok "Completed Successfully!\n"
 | 
				
			||||||
echo -e "${APP} Setup should be reachable by going to the following URL.
 | 
					echo -e "${CREATING}${GN}${APP} setup has been successfully initialized!${CL}"
 | 
				
			||||||
         ${BL}http://${IP}${CL} \n"
 | 
					echo -e "${INFO}${YW} Access it using the following URL:${CL}"
 | 
				
			||||||
 | 
					echo -e "${TAB}${GATEWAY}${BGN}http://${IP}${CL}"
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -1,65 +1,36 @@
 | 
				
			|||||||
#!/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 tteck
 | 
					# Copyright (c) 2021-2025 tteck
 | 
				
			||||||
# Author: tteck (tteckster)
 | 
					# Author: tteck (tteckster)
 | 
				
			||||||
# License: MIT
 | 
					# License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE
 | 
				
			||||||
# https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE
 | 
					# Source: https://www.bunkerweb.io/
 | 
				
			||||||
 | 
					
 | 
				
			||||||
function header_info {
 | 
					# App Default Values
 | 
				
			||||||
clear
 | 
					 | 
				
			||||||
cat <<"EOF"
 | 
					 | 
				
			||||||
    ____              __            _       __     __
 | 
					 | 
				
			||||||
   / __ )__  ______  / /_____  ____| |     / /__  / /_
 | 
					 | 
				
			||||||
  / __  / / / / __ \/ //_/ _ \/ ___/ | /| / / _ \/ __ \
 | 
					 | 
				
			||||||
 / /_/ / /_/ / / / / ,< /  __/ /   | |/ |/ /  __/ /_/ /
 | 
					 | 
				
			||||||
/_____/\__,_/_/ /_/_/|_|\___/_/    |__/|__/\___/_.___/
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
EOF
 | 
					 | 
				
			||||||
}
 | 
					 | 
				
			||||||
header_info
 | 
					 | 
				
			||||||
echo -e "Loading..."
 | 
					 | 
				
			||||||
APP="BunkerWeb"
 | 
					APP="BunkerWeb"
 | 
				
			||||||
var_disk="4"
 | 
					var_tags="webserver"
 | 
				
			||||||
var_cpu="2"
 | 
					var_cpu="2"
 | 
				
			||||||
var_ram="1024"
 | 
					var_ram="1024"
 | 
				
			||||||
 | 
					var_disk="4"
 | 
				
			||||||
var_os="debian"
 | 
					var_os="debian"
 | 
				
			||||||
var_version="12"
 | 
					var_version="12"
 | 
				
			||||||
 | 
					var_unprivileged="1"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# App Output & Base Settings
 | 
				
			||||||
 | 
					header_info "$APP"
 | 
				
			||||||
 | 
					base_settings
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# Core 
 | 
				
			||||||
variables
 | 
					variables
 | 
				
			||||||
color
 | 
					color
 | 
				
			||||||
catch_errors
 | 
					catch_errors
 | 
				
			||||||
 | 
					
 | 
				
			||||||
function default_settings() {
 | 
					 | 
				
			||||||
  CT_TYPE="1"
 | 
					 | 
				
			||||||
  PW=""
 | 
					 | 
				
			||||||
  CT_ID=$NEXTID
 | 
					 | 
				
			||||||
  HN=$NSAPP
 | 
					 | 
				
			||||||
  DISK_SIZE="$var_disk"
 | 
					 | 
				
			||||||
  CORE_COUNT="$var_cpu"
 | 
					 | 
				
			||||||
  RAM_SIZE="$var_ram"
 | 
					 | 
				
			||||||
  BRG="vmbr0"
 | 
					 | 
				
			||||||
  NET="dhcp"
 | 
					 | 
				
			||||||
  GATE=""
 | 
					 | 
				
			||||||
  APT_CACHER=""
 | 
					 | 
				
			||||||
  APT_CACHER_IP=""
 | 
					 | 
				
			||||||
  DISABLEIP6="no"
 | 
					 | 
				
			||||||
  MTU=""
 | 
					 | 
				
			||||||
  SD=""
 | 
					 | 
				
			||||||
  NS=""
 | 
					 | 
				
			||||||
  MAC=""
 | 
					 | 
				
			||||||
  VLAN=""
 | 
					 | 
				
			||||||
  SSH="no"
 | 
					 | 
				
			||||||
  VERB="no"
 | 
					 | 
				
			||||||
  echo_default
 | 
					 | 
				
			||||||
}
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
function update_script() {
 | 
					function update_script() {
 | 
				
			||||||
header_info
 | 
					  header_info
 | 
				
			||||||
check_container_storage
 | 
					  check_container_storage
 | 
				
			||||||
check_container_resources
 | 
					  check_container_resources
 | 
				
			||||||
if [[ ! -d /etc/bunkerweb ]]; then msg_error "No ${APP} Installation Found!"; exit; fi
 | 
					  if [[ ! -d /etc/bunkerweb ]]; then msg_error "No ${APP} Installation Found!"; exit; fi
 | 
				
			||||||
 | 
					  RELEASE=$(curl -s https://api.github.com/repos/bunkerity/bunkerweb/releases/latest | grep "tag_name" | awk '{print substr($2, 3, length($2)-4) }')
 | 
				
			||||||
RELEASE=$(curl -s https://api.github.com/repos/bunkerity/bunkerweb/releases/latest | grep "tag_name" | awk '{print substr($2, 3, length($2)-4) }')
 | 
					  if [[ ! -f /opt/${APP}_version.txt ]] || [[ "${RELEASE}" != "$(cat /opt/${APP}_version.txt)" ]]; then
 | 
				
			||||||
if [[ ! -f /opt/${APP}_version.txt ]] || [[ "${RELEASE}" != "$(cat /opt/${APP}_version.txt)" ]]; then
 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
  msg_info "Updating ${APP} to ${RELEASE}"
 | 
					  msg_info "Updating ${APP} to ${RELEASE}"
 | 
				
			||||||
  cat <<EOF >/etc/apt/preferences.d/bunkerweb
 | 
					  cat <<EOF >/etc/apt/preferences.d/bunkerweb
 | 
				
			||||||
@@ -84,5 +55,6 @@ build_container
 | 
				
			|||||||
description
 | 
					description
 | 
				
			||||||
 | 
					
 | 
				
			||||||
msg_ok "Completed Successfully!\n"
 | 
					msg_ok "Completed Successfully!\n"
 | 
				
			||||||
echo -e "${APP} setup should be reachable by going to the following URL.
 | 
					echo -e "${CREATING}${GN}${APP} setup has been successfully initialized!${CL}"
 | 
				
			||||||
         ${BL}http://${IP}/setup${CL} \n"
 | 
					echo -e "${INFO}${YW} Access it using the following URL:${CL}"
 | 
				
			||||||
 | 
					echo -e "${TAB}${GATEWAY}${BGN}http://${IP}/setup${CL}"
 | 
				
			||||||
							
								
								
									
										78
									
								
								ct/caddy.sh
									
									
									
									
									
								
							
							
						
						
									
										78
									
								
								ct/caddy.sh
									
									
									
									
									
								
							@@ -1,67 +1,42 @@
 | 
				
			|||||||
#!/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 tteck
 | 
					# Copyright (c) 2021-2025 tteck
 | 
				
			||||||
# Author: tteck (tteckster)
 | 
					# Author: tteck (tteckster)
 | 
				
			||||||
# License: MIT
 | 
					# License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE
 | 
				
			||||||
# https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE
 | 
					# Source: https://caddyserver.com/
 | 
				
			||||||
 | 
					
 | 
				
			||||||
function header_info {
 | 
					# App Default Values
 | 
				
			||||||
clear
 | 
					 | 
				
			||||||
cat <<"EOF"
 | 
					 | 
				
			||||||
   ______          __    __
 | 
					 | 
				
			||||||
  / ____/___ _____/ /___/ /_  __
 | 
					 | 
				
			||||||
 / /   / __ `/ __  / __  / / / /
 | 
					 | 
				
			||||||
/ /___/ /_/ / /_/ / /_/ / /_/ /
 | 
					 | 
				
			||||||
\____/\__,_/\__,_/\__,_/\__, /
 | 
					 | 
				
			||||||
                       /____/
 | 
					 | 
				
			||||||
EOF
 | 
					 | 
				
			||||||
}
 | 
					 | 
				
			||||||
header_info
 | 
					 | 
				
			||||||
echo -e "Loading..."
 | 
					 | 
				
			||||||
APP="Caddy"
 | 
					APP="Caddy"
 | 
				
			||||||
var_disk="2"
 | 
					var_tags="webserver"
 | 
				
			||||||
var_cpu="1"
 | 
					var_cpu="1"
 | 
				
			||||||
var_ram="512"
 | 
					var_ram="512"
 | 
				
			||||||
 | 
					var_disk="2"
 | 
				
			||||||
var_os="debian"
 | 
					var_os="debian"
 | 
				
			||||||
var_version="12"
 | 
					var_version="12"
 | 
				
			||||||
 | 
					var_unprivileged="1"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# App Output & Base Settings
 | 
				
			||||||
 | 
					header_info "$APP"
 | 
				
			||||||
 | 
					base_settings
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# Core
 | 
				
			||||||
variables
 | 
					variables
 | 
				
			||||||
color
 | 
					color
 | 
				
			||||||
catch_errors
 | 
					catch_errors
 | 
				
			||||||
 | 
					
 | 
				
			||||||
function default_settings() {
 | 
					 | 
				
			||||||
  CT_TYPE="1"
 | 
					 | 
				
			||||||
  PW=""
 | 
					 | 
				
			||||||
  CT_ID=$NEXTID
 | 
					 | 
				
			||||||
  HN=$NSAPP
 | 
					 | 
				
			||||||
  DISK_SIZE="$var_disk"
 | 
					 | 
				
			||||||
  CORE_COUNT="$var_cpu"
 | 
					 | 
				
			||||||
  RAM_SIZE="$var_ram"
 | 
					 | 
				
			||||||
  BRG="vmbr0"
 | 
					 | 
				
			||||||
  NET="dhcp"
 | 
					 | 
				
			||||||
  GATE=""
 | 
					 | 
				
			||||||
  APT_CACHER=""
 | 
					 | 
				
			||||||
  APT_CACHER_IP=""
 | 
					 | 
				
			||||||
  DISABLEIP6="no"
 | 
					 | 
				
			||||||
  MTU=""
 | 
					 | 
				
			||||||
  SD=""
 | 
					 | 
				
			||||||
  NS=""
 | 
					 | 
				
			||||||
  MAC=""
 | 
					 | 
				
			||||||
  VLAN=""
 | 
					 | 
				
			||||||
  SSH="no"
 | 
					 | 
				
			||||||
  VERB="no"
 | 
					 | 
				
			||||||
  echo_default
 | 
					 | 
				
			||||||
}
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
function update_script() {
 | 
					function update_script() {
 | 
				
			||||||
header_info
 | 
					   header_info
 | 
				
			||||||
check_container_storage
 | 
					   check_container_storage
 | 
				
			||||||
check_container_resources
 | 
					   check_container_resources
 | 
				
			||||||
if [[ ! -d /etc/caddy ]]; then msg_error "No ${APP} Installation Found!"; exit; fi
 | 
					   if [[ ! -d /etc/caddy ]]; then
 | 
				
			||||||
msg_info "Updating $APP LXC"
 | 
					      msg_error "No ${APP} Installation Found!"
 | 
				
			||||||
apt-get update &>/dev/null
 | 
					      exit
 | 
				
			||||||
apt-get -y upgrade &>/dev/null
 | 
					   fi
 | 
				
			||||||
msg_ok "Updated $APP LXC"
 | 
					   msg_info "Updating $APP LXC"
 | 
				
			||||||
exit
 | 
					   apt-get update &>/dev/null
 | 
				
			||||||
 | 
					   apt-get -y upgrade &>/dev/null
 | 
				
			||||||
 | 
					   msg_ok "Updated $APP LXC"
 | 
				
			||||||
 | 
					   exit
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
start
 | 
					start
 | 
				
			||||||
@@ -69,3 +44,6 @@ build_container
 | 
				
			|||||||
description
 | 
					description
 | 
				
			||||||
 | 
					
 | 
				
			||||||
msg_ok "Completed Successfully!\n"
 | 
					msg_ok "Completed Successfully!\n"
 | 
				
			||||||
 | 
					echo -e "${CREATING}${GN}${APP} setup has been successfully initialized!${CL}"
 | 
				
			||||||
 | 
					echo -e "${INFO}${YW} Access it using the following URL:${CL}"
 | 
				
			||||||
 | 
					echo -e "${TAB}${GATEWAY}${BGN}http://${IP}:80${CL}"
 | 
				
			||||||
@@ -1,58 +1,29 @@
 | 
				
			|||||||
#!/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 tteck
 | 
					# Copyright (c) 2021-2025 tteck
 | 
				
			||||||
# Author: tteck (tteckster)
 | 
					# Author: tteck (tteckster) | Co-Author: remz1337
 | 
				
			||||||
# Co-Author: remz1337
 | 
					# License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE
 | 
				
			||||||
# License: MIT
 | 
					# Source: https://github.com/janeczku/calibre-web
 | 
				
			||||||
# https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE
 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
function header_info {
 | 
					# App Default Values
 | 
				
			||||||
clear
 | 
					 | 
				
			||||||
cat <<"EOF"
 | 
					 | 
				
			||||||
   ______      ___ __                _       __     __
 | 
					 | 
				
			||||||
  / ____/___ _/ (_) /_  ________    | |     / /__  / /_
 | 
					 | 
				
			||||||
 / /   / __ `/ / / __ \/ ___/ _ \___| | /| / / _ \/ __ \
 | 
					 | 
				
			||||||
/ /___/ /_/ / / / /_/ / /  /  __/___/ |/ |/ /  __/ /_/ /
 | 
					 | 
				
			||||||
\____/\__,_/_/_/_.___/_/   \___/    |__/|__/\___/_.___/
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
EOF
 | 
					 | 
				
			||||||
}
 | 
					 | 
				
			||||||
header_info
 | 
					 | 
				
			||||||
echo -e "Loading..."
 | 
					 | 
				
			||||||
APP="Calibre-Web"
 | 
					APP="Calibre-Web"
 | 
				
			||||||
var_disk="4"
 | 
					var_tags="eBook"
 | 
				
			||||||
var_cpu="2"
 | 
					var_cpu="2"
 | 
				
			||||||
var_ram="2048"
 | 
					var_ram="2048"
 | 
				
			||||||
 | 
					var_disk="4"
 | 
				
			||||||
var_os="debian"
 | 
					var_os="debian"
 | 
				
			||||||
var_version="12"
 | 
					var_version="12"
 | 
				
			||||||
 | 
					var_unprivileged="1"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# App Output & Base Settings
 | 
				
			||||||
 | 
					header_info "$APP"
 | 
				
			||||||
 | 
					base_settings
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# Core
 | 
				
			||||||
variables
 | 
					variables
 | 
				
			||||||
color
 | 
					color
 | 
				
			||||||
catch_errors
 | 
					catch_errors
 | 
				
			||||||
 | 
					
 | 
				
			||||||
function default_settings() {
 | 
					 | 
				
			||||||
  CT_TYPE="1"
 | 
					 | 
				
			||||||
  PW=""
 | 
					 | 
				
			||||||
  CT_ID=$NEXTID
 | 
					 | 
				
			||||||
  HN=$NSAPP
 | 
					 | 
				
			||||||
  DISK_SIZE="$var_disk"
 | 
					 | 
				
			||||||
  CORE_COUNT="$var_cpu"
 | 
					 | 
				
			||||||
  RAM_SIZE="$var_ram"
 | 
					 | 
				
			||||||
  BRG="vmbr0"
 | 
					 | 
				
			||||||
  NET="dhcp"
 | 
					 | 
				
			||||||
  GATE=""
 | 
					 | 
				
			||||||
  APT_CACHER=""
 | 
					 | 
				
			||||||
  APT_CACHER_IP=""
 | 
					 | 
				
			||||||
  DISABLEIP6="no"
 | 
					 | 
				
			||||||
  MTU=""
 | 
					 | 
				
			||||||
  SD=""
 | 
					 | 
				
			||||||
  NS=""
 | 
					 | 
				
			||||||
  MAC=""
 | 
					 | 
				
			||||||
  VLAN=""
 | 
					 | 
				
			||||||
  SSH="no"
 | 
					 | 
				
			||||||
  VERB="no"
 | 
					 | 
				
			||||||
  echo_default
 | 
					 | 
				
			||||||
}
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
function update_script() {
 | 
					function update_script() {
 | 
				
			||||||
  header_info
 | 
					  header_info
 | 
				
			||||||
  check_container_storage
 | 
					  check_container_storage
 | 
				
			||||||
@@ -77,33 +48,33 @@ function update_script() {
 | 
				
			|||||||
    "5" "Enables login via google or github oauth" OFF \
 | 
					    "5" "Enables login via google or github oauth" OFF \
 | 
				
			||||||
    "6" "Enables extracting of metadata from epub, fb2, pdf files, and also extraction of covers from cbr, cbz, cbt files" OFF \
 | 
					    "6" "Enables extracting of metadata from epub, fb2, pdf files, and also extraction of covers from cbr, cbz, cbt files" OFF \
 | 
				
			||||||
    "7" "Enables extracting of metadata from cbr, cbz, cbt files" OFF \
 | 
					    "7" "Enables extracting of metadata from cbr, cbz, cbt files" OFF \
 | 
				
			||||||
    "8" "Enables syncing with your kobo reader" OFF )
 | 
					    "8" "Enables syncing with your kobo reader" OFF)
 | 
				
			||||||
  if [ -f "/opt/calibre-web/options.txt" ]; then
 | 
					  if [ -f "/opt/calibre-web/options.txt" ]; then
 | 
				
			||||||
    cps_options="$(cat /opt/calibre-web/options.txt)"
 | 
					    cps_options="$(cat /opt/calibre-web/options.txt)"
 | 
				
			||||||
    IFS=',' read -ra ADDR <<< "$cps_options"
 | 
					    IFS=',' read -ra ADDR <<<"$cps_options"
 | 
				
			||||||
    for i in "${ADDR[@]}"; do
 | 
					    for i in "${ADDR[@]}"; do
 | 
				
			||||||
	  if [ $i == "gdrive" ]; then
 | 
					      if [ $i == "gdrive" ]; then
 | 
				
			||||||
	    line=0
 | 
					        line=0
 | 
				
			||||||
	  elif [ $i == "gmail" ]; then
 | 
					      elif [ $i == "gmail" ]; then
 | 
				
			||||||
	    line=1
 | 
					        line=1
 | 
				
			||||||
          elif [ $i == "goodreads" ]; then
 | 
					      elif [ $i == "goodreads" ]; then
 | 
				
			||||||
	    line=2
 | 
					        line=2
 | 
				
			||||||
	  elif [ $i == "ldap" ]; then
 | 
					      elif [ $i == "ldap" ]; then
 | 
				
			||||||
	    line=3
 | 
					        line=3
 | 
				
			||||||
	  elif [ $i == "oauth" ]; then
 | 
					      elif [ $i == "oauth" ]; then
 | 
				
			||||||
	    line=4
 | 
					        line=4
 | 
				
			||||||
	  elif [ $i == "metadata" ]; then
 | 
					      elif [ $i == "metadata" ]; then
 | 
				
			||||||
	    line=5
 | 
					        line=5
 | 
				
			||||||
	  elif [ $i == "comics" ]; then
 | 
					      elif [ $i == "comics" ]; then
 | 
				
			||||||
	    line=6
 | 
					        line=6
 | 
				
			||||||
	  elif [ $i == "kobo" ]; then
 | 
					      elif [ $i == "kobo" ]; then
 | 
				
			||||||
	    line=7
 | 
					        line=7
 | 
				
			||||||
	  fi
 | 
					      fi
 | 
				
			||||||
      array_index=$(( 3*line + 2 ))
 | 
					      array_index=$((3 * line + 2))
 | 
				
			||||||
      menu_array[$array_index]=ON
 | 
					      menu_array[$array_index]=ON
 | 
				
			||||||
    done
 | 
					    done
 | 
				
			||||||
  fi
 | 
					  fi
 | 
				
			||||||
  if [ -n "$SPINNER_PID" ] && ps -p $SPINNER_PID > /dev/null; then kill $SPINNER_PID > /dev/null; fi
 | 
					  if [ -n "$SPINNER_PID" ] && ps -p $SPINNER_PID >/dev/null; then kill $SPINNER_PID >/dev/null; fi
 | 
				
			||||||
  CHOICES=$(whiptail --backtitle "Proxmox VE Helper Scripts" --title "CALIBRE-WEB OPTIONS" --separate-output --checklist "Choose Additional Options" 15 125 8 "${menu_array[@]}" 3>&1 1>&2 2>&3)
 | 
					  CHOICES=$(whiptail --backtitle "Proxmox VE Helper Scripts" --title "CALIBRE-WEB OPTIONS" --separate-output --checklist "Choose Additional Options" 15 125 8 "${menu_array[@]}" 3>&1 1>&2 2>&3)
 | 
				
			||||||
  spinner &
 | 
					  spinner &
 | 
				
			||||||
  SPINNER_PID=$!
 | 
					  SPINNER_PID=$!
 | 
				
			||||||
@@ -112,29 +83,29 @@ function update_script() {
 | 
				
			|||||||
    for CHOICE in $CHOICES; do
 | 
					    for CHOICE in $CHOICES; do
 | 
				
			||||||
      case "$CHOICE" in
 | 
					      case "$CHOICE" in
 | 
				
			||||||
      "1")
 | 
					      "1")
 | 
				
			||||||
        options+=( gdrive )
 | 
					        options+=(gdrive)
 | 
				
			||||||
        ;;
 | 
					        ;;
 | 
				
			||||||
      "2")
 | 
					      "2")
 | 
				
			||||||
        options+=( gmail )
 | 
					        options+=(gmail)
 | 
				
			||||||
        ;;
 | 
					        ;;
 | 
				
			||||||
      "3")
 | 
					      "3")
 | 
				
			||||||
        options+=( goodreads )
 | 
					        options+=(goodreads)
 | 
				
			||||||
        ;;
 | 
					        ;;
 | 
				
			||||||
      "4")
 | 
					      "4")
 | 
				
			||||||
        options+=( ldap )
 | 
					        options+=(ldap)
 | 
				
			||||||
        apt-get install -qqy libldap2-dev libsasl2-dev
 | 
					        apt-get install -qqy libldap2-dev libsasl2-dev
 | 
				
			||||||
        ;;
 | 
					        ;;
 | 
				
			||||||
      "5")
 | 
					      "5")
 | 
				
			||||||
        options+=( oauth )
 | 
					        options+=(oauth)
 | 
				
			||||||
        ;;
 | 
					        ;;
 | 
				
			||||||
      "6")
 | 
					      "6")
 | 
				
			||||||
        options+=( metadata )
 | 
					        options+=(metadata)
 | 
				
			||||||
        ;;
 | 
					        ;;
 | 
				
			||||||
      "7")
 | 
					      "7")
 | 
				
			||||||
        options+=( comics )
 | 
					        options+=(comics)
 | 
				
			||||||
        ;;
 | 
					        ;;
 | 
				
			||||||
      "8")
 | 
					      "8")
 | 
				
			||||||
        options+=( kobo )
 | 
					        options+=(kobo)
 | 
				
			||||||
        ;;
 | 
					        ;;
 | 
				
			||||||
      *)
 | 
					      *)
 | 
				
			||||||
        echo "Unsupported item $CHOICE!" >&2
 | 
					        echo "Unsupported item $CHOICE!" >&2
 | 
				
			||||||
@@ -144,14 +115,17 @@ function update_script() {
 | 
				
			|||||||
    done
 | 
					    done
 | 
				
			||||||
  fi
 | 
					  fi
 | 
				
			||||||
  if [ ${#options[@]} -gt 0 ]; then
 | 
					  if [ ${#options[@]} -gt 0 ]; then
 | 
				
			||||||
    cps_options=$(IFS=, ; echo "${options[*]}")
 | 
					    cps_options=$(
 | 
				
			||||||
    echo $cps_options > /opt/calibre-web/options.txt
 | 
					      IFS=,
 | 
				
			||||||
 | 
					      echo "${options[*]}"
 | 
				
			||||||
 | 
					    )
 | 
				
			||||||
 | 
					    echo $cps_options >/opt/calibre-web/options.txt
 | 
				
			||||||
    pip install --upgrade calibreweb[$cps_options] &>/dev/null
 | 
					    pip install --upgrade calibreweb[$cps_options] &>/dev/null
 | 
				
			||||||
  else
 | 
					  else
 | 
				
			||||||
    rm -rf /opt/calibre-web/options.txt
 | 
					    rm -rf /opt/calibre-web/options.txt
 | 
				
			||||||
    pip install --upgrade calibreweb &>/dev/null
 | 
					    pip install --upgrade calibreweb &>/dev/null
 | 
				
			||||||
  fi
 | 
					  fi
 | 
				
			||||||
  
 | 
					
 | 
				
			||||||
  msg_info "Starting ${APP}"
 | 
					  msg_info "Starting ${APP}"
 | 
				
			||||||
  systemctl start cps
 | 
					  systemctl start cps
 | 
				
			||||||
  msg_ok "Started ${APP}"
 | 
					  msg_ok "Started ${APP}"
 | 
				
			||||||
@@ -164,5 +138,6 @@ build_container
 | 
				
			|||||||
description
 | 
					description
 | 
				
			||||||
 | 
					
 | 
				
			||||||
msg_ok "Completed Successfully!\n"
 | 
					msg_ok "Completed Successfully!\n"
 | 
				
			||||||
echo -e "${APP} should be reachable by going to the following URL.
 | 
					echo -e "${CREATING}${GN}${APP} setup has been successfully initialized!${CL}"
 | 
				
			||||||
         ${BL}http://${IP}:8083${CL} \n"
 | 
					echo -e "${INFO}${YW} Access it using the following URL:${CL}"
 | 
				
			||||||
 | 
					echo -e "${TAB}${GATEWAY}${BGN}http://${IP}:8083${CL}"
 | 
				
			||||||
 
 | 
				
			|||||||
							
								
								
									
										80
									
								
								ct/casaos.sh
									
									
									
									
									
								
							
							
						
						
									
										80
									
								
								ct/casaos.sh
									
									
									
									
									
								
							@@ -1,67 +1,42 @@
 | 
				
			|||||||
#!/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 tteck
 | 
					# Copyright (c) 2021-2025 tteck
 | 
				
			||||||
# Author: tteck (tteckster)
 | 
					# Author: tteck (tteckster)
 | 
				
			||||||
# License: MIT
 | 
					# License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE
 | 
				
			||||||
# https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE
 | 
					# Source: https://casaos.io/
 | 
				
			||||||
 | 
					
 | 
				
			||||||
function header_info {
 | 
					# App Default Values
 | 
				
			||||||
clear
 | 
					 | 
				
			||||||
cat <<"EOF"
 | 
					 | 
				
			||||||
   ______                 ____  _____
 | 
					 | 
				
			||||||
  / ____/___ __________ _/ __ \/ ___/
 | 
					 | 
				
			||||||
 / /   / __ `/ ___/ __ `/ / / /\__ \ 
 | 
					 | 
				
			||||||
/ /___/ /_/ (__  ) /_/ / /_/ /___/ / 
 | 
					 | 
				
			||||||
\____/\__,_/____/\__,_/\____//____/  
 | 
					 | 
				
			||||||
                                     
 | 
					 | 
				
			||||||
EOF
 | 
					 | 
				
			||||||
}
 | 
					 | 
				
			||||||
header_info
 | 
					 | 
				
			||||||
echo -e "Loading..."
 | 
					 | 
				
			||||||
APP="CasaOS"
 | 
					APP="CasaOS"
 | 
				
			||||||
var_disk="8"
 | 
					var_tags="cloud"
 | 
				
			||||||
var_cpu="2"
 | 
					var_cpu="2"
 | 
				
			||||||
var_ram="2048"
 | 
					var_ram="2048"
 | 
				
			||||||
 | 
					var_disk="8"
 | 
				
			||||||
var_os="debian"
 | 
					var_os="debian"
 | 
				
			||||||
var_version="12"
 | 
					var_version="12"
 | 
				
			||||||
 | 
					var_unprivileged="1"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# App Output & Base Settings
 | 
				
			||||||
 | 
					header_info "$APP"
 | 
				
			||||||
 | 
					base_settings
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# Core
 | 
				
			||||||
variables
 | 
					variables
 | 
				
			||||||
color
 | 
					color
 | 
				
			||||||
catch_errors
 | 
					catch_errors
 | 
				
			||||||
 | 
					
 | 
				
			||||||
function default_settings() {
 | 
					 | 
				
			||||||
  CT_TYPE="1"
 | 
					 | 
				
			||||||
  PW=""
 | 
					 | 
				
			||||||
  CT_ID=$NEXTID
 | 
					 | 
				
			||||||
  HN=$NSAPP
 | 
					 | 
				
			||||||
  DISK_SIZE="$var_disk"
 | 
					 | 
				
			||||||
  CORE_COUNT="$var_cpu"
 | 
					 | 
				
			||||||
  RAM_SIZE="$var_ram"
 | 
					 | 
				
			||||||
  BRG="vmbr0"
 | 
					 | 
				
			||||||
  NET="dhcp"
 | 
					 | 
				
			||||||
  GATE=""
 | 
					 | 
				
			||||||
  APT_CACHER=""
 | 
					 | 
				
			||||||
  APT_CACHER_IP=""
 | 
					 | 
				
			||||||
  DISABLEIP6="no"
 | 
					 | 
				
			||||||
  MTU=""
 | 
					 | 
				
			||||||
  SD=""
 | 
					 | 
				
			||||||
  NS=""
 | 
					 | 
				
			||||||
  MAC=""
 | 
					 | 
				
			||||||
  VLAN=""
 | 
					 | 
				
			||||||
  SSH="no"
 | 
					 | 
				
			||||||
  VERB="no"
 | 
					 | 
				
			||||||
  echo_default
 | 
					 | 
				
			||||||
}
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
function update_script() {
 | 
					function update_script() {
 | 
				
			||||||
header_info
 | 
					   header_info
 | 
				
			||||||
check_container_storage
 | 
					   check_container_storage
 | 
				
			||||||
check_container_resources
 | 
					   check_container_resources
 | 
				
			||||||
if [[ ! -d /var ]]; then msg_error "No ${APP} Installation Found!"; exit; fi
 | 
					   if [[ ! -d /var ]]; then
 | 
				
			||||||
msg_info "Updating ${APP} LXC"
 | 
					      msg_error "No ${APP} Installation Found!"
 | 
				
			||||||
apt-get update &>/dev/null
 | 
					      exit
 | 
				
			||||||
apt-get -y upgrade &>/dev/null
 | 
					   fi
 | 
				
			||||||
msg_ok "Updated ${APP} LXC"
 | 
					   msg_info "Updating ${APP} LXC"
 | 
				
			||||||
exit
 | 
					   apt-get update &>/dev/null
 | 
				
			||||||
 | 
					   apt-get -y upgrade &>/dev/null
 | 
				
			||||||
 | 
					   msg_ok "Updated ${APP} LXC"
 | 
				
			||||||
 | 
					   exit
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
start
 | 
					start
 | 
				
			||||||
@@ -69,5 +44,6 @@ build_container
 | 
				
			|||||||
description
 | 
					description
 | 
				
			||||||
 | 
					
 | 
				
			||||||
msg_ok "Completed Successfully!\n"
 | 
					msg_ok "Completed Successfully!\n"
 | 
				
			||||||
echo -e "${APP} Setup should be reachable by going to the following URL.
 | 
					echo -e "${CREATING}${GN}${APP} setup has been successfully initialized!${CL}"
 | 
				
			||||||
         ${BL}http://${IP} ${CL} \n"
 | 
					echo -e "${INFO}${YW} Access it using the following URL:${CL}"
 | 
				
			||||||
 | 
					echo -e "${TAB}${GATEWAY}${BGN}http://${IP}${CL}"
 | 
				
			||||||
@@ -1,83 +1,75 @@
 | 
				
			|||||||
#!/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 tteck
 | 
					# Copyright (c) 2021-2025 tteck
 | 
				
			||||||
# Author: tteck (tteckster)
 | 
					# Author: tteck (tteckster)
 | 
				
			||||||
# License: MIT
 | 
					# License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE
 | 
				
			||||||
# https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE
 | 
					# Source: https://changedetection.io/
 | 
				
			||||||
 | 
					
 | 
				
			||||||
function header_info {
 | 
					# App Default Values
 | 
				
			||||||
clear
 | 
					 | 
				
			||||||
cat <<"EOF"
 | 
					 | 
				
			||||||
   ________                              ____       __            __  _           
 | 
					 | 
				
			||||||
  / ____/ /_  ____ _____  ____ ____     / __ \___  / /____  _____/ /_(_)___  ____ 
 | 
					 | 
				
			||||||
 / /   / __ \/ __ `/ __ \/ __ `/ _ \   / / / / _ \/ __/ _ \/ ___/ __/ / __ \/ __ \
 | 
					 | 
				
			||||||
/ /___/ / / / /_/ / / / / /_/ /  __/  / /_/ /  __/ /_/  __/ /__/ /_/ / /_/ / / / /
 | 
					 | 
				
			||||||
\____/_/ /_/\__,_/_/ /_/\__, /\___/  /_____/\___/\__/\___/\___/\__/_/\____/_/ /_/ 
 | 
					 | 
				
			||||||
                       /____/                                                     
 | 
					 | 
				
			||||||
EOF
 | 
					 | 
				
			||||||
}
 | 
					 | 
				
			||||||
header_info
 | 
					 | 
				
			||||||
echo -e "Loading..."
 | 
					 | 
				
			||||||
APP="Change Detection"
 | 
					APP="Change Detection"
 | 
				
			||||||
var_disk="8"
 | 
					var_tags="monitoring;crawler"
 | 
				
			||||||
var_cpu="2"
 | 
					var_cpu="2"
 | 
				
			||||||
var_ram="1024"
 | 
					var_ram="1024"
 | 
				
			||||||
 | 
					var_disk="8"
 | 
				
			||||||
var_os="debian"
 | 
					var_os="debian"
 | 
				
			||||||
var_version="12"
 | 
					var_version="12"
 | 
				
			||||||
 | 
					var_unprivileged="1"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# App Output & Base Settings
 | 
				
			||||||
 | 
					header_info "$APP"
 | 
				
			||||||
 | 
					base_settings
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# Core
 | 
				
			||||||
variables
 | 
					variables
 | 
				
			||||||
color
 | 
					color
 | 
				
			||||||
catch_errors
 | 
					catch_errors
 | 
				
			||||||
 | 
					
 | 
				
			||||||
function default_settings() {
 | 
					 | 
				
			||||||
  CT_TYPE="1"
 | 
					 | 
				
			||||||
  PW=""
 | 
					 | 
				
			||||||
  CT_ID=$NEXTID
 | 
					 | 
				
			||||||
  HN=$NSAPP
 | 
					 | 
				
			||||||
  DISK_SIZE="$var_disk"
 | 
					 | 
				
			||||||
  CORE_COUNT="$var_cpu"
 | 
					 | 
				
			||||||
  RAM_SIZE="$var_ram"
 | 
					 | 
				
			||||||
  BRG="vmbr0"
 | 
					 | 
				
			||||||
  NET="dhcp"
 | 
					 | 
				
			||||||
  GATE=""
 | 
					 | 
				
			||||||
  APT_CACHER=""
 | 
					 | 
				
			||||||
  APT_CACHER_IP=""
 | 
					 | 
				
			||||||
  DISABLEIP6="no"
 | 
					 | 
				
			||||||
  MTU=""
 | 
					 | 
				
			||||||
  SD=""
 | 
					 | 
				
			||||||
  NS=""
 | 
					 | 
				
			||||||
  MAC=""
 | 
					 | 
				
			||||||
  VLAN=""
 | 
					 | 
				
			||||||
  SSH="no"
 | 
					 | 
				
			||||||
  VERB="no"
 | 
					 | 
				
			||||||
  echo_default
 | 
					 | 
				
			||||||
}
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
function update_script() {
 | 
					function update_script() {
 | 
				
			||||||
header_info
 | 
					  header_info
 | 
				
			||||||
check_container_storage
 | 
					  check_container_storage
 | 
				
			||||||
check_container_resources
 | 
					  check_container_resources
 | 
				
			||||||
if [[ ! -f /etc/systemd/system/changedetection.service ]]; then msg_error "No ${APP} Installation Found!"; exit; fi
 | 
					
 | 
				
			||||||
msg_info "Updating ${APP} LXC"
 | 
					  if [[ ! -f /etc/systemd/system/changedetection.service ]]; then
 | 
				
			||||||
if ! dpkg -s libjpeg-dev >/dev/null 2>&1; then
 | 
					    msg_error "No ${APP} Installation Found!"
 | 
				
			||||||
  apt-get update
 | 
					    exit
 | 
				
			||||||
  apt-get install -y libjpeg-dev
 | 
					  fi
 | 
				
			||||||
fi
 | 
					
 | 
				
			||||||
pip3 install changedetection.io --upgrade &>/dev/null
 | 
					  if ! dpkg -s libjpeg-dev >/dev/null 2>&1; then
 | 
				
			||||||
pip3 install playwright --upgrade &>/dev/null
 | 
					    msg_info "Installing Dependencies"
 | 
				
			||||||
if [[ -f /etc/systemd/system/browserless.service ]]; then
 | 
					    apt-get update
 | 
				
			||||||
  git -C /opt/browserless/ fetch --all &>/dev/null
 | 
					    apt-get install -y libjpeg-dev
 | 
				
			||||||
  git -C /opt/browserless/ reset --hard origin/main &>/dev/null
 | 
					    msg_ok "Updated Dependencies"
 | 
				
			||||||
  npm update --prefix /opt/browserless &>/dev/null
 | 
					  fi
 | 
				
			||||||
  npm run build --prefix /opt/browserless &>/dev/null
 | 
					
 | 
				
			||||||
  npm run build:function --prefix /opt/browserless &>/dev/null
 | 
					  msg_info "Updating ${APP}"
 | 
				
			||||||
  npm prune production --prefix /opt/browserless &>/dev/null
 | 
					  pip3 install changedetection.io --upgrade &>/dev/null
 | 
				
			||||||
  systemctl restart browserless
 | 
					  msg_ok "Updated ${APP}"
 | 
				
			||||||
else
 | 
					
 | 
				
			||||||
  msg_error "No Browserless Installation Found!"
 | 
					  msg_info "Updating Playwright"
 | 
				
			||||||
fi
 | 
					  pip3 install playwright --upgrade &>/dev/null
 | 
				
			||||||
systemctl restart changedetection
 | 
					  msg_ok "Updated Playwright"
 | 
				
			||||||
msg_ok "Updated Successfully"
 | 
					
 | 
				
			||||||
exit
 | 
					  if [[ -f /etc/systemd/system/browserless.service ]]; then
 | 
				
			||||||
 | 
					    msg_info "Updating Browserless (Patience)"
 | 
				
			||||||
 | 
					    git -C /opt/browserless/ fetch --all &>/dev/null
 | 
				
			||||||
 | 
					    git -C /opt/browserless/ reset --hard origin/main &>/dev/null
 | 
				
			||||||
 | 
					    npm update --prefix /opt/browserless &>/dev/null
 | 
				
			||||||
 | 
					    /opt/browserless/node_modules/playwright-core/cli.js install --with-deps &>/dev/null
 | 
				
			||||||
 | 
					    # Update Chrome separately, as it has to be done with the force option. Otherwise the installation of other browsers will not be done if Chrome is already installed.
 | 
				
			||||||
 | 
					    /opt/browserless/node_modules/playwright-core/cli.js install --force chrome &>/dev/null
 | 
				
			||||||
 | 
					    /opt/browserless/node_modules/playwright-core/cli.js install chromium firefox webkit &>/dev/null
 | 
				
			||||||
 | 
					    npm run build --prefix /opt/browserless &>/dev/null
 | 
				
			||||||
 | 
					    npm run build:function --prefix /opt/browserless &>/dev/null
 | 
				
			||||||
 | 
					    npm prune production --prefix /opt/browserless &>/dev/null
 | 
				
			||||||
 | 
					    systemctl restart browserless
 | 
				
			||||||
 | 
					    msg_ok "Updated Browserless"
 | 
				
			||||||
 | 
					  else
 | 
				
			||||||
 | 
					    msg_error "No Browserless Installation Found!"
 | 
				
			||||||
 | 
					  fi
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  systemctl restart changedetection
 | 
				
			||||||
 | 
					  msg_ok "Updated Successfully"
 | 
				
			||||||
 | 
					  exit
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
start
 | 
					start
 | 
				
			||||||
@@ -85,5 +77,6 @@ build_container
 | 
				
			|||||||
description
 | 
					description
 | 
				
			||||||
 | 
					
 | 
				
			||||||
msg_ok "Completed Successfully!\n"
 | 
					msg_ok "Completed Successfully!\n"
 | 
				
			||||||
echo -e "${APP} should be reachable by going to the following URL.
 | 
					echo -e "${CREATING}${GN}${APP} setup has been successfully initialized!${CL}"
 | 
				
			||||||
         ${BL}http://${IP}:5000${CL} \n"
 | 
					echo -e "${INFO}${YW} Access it using the following URL:${CL}"
 | 
				
			||||||
 | 
					echo -e "${TAB}${GATEWAY}${BGN}http://${IP}:5000${CL}"
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -1,64 +1,39 @@
 | 
				
			|||||||
#!/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 tteck
 | 
					# Copyright (c) 2021-2025 tteck
 | 
				
			||||||
# Author: tteck (tteckster)
 | 
					# Author: tteck (tteckster)
 | 
				
			||||||
# License: MIT
 | 
					# License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE
 | 
				
			||||||
# https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE
 | 
					# Source: https://getchannels.com/dvr-server/
 | 
				
			||||||
 | 
					
 | 
				
			||||||
function header_info {
 | 
					# App Default Values
 | 
				
			||||||
clear
 | 
					 | 
				
			||||||
cat <<"EOF"
 | 
					 | 
				
			||||||
   ________                           __        ____ _    ______     _____
 | 
					 | 
				
			||||||
  / ____/ /_  ____ _____  ____  ___  / /____   / __ \ |  / / __ \   / ___/___  ______   _____  _____
 | 
					 | 
				
			||||||
 / /   / __ \/ __ `/ __ \/ __ \/ _ \/ / ___/  / / / / | / / /_/ /   \__ \/ _ \/ ___/ | / / _ \/ ___/
 | 
					 | 
				
			||||||
/ /___/ / / / /_/ / / / / / / /  __/ (__  )  / /_/ /| |/ / _, _/   ___/ /  __/ /   | |/ /  __/ /
 | 
					 | 
				
			||||||
\____/_/ /_/\__,_/_/ /_/_/ /_/\___/_/____/  /_____/ |___/_/ |_|   /____/\___/_/    |___/\___/_/
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
EOF
 | 
					 | 
				
			||||||
}
 | 
					 | 
				
			||||||
header_info
 | 
					 | 
				
			||||||
echo -e "Loading..."
 | 
					 | 
				
			||||||
APP="Channels"
 | 
					APP="Channels"
 | 
				
			||||||
var_disk="8"
 | 
					var_tags="dvr"
 | 
				
			||||||
var_cpu="2"
 | 
					var_cpu="2"
 | 
				
			||||||
var_ram="1024"
 | 
					var_ram="1024"
 | 
				
			||||||
 | 
					var_disk="8"
 | 
				
			||||||
var_os="debian"
 | 
					var_os="debian"
 | 
				
			||||||
var_version="12"
 | 
					var_version="12"
 | 
				
			||||||
 | 
					var_unprivileged="0"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# App Output & Base Settings
 | 
				
			||||||
 | 
					header_info "$APP"
 | 
				
			||||||
 | 
					base_settings
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# Core
 | 
				
			||||||
variables
 | 
					variables
 | 
				
			||||||
color
 | 
					color
 | 
				
			||||||
catch_errors
 | 
					catch_errors
 | 
				
			||||||
 | 
					
 | 
				
			||||||
function default_settings() {
 | 
					 | 
				
			||||||
  CT_TYPE="0"
 | 
					 | 
				
			||||||
  PW=""
 | 
					 | 
				
			||||||
  CT_ID=$NEXTID
 | 
					 | 
				
			||||||
  HN=$NSAPP
 | 
					 | 
				
			||||||
  DISK_SIZE="$var_disk"
 | 
					 | 
				
			||||||
  CORE_COUNT="$var_cpu"
 | 
					 | 
				
			||||||
  RAM_SIZE="$var_ram"
 | 
					 | 
				
			||||||
  BRG="vmbr0"
 | 
					 | 
				
			||||||
  NET="dhcp"
 | 
					 | 
				
			||||||
  GATE=""
 | 
					 | 
				
			||||||
  APT_CACHER=""
 | 
					 | 
				
			||||||
  APT_CACHER_IP=""
 | 
					 | 
				
			||||||
  DISABLEIP6="no"
 | 
					 | 
				
			||||||
  MTU=""
 | 
					 | 
				
			||||||
  SD=""
 | 
					 | 
				
			||||||
  NS=""
 | 
					 | 
				
			||||||
  MAC=""
 | 
					 | 
				
			||||||
  VLAN=""
 | 
					 | 
				
			||||||
  SSH="no"
 | 
					 | 
				
			||||||
  VERB="no"
 | 
					 | 
				
			||||||
  echo_default
 | 
					 | 
				
			||||||
}
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
function update_script() {
 | 
					function update_script() {
 | 
				
			||||||
header_info
 | 
					  header_info
 | 
				
			||||||
check_container_storage
 | 
					  check_container_storage
 | 
				
			||||||
check_container_resources
 | 
					  check_container_resources
 | 
				
			||||||
if [[ ! -d /opt/channels-dvr ]]; then msg_error "No ${APP} Installation Found!"; exit; fi
 | 
					  if [[ ! -d /opt/channels-dvr ]]; then
 | 
				
			||||||
msg_error "There is currently no update path available."
 | 
					    msg_error "No ${APP} Installation Found!"
 | 
				
			||||||
exit
 | 
					    exit
 | 
				
			||||||
 | 
					  fi
 | 
				
			||||||
 | 
					  msg_error "There is currently no update path available."
 | 
				
			||||||
 | 
					  exit
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
start
 | 
					start
 | 
				
			||||||
@@ -66,5 +41,6 @@ build_container
 | 
				
			|||||||
description
 | 
					description
 | 
				
			||||||
 | 
					
 | 
				
			||||||
msg_ok "Completed Successfully!\n"
 | 
					msg_ok "Completed Successfully!\n"
 | 
				
			||||||
echo -e "${APP} Setup should be reachable by going to the following URL.
 | 
					echo -e "${CREATING}${GN}${APP} setup has been successfully initialized!${CL}"
 | 
				
			||||||
         ${BL}http://${IP}:8089 ${CL} \n"
 | 
					echo -e "${INFO}${YW} Access it using the following URL:${CL}"
 | 
				
			||||||
 | 
					echo -e "${TAB}${GATEWAY}${BGN}http://${IP}:8089${CL}"
 | 
				
			||||||
							
								
								
									
										59
									
								
								ct/checkmk.sh
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										59
									
								
								ct/checkmk.sh
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,59 @@
 | 
				
			|||||||
 | 
					#!/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: Michel Roegl-Brunner (michelroegl-brunner)
 | 
				
			||||||
 | 
					# License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE
 | 
				
			||||||
 | 
					# Source: https://checkmk.com/
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					APP="checkmk"
 | 
				
			||||||
 | 
					var_tags="monitoring"
 | 
				
			||||||
 | 
					var_cpu="2"
 | 
				
			||||||
 | 
					var_ram="2048"
 | 
				
			||||||
 | 
					var_disk="4"
 | 
				
			||||||
 | 
					var_os="debian"
 | 
				
			||||||
 | 
					var_version="12"
 | 
				
			||||||
 | 
					var_unprivileged="1"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					header_info "$APP"
 | 
				
			||||||
 | 
					base_settings
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					variables
 | 
				
			||||||
 | 
					color
 | 
				
			||||||
 | 
					catch_errors
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					function update_script() {
 | 
				
			||||||
 | 
					  header_info
 | 
				
			||||||
 | 
					  check_container_storage
 | 
				
			||||||
 | 
					  check_container_resources
 | 
				
			||||||
 | 
					  if [[ ! -f /opt/checkmk_version.txt ]]; then
 | 
				
			||||||
 | 
					    msg_error "No ${APP} Installation Found!"
 | 
				
			||||||
 | 
					    exit
 | 
				
			||||||
 | 
					  fi
 | 
				
			||||||
 | 
					  RELEASE=$(curl -fsSL https://api.github.com/repos/checkmk/checkmk/tags | grep "name" | awk '{print substr($2, 3, length($2)-4) }' | grep -v "*-rc" | tail -n +2 | head -n 1)
 | 
				
			||||||
 | 
					  if [[ ! -f /opt/${APP}_version.txt ]] || [[ "${RELEASE}" != "$(cat /opt/${APP}_version.txt)" ]]; then
 | 
				
			||||||
 | 
					    msg_info "Updating ${APP} to v${RELEASE}"
 | 
				
			||||||
 | 
					    omd stop monitoring &>/dev/null
 | 
				
			||||||
 | 
					    omd cp monitoring monitoringbackup &>/dev/null
 | 
				
			||||||
 | 
					    wget -q https://download.checkmk.com/checkmk/${RELEASE}/check-mk-raw-${RELEASE}_0.bookworm_amd64.deb -O /opt/checkmk.deb
 | 
				
			||||||
 | 
					    apt-get install -y /opt/checkmk.deb &>/dev/null
 | 
				
			||||||
 | 
					    omd --force -V ${RELEASE}.cre update --conflict=install monitoring &>/dev/null
 | 
				
			||||||
 | 
					    omd start monitoring &>/dev/null
 | 
				
			||||||
 | 
					    omd -f rm monitoringbackup  &>/dev/null
 | 
				
			||||||
 | 
					    omd cleanup &>/dev/null
 | 
				
			||||||
 | 
					    rm -rf /opt/checkmk.deb
 | 
				
			||||||
 | 
					    msg_ok "Updated ${APP} to v${RELEASE}"
 | 
				
			||||||
 | 
					  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}/monitoring${CL}"
 | 
				
			||||||
@@ -1,67 +1,42 @@
 | 
				
			|||||||
#!/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 tteck
 | 
					# Copyright (c) 2021-2025 tteck
 | 
				
			||||||
# Author: tteck (tteckster)
 | 
					# Author: tteck (tteckster)
 | 
				
			||||||
# License: MIT
 | 
					# License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE
 | 
				
			||||||
# https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE
 | 
					# Source: https://www.cloudflare.com/
 | 
				
			||||||
 | 
					
 | 
				
			||||||
function header_info {
 | 
					# App Default Values
 | 
				
			||||||
clear
 | 
					 | 
				
			||||||
cat <<"EOF"
 | 
					 | 
				
			||||||
   ________                ________                    __
 | 
					 | 
				
			||||||
  / ____/ /___  __  ______/ / __/ /___ _________  ____/ /
 | 
					 | 
				
			||||||
 / /   / / __ \/ / / / __  / /_/ / __ `/ ___/ _ \/ __  / 
 | 
					 | 
				
			||||||
/ /___/ / /_/ / /_/ / /_/ / __/ / /_/ / /  /  __/ /_/ /  
 | 
					 | 
				
			||||||
\____/_/\____/\__,_/\__,_/_/ /_/\__,_/_/   \___/\__,_/   
 | 
					 | 
				
			||||||
                                                         
 | 
					 | 
				
			||||||
EOF
 | 
					 | 
				
			||||||
}
 | 
					 | 
				
			||||||
header_info
 | 
					 | 
				
			||||||
echo -e "Loading..."
 | 
					 | 
				
			||||||
APP="Cloudflared"
 | 
					APP="Cloudflared"
 | 
				
			||||||
var_disk="2"
 | 
					var_tags="network;cloudflare"
 | 
				
			||||||
var_cpu="1"
 | 
					var_cpu="1"
 | 
				
			||||||
var_ram="512"
 | 
					var_ram="512"
 | 
				
			||||||
 | 
					var_disk="2"
 | 
				
			||||||
var_os="debian"
 | 
					var_os="debian"
 | 
				
			||||||
var_version="12"
 | 
					var_version="12"
 | 
				
			||||||
 | 
					var_unprivileged="1"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# App Output & Base Settings
 | 
				
			||||||
 | 
					header_info "$APP"
 | 
				
			||||||
 | 
					base_settings
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# Core
 | 
				
			||||||
variables
 | 
					variables
 | 
				
			||||||
color
 | 
					color
 | 
				
			||||||
catch_errors
 | 
					catch_errors
 | 
				
			||||||
 | 
					
 | 
				
			||||||
function default_settings() {
 | 
					 | 
				
			||||||
  CT_TYPE="1"
 | 
					 | 
				
			||||||
  PW=""
 | 
					 | 
				
			||||||
  CT_ID=$NEXTID
 | 
					 | 
				
			||||||
  HN=$NSAPP
 | 
					 | 
				
			||||||
  DISK_SIZE="$var_disk"
 | 
					 | 
				
			||||||
  CORE_COUNT="$var_cpu"
 | 
					 | 
				
			||||||
  RAM_SIZE="$var_ram"
 | 
					 | 
				
			||||||
  BRG="vmbr0"
 | 
					 | 
				
			||||||
  NET="dhcp"
 | 
					 | 
				
			||||||
  GATE=""
 | 
					 | 
				
			||||||
  APT_CACHER=""
 | 
					 | 
				
			||||||
  APT_CACHER_IP=""
 | 
					 | 
				
			||||||
  DISABLEIP6="no"
 | 
					 | 
				
			||||||
  MTU=""
 | 
					 | 
				
			||||||
  SD=""
 | 
					 | 
				
			||||||
  NS=""
 | 
					 | 
				
			||||||
  MAC=""
 | 
					 | 
				
			||||||
  VLAN=""
 | 
					 | 
				
			||||||
  SSH="no"
 | 
					 | 
				
			||||||
  VERB="no"
 | 
					 | 
				
			||||||
  echo_default
 | 
					 | 
				
			||||||
}
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
function update_script() {
 | 
					function update_script() {
 | 
				
			||||||
header_info
 | 
					   header_info
 | 
				
			||||||
check_container_storage
 | 
					   check_container_storage
 | 
				
			||||||
check_container_resources
 | 
					   check_container_resources
 | 
				
			||||||
if [[ ! -d /var ]]; then msg_error "No ${APP} Installation Found!"; exit; fi
 | 
					   if [[ ! -d /var ]]; then
 | 
				
			||||||
msg_info "Updating $APP LXC"
 | 
					      msg_error "No ${APP} Installation Found!"
 | 
				
			||||||
apt-get update &>/dev/null
 | 
					      exit
 | 
				
			||||||
apt-get -y upgrade &>/dev/null
 | 
					   fi
 | 
				
			||||||
msg_ok "Updated $APP LXC"
 | 
					   msg_info "Updating $APP LXC"
 | 
				
			||||||
exit
 | 
					   apt-get update &>/dev/null
 | 
				
			||||||
 | 
					   apt-get -y upgrade &>/dev/null
 | 
				
			||||||
 | 
					   msg_ok "Updated $APP LXC"
 | 
				
			||||||
 | 
					   exit
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
start
 | 
					start
 | 
				
			||||||
@@ -69,3 +44,4 @@ build_container
 | 
				
			|||||||
description
 | 
					description
 | 
				
			||||||
 | 
					
 | 
				
			||||||
msg_ok "Completed Successfully!\n"
 | 
					msg_ok "Completed Successfully!\n"
 | 
				
			||||||
 | 
					echo -e "${CREATING}${GN}${APP} setup has been successfully initialized!${CL}"
 | 
				
			||||||
							
								
								
									
										181
									
								
								ct/cockpit.sh
									
									
									
									
									
								
							
							
						
						
									
										181
									
								
								ct/cockpit.sh
									
									
									
									
									
								
							@@ -1,118 +1,92 @@
 | 
				
			|||||||
#!/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 tteck
 | 
					# Copyright (c) 2021-2025 tteck
 | 
				
			||||||
# Author: tteck
 | 
					# Author: tteck | Co-Author: havardthom
 | 
				
			||||||
# Co-Author: havardthom
 | 
					# License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE
 | 
				
			||||||
# License: MIT
 | 
					# Source: https://cockpit-project.org/
 | 
				
			||||||
# https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE
 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
function header_info {
 | 
					# App Default Values
 | 
				
			||||||
clear
 | 
					 | 
				
			||||||
cat <<"EOF"     
 | 
					 | 
				
			||||||
   ______           __         _ __
 | 
					 | 
				
			||||||
  / ____/___  _____/ /______  (_) /_
 | 
					 | 
				
			||||||
 / /   / __ \/ ___/ //_/ __ \/ / __/
 | 
					 | 
				
			||||||
/ /___/ /_/ / /__/ ,< / /_/ / / /_
 | 
					 | 
				
			||||||
\____/\____/\___/_/|_/ .___/_/\__/
 | 
					 | 
				
			||||||
                    /_/
 | 
					 | 
				
			||||||
EOF
 | 
					 | 
				
			||||||
}
 | 
					 | 
				
			||||||
header_info
 | 
					 | 
				
			||||||
echo -e "Loading..."
 | 
					 | 
				
			||||||
APP="Cockpit"
 | 
					APP="Cockpit"
 | 
				
			||||||
var_disk="4"
 | 
					var_tags="monitoring;network"
 | 
				
			||||||
var_cpu="2"
 | 
					var_cpu="2"
 | 
				
			||||||
var_ram="1024"
 | 
					var_ram="1024"
 | 
				
			||||||
 | 
					var_disk="4"
 | 
				
			||||||
var_os="debian"
 | 
					var_os="debian"
 | 
				
			||||||
var_version="12"
 | 
					var_version="12"
 | 
				
			||||||
 | 
					var_unprivileged="1"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# App Output & Base Settings
 | 
				
			||||||
 | 
					header_info "$APP"
 | 
				
			||||||
 | 
					base_settings
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# Core
 | 
				
			||||||
variables
 | 
					variables
 | 
				
			||||||
color
 | 
					color
 | 
				
			||||||
catch_errors
 | 
					catch_errors
 | 
				
			||||||
 | 
					
 | 
				
			||||||
function default_settings() {
 | 
					 | 
				
			||||||
  CT_TYPE="1"
 | 
					 | 
				
			||||||
  PW=""
 | 
					 | 
				
			||||||
  CT_ID=$NEXTID
 | 
					 | 
				
			||||||
  HN=$NSAPP
 | 
					 | 
				
			||||||
  DISK_SIZE="$var_disk"
 | 
					 | 
				
			||||||
  CORE_COUNT="$var_cpu"
 | 
					 | 
				
			||||||
  RAM_SIZE="$var_ram"
 | 
					 | 
				
			||||||
  BRG="vmbr0"
 | 
					 | 
				
			||||||
  NET="dhcp"
 | 
					 | 
				
			||||||
  GATE=""
 | 
					 | 
				
			||||||
  APT_CACHER=""
 | 
					 | 
				
			||||||
  APT_CACHER_IP=""
 | 
					 | 
				
			||||||
  DISABLEIP6="no"
 | 
					 | 
				
			||||||
  MTU=""
 | 
					 | 
				
			||||||
  SD=""
 | 
					 | 
				
			||||||
  NS=""
 | 
					 | 
				
			||||||
  MAC=""
 | 
					 | 
				
			||||||
  VLAN=""
 | 
					 | 
				
			||||||
  SSH="no"
 | 
					 | 
				
			||||||
  VERB="no"
 | 
					 | 
				
			||||||
  echo_default
 | 
					 | 
				
			||||||
}
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
function update_script() {
 | 
					function update_script() {
 | 
				
			||||||
header_info
 | 
					  header_info
 | 
				
			||||||
check_container_storage
 | 
					  check_container_storage
 | 
				
			||||||
check_container_resources
 | 
					  check_container_resources
 | 
				
			||||||
if [[ ! -d /etc/cockpit ]]; then msg_error "No ${APP} Installation Found!"; exit; fi
 | 
					  if [[ ! -d /etc/cockpit ]]; then
 | 
				
			||||||
UPD=$(whiptail --backtitle "Proxmox VE Helper Scripts" --title "SUPPORT" --radiolist --cancel-button Exit-Script "Spacebar = Select" 11 58 4 \
 | 
					    msg_error "No ${APP} Installation Found!"
 | 
				
			||||||
  "1" "Update LXC" ON \
 | 
					    exit
 | 
				
			||||||
  "2" "Install cockpit-file-sharing" OFF \
 | 
					  fi
 | 
				
			||||||
  "3" "Install cockpit-identities" OFF \
 | 
					  UPD=$(whiptail --backtitle "Proxmox VE Helper Scripts" --title "SUPPORT" --radiolist --cancel-button Exit-Script "Spacebar = Select" 11 58 4 \
 | 
				
			||||||
  "4" "Install cockpit-navigator" OFF \
 | 
					    "1" "Update LXC" ON \
 | 
				
			||||||
  3>&1 1>&2 2>&3)
 | 
					    "2" "Install cockpit-file-sharing" OFF \
 | 
				
			||||||
 | 
					    "3" "Install cockpit-identities" OFF \
 | 
				
			||||||
 | 
					    "4" "Install cockpit-navigator" OFF \
 | 
				
			||||||
 | 
					    3>&1 1>&2 2>&3)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
if [ "$UPD" == "1" ]; then
 | 
					  if [ "$UPD" == "1" ]; then
 | 
				
			||||||
  msg_info "Updating ${APP} LXC"
 | 
					    msg_info "Updating ${APP} LXC"
 | 
				
			||||||
  apt-get update &>/dev/null
 | 
					    apt-get update &>/dev/null
 | 
				
			||||||
  apt-get -y upgrade &>/dev/null
 | 
					    apt-get -y upgrade &>/dev/null
 | 
				
			||||||
  msg_ok "Updated ${APP} LXC"
 | 
					    msg_ok "Updated ${APP} LXC"
 | 
				
			||||||
  exit
 | 
					    exit
 | 
				
			||||||
fi
 | 
					  fi
 | 
				
			||||||
if [ "$UPD" == "2" ]; then
 | 
					  if [ "$UPD" == "2" ]; then
 | 
				
			||||||
  msg_info "Installing dependencies (patience)"
 | 
					    msg_info "Installing dependencies (patience)"
 | 
				
			||||||
  apt-get install -y attr &>/dev/null
 | 
					    apt-get install -y attr &>/dev/null
 | 
				
			||||||
  apt-get install -y nfs-kernel-server &>/dev/null
 | 
					    apt-get install -y nfs-kernel-server &>/dev/null
 | 
				
			||||||
  apt-get install -y samba &>/dev/null
 | 
					    apt-get install -y samba &>/dev/null
 | 
				
			||||||
  apt-get install -y samba-common-bin &>/dev/null
 | 
					    apt-get install -y samba-common-bin &>/dev/null
 | 
				
			||||||
  apt-get install -y winbind &>/dev/null
 | 
					    apt-get install -y winbind &>/dev/null
 | 
				
			||||||
  apt-get install -y gawk &>/dev/null
 | 
					    apt-get install -y gawk &>/dev/null
 | 
				
			||||||
  msg_ok "Installed dependencies"
 | 
					    msg_ok "Installed dependencies"
 | 
				
			||||||
  msg_info "Installing Cockpit file sharing"
 | 
					    msg_info "Installing Cockpit file sharing"
 | 
				
			||||||
  wget -q $(curl -s https://api.github.com/repos/45Drives/cockpit-file-sharing/releases/latest | grep download | grep focal_all.deb | cut -d\" -f4)
 | 
					    wget -q $(curl -s https://api.github.com/repos/45Drives/cockpit-file-sharing/releases/latest | grep download | grep focal_all.deb | cut -d\" -f4)
 | 
				
			||||||
  dpkg -i cockpit-file-sharing_*focal_all.deb &>/dev/null
 | 
					    dpkg -i cockpit-file-sharing_*focal_all.deb &>/dev/null
 | 
				
			||||||
  rm cockpit-file-sharing_*focal_all.deb
 | 
					    rm cockpit-file-sharing_*focal_all.deb
 | 
				
			||||||
  msg_ok "Installed Cockpit file sharing"
 | 
					    msg_ok "Installed Cockpit file sharing"
 | 
				
			||||||
  exit
 | 
					    exit
 | 
				
			||||||
fi
 | 
					  fi
 | 
				
			||||||
if [ "$UPD" == "3" ]; then
 | 
					  if [ "$UPD" == "3" ]; then
 | 
				
			||||||
  msg_info "Installing dependencies (patience)"
 | 
					    msg_info "Installing dependencies (patience)"
 | 
				
			||||||
  apt-get install -y psmisc &>/dev/null
 | 
					    apt-get install -y psmisc &>/dev/null
 | 
				
			||||||
  apt-get install -y samba &>/dev/null
 | 
					    apt-get install -y samba &>/dev/null
 | 
				
			||||||
  apt-get install -y samba-common-bin &>/dev/null
 | 
					    apt-get install -y samba-common-bin &>/dev/null
 | 
				
			||||||
  msg_ok "Installed dependencies"
 | 
					    msg_ok "Installed dependencies"
 | 
				
			||||||
  msg_info "Installing Cockpit identities"
 | 
					    msg_info "Installing Cockpit identities"
 | 
				
			||||||
  wget -q $(curl -s https://api.github.com/repos/45Drives/cockpit-identities/releases/latest | grep download | grep focal_all.deb | cut -d\" -f4)
 | 
					    wget -q $(curl -s https://api.github.com/repos/45Drives/cockpit-identities/releases/latest | grep download | grep focal_all.deb | cut -d\" -f4)
 | 
				
			||||||
  dpkg -i cockpit-identities_*focal_all.deb &>/dev/null
 | 
					    dpkg -i cockpit-identities_*focal_all.deb &>/dev/null
 | 
				
			||||||
  rm cockpit-identities_*focal_all.deb
 | 
					    rm cockpit-identities_*focal_all.deb
 | 
				
			||||||
  msg_ok "Installed Cockpit identities"
 | 
					    msg_ok "Installed Cockpit identities"
 | 
				
			||||||
  exit
 | 
					    exit
 | 
				
			||||||
fi
 | 
					  fi
 | 
				
			||||||
if [ "$UPD" == "4" ]; then
 | 
					  if [ "$UPD" == "4" ]; then
 | 
				
			||||||
  msg_info "Installing dependencies"
 | 
					    msg_info "Installing dependencies"
 | 
				
			||||||
  apt-get install -y rsync &>/dev/null
 | 
					    apt-get install -y rsync &>/dev/null
 | 
				
			||||||
  apt-get install -y zip &>/dev/null
 | 
					    apt-get install -y zip &>/dev/null
 | 
				
			||||||
  msg_ok "Installed dependencies"
 | 
					    msg_ok "Installed dependencies"
 | 
				
			||||||
  msg_info "Installing Cockpit navigator"
 | 
					    msg_info "Installing Cockpit navigator"
 | 
				
			||||||
  wget -q $(curl -s https://api.github.com/repos/45Drives/cockpit-navigator/releases/latest | grep download | grep focal_all.deb | cut -d\" -f4)
 | 
					    wget -q $(curl -s https://api.github.com/repos/45Drives/cockpit-navigator/releases/latest | grep download | grep focal_all.deb | cut -d\" -f4)
 | 
				
			||||||
  dpkg -i cockpit-navigator_*focal_all.deb &>/dev/null
 | 
					    dpkg -i cockpit-navigator_*focal_all.deb &>/dev/null
 | 
				
			||||||
  rm cockpit-navigator_*focal_all.deb
 | 
					    rm cockpit-navigator_*focal_all.deb
 | 
				
			||||||
  msg_ok "Installed Cockpit navigator"
 | 
					    msg_ok "Installed Cockpit navigator"
 | 
				
			||||||
  exit
 | 
					    exit
 | 
				
			||||||
fi
 | 
					  fi
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
start
 | 
					start
 | 
				
			||||||
@@ -120,5 +94,6 @@ build_container
 | 
				
			|||||||
description
 | 
					description
 | 
				
			||||||
 | 
					
 | 
				
			||||||
msg_ok "Completed Successfully!\n"
 | 
					msg_ok "Completed Successfully!\n"
 | 
				
			||||||
echo -e "${APP} should be reachable by going to the following URL.
 | 
					echo -e "${CREATING}${GN}${APP} setup has been successfully initialized!${CL}"
 | 
				
			||||||
         ${BL}http://${IP}:9090${CL} \n"
 | 
					echo -e "${INFO}${YW} Access it using the following URL:${CL}"
 | 
				
			||||||
 | 
					echo -e "${TAB}${GATEWAY}${BGN}http://${IP}:9090${CL}"
 | 
				
			||||||
							
								
								
									
										110
									
								
								ct/commafeed.sh
									
									
									
									
									
								
							
							
						
						
									
										110
									
								
								ct/commafeed.sh
									
									
									
									
									
								
							@@ -1,84 +1,59 @@
 | 
				
			|||||||
#!/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 tteck
 | 
					# Copyright (c) 2021-2025 tteck
 | 
				
			||||||
# Author: tteck (tteckster)
 | 
					# Author: tteck (tteckster)
 | 
				
			||||||
# License: MIT
 | 
					# License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE
 | 
				
			||||||
# https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE
 | 
					# Source: https://www.commafeed.com/#/welcome
 | 
				
			||||||
 | 
					
 | 
				
			||||||
function header_info {
 | 
					# App Default Values
 | 
				
			||||||
clear
 | 
					 | 
				
			||||||
cat <<"EOF"
 | 
					 | 
				
			||||||
   ______                                ______              __
 | 
					 | 
				
			||||||
  / ____/___  ____ ___  ____ ___  ____ _/ ____/__  ___  ____/ /
 | 
					 | 
				
			||||||
 / /   / __ \/ __ `__ \/ __ `__ \/ __ `/ /_  / _ \/ _ \/ __  /
 | 
					 | 
				
			||||||
/ /___/ /_/ / / / / / / / / / / / /_/ / __/ /  __/  __/ /_/ /
 | 
					 | 
				
			||||||
\____/\____/_/ /_/ /_/_/ /_/ /_/\__,_/_/    \___/\___/\__,_/
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
EOF
 | 
					 | 
				
			||||||
}
 | 
					 | 
				
			||||||
header_info
 | 
					 | 
				
			||||||
echo -e "Loading..."
 | 
					 | 
				
			||||||
APP="CommaFeed"
 | 
					APP="CommaFeed"
 | 
				
			||||||
var_disk="4"
 | 
					var_tags="rss-reader"
 | 
				
			||||||
var_cpu="2"
 | 
					var_cpu="2"
 | 
				
			||||||
var_ram="2048"
 | 
					var_ram="2048"
 | 
				
			||||||
 | 
					var_disk="4"
 | 
				
			||||||
var_os="debian"
 | 
					var_os="debian"
 | 
				
			||||||
var_version="12"
 | 
					var_version="12"
 | 
				
			||||||
 | 
					var_unprivileged="1"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# App Output & Base Settings
 | 
				
			||||||
 | 
					header_info "$APP"
 | 
				
			||||||
 | 
					base_settings
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# Core
 | 
				
			||||||
variables
 | 
					variables
 | 
				
			||||||
color
 | 
					color
 | 
				
			||||||
catch_errors
 | 
					catch_errors
 | 
				
			||||||
 | 
					
 | 
				
			||||||
function default_settings() {
 | 
					 | 
				
			||||||
  CT_TYPE="1"
 | 
					 | 
				
			||||||
  PW=""
 | 
					 | 
				
			||||||
  CT_ID=$NEXTID
 | 
					 | 
				
			||||||
  HN=$NSAPP
 | 
					 | 
				
			||||||
  DISK_SIZE="$var_disk"
 | 
					 | 
				
			||||||
  CORE_COUNT="$var_cpu"
 | 
					 | 
				
			||||||
  RAM_SIZE="$var_ram"
 | 
					 | 
				
			||||||
  BRG="vmbr0"
 | 
					 | 
				
			||||||
  NET="dhcp"
 | 
					 | 
				
			||||||
  GATE=""
 | 
					 | 
				
			||||||
  APT_CACHER=""
 | 
					 | 
				
			||||||
  APT_CACHER_IP=""
 | 
					 | 
				
			||||||
  DISABLEIP6="no"
 | 
					 | 
				
			||||||
  MTU=""
 | 
					 | 
				
			||||||
  SD=""
 | 
					 | 
				
			||||||
  NS=""
 | 
					 | 
				
			||||||
  MAC=""
 | 
					 | 
				
			||||||
  VLAN=""
 | 
					 | 
				
			||||||
  SSH="no"
 | 
					 | 
				
			||||||
  VERB="no"
 | 
					 | 
				
			||||||
  echo_default
 | 
					 | 
				
			||||||
}
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
function update_script() {
 | 
					function update_script() {
 | 
				
			||||||
header_info
 | 
					  header_info
 | 
				
			||||||
check_container_storage
 | 
					  check_container_storage
 | 
				
			||||||
check_container_resources
 | 
					  check_container_resources
 | 
				
			||||||
if [[ ! -d /opt/commafeed ]]; then msg_error "No ${APP} Installation Found!"; exit; fi
 | 
					  if [[ ! -d /opt/commafeed ]]; then
 | 
				
			||||||
RELEASE=$(curl -sL https://api.github.com/repos/Athou/commafeed/releases/latest | grep '"tag_name":' | cut -d'"' -f4)
 | 
					    msg_error "No ${APP} Installation Found!"
 | 
				
			||||||
if [[ ! -f /opt/${APP}_version.txt ]] || [[ "${RELEASE}" != "$(cat /opt/${APP}_version.txt)" ]]; then
 | 
					    exit
 | 
				
			||||||
  msg_info "Stopping ${APP}"
 | 
					  fi
 | 
				
			||||||
  systemctl stop commafeed
 | 
					  RELEASE=$(curl -sL https://api.github.com/repos/Athou/commafeed/releases/latest | grep '"tag_name":' | cut -d'"' -f4)
 | 
				
			||||||
  msg_ok "Stopped ${APP}"
 | 
					  if [[ ! -f /opt/${APP}_version.txt ]] || [[ "${RELEASE}" != "$(cat /opt/${APP}_version.txt)" ]]; then
 | 
				
			||||||
 | 
					    msg_info "Stopping ${APP}"
 | 
				
			||||||
 | 
					    systemctl stop commafeed
 | 
				
			||||||
 | 
					    msg_ok "Stopped ${APP}"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  msg_info "Updating ${APP} to ${RELEASE}"
 | 
					    msg_info "Updating ${APP} to ${RELEASE}"
 | 
				
			||||||
  wget -q https://github.com/Athou/commafeed/releases/download/${RELEASE}/commafeed-${RELEASE}-h2-jvm.zip
 | 
					    wget -q https://github.com/Athou/commafeed/releases/download/${RELEASE}/commafeed-${RELEASE}-h2-jvm.zip
 | 
				
			||||||
  unzip -q commafeed-${RELEASE}-h2-jvm.zip
 | 
					    unzip -q commafeed-${RELEASE}-h2-jvm.zip
 | 
				
			||||||
  rsync -a --exclude 'data/' commafeed-${RELEASE}-h2/ /opt/commafeed/
 | 
					    rsync -a --exclude 'data/' commafeed-${RELEASE}-h2/ /opt/commafeed/
 | 
				
			||||||
  rm -rf commafeed-${RELEASE}-h2  commafeed-${RELEASE}-h2-jvm.zip
 | 
					    rm -rf commafeed-${RELEASE}-h2 commafeed-${RELEASE}-h2-jvm.zip
 | 
				
			||||||
  echo "${RELEASE}" >/opt/${APP}_version.txt
 | 
					    echo "${RELEASE}" >/opt/${APP}_version.txt
 | 
				
			||||||
  msg_ok "Updated ${APP} to ${RELEASE}"
 | 
					    msg_ok "Updated ${APP} to ${RELEASE}"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  msg_info "Starting ${APP}"
 | 
					    msg_info "Starting ${APP}"
 | 
				
			||||||
  systemctl start commafeed
 | 
					    systemctl start commafeed
 | 
				
			||||||
  msg_ok "Started ${APP}"
 | 
					    msg_ok "Started ${APP}"
 | 
				
			||||||
  msg_ok "Updated Successfully"
 | 
					    msg_ok "Updated Successfully"
 | 
				
			||||||
else
 | 
					  else
 | 
				
			||||||
  msg_ok "No update required. ${APP} is already at ${RELEASE}"
 | 
					    msg_ok "No update required. ${APP} is already at ${RELEASE}"
 | 
				
			||||||
fi
 | 
					  fi
 | 
				
			||||||
exit
 | 
					  exit
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
start
 | 
					start
 | 
				
			||||||
@@ -86,5 +61,6 @@ build_container
 | 
				
			|||||||
description
 | 
					description
 | 
				
			||||||
 | 
					
 | 
				
			||||||
msg_ok "Completed Successfully!\n"
 | 
					msg_ok "Completed Successfully!\n"
 | 
				
			||||||
echo -e "${APP} should be reachable by going to the following URL.
 | 
					echo -e "${CREATING}${GN}${APP} setup has been successfully initialized!${CL}"
 | 
				
			||||||
         ${BL}http://${IP}:8082${CL} \n"
 | 
					echo -e "${INFO}${YW} Access it using the following URL:${CL}"
 | 
				
			||||||
 | 
					echo -e "${TAB}${GATEWAY}${BGN}http://${IP}:8082${CL}"
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -1,7 +1,8 @@
 | 
				
			|||||||
#!/usr/bin/env bash
 | 
					#!/usr/bin/env bash
 | 
				
			||||||
 | 
					
 | 
				
			||||||
# Copyright (c) 2021-2024 tteck
 | 
					# Copyright (c) 2021-2025 tteck
 | 
				
			||||||
# Author: tteck (tteckster)
 | 
					# Author: tteck (tteckster)
 | 
				
			||||||
 | 
					# Co-Author: MickLesk
 | 
				
			||||||
# License: MIT
 | 
					# License: MIT
 | 
				
			||||||
# https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE
 | 
					# https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE
 | 
				
			||||||
 | 
					
 | 
				
			||||||
@@ -9,15 +10,25 @@
 | 
				
			|||||||
# if [ "$VERBOSE" == "yes" ]; then set -x; fi
 | 
					# if [ "$VERBOSE" == "yes" ]; then set -x; fi
 | 
				
			||||||
 | 
					
 | 
				
			||||||
# This function sets color variables for formatting output in the terminal
 | 
					# This function sets color variables for formatting output in the terminal
 | 
				
			||||||
 | 
					# Colors
 | 
				
			||||||
YW=$(echo "\033[33m")
 | 
					YW=$(echo "\033[33m")
 | 
				
			||||||
 | 
					YWB=$(echo "\033[93m")
 | 
				
			||||||
BL=$(echo "\033[36m")
 | 
					BL=$(echo "\033[36m")
 | 
				
			||||||
RD=$(echo "\033[01;31m")
 | 
					RD=$(echo "\033[01;31m")
 | 
				
			||||||
GN=$(echo "\033[1;92m")
 | 
					GN=$(echo "\033[1;92m")
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# Formatting
 | 
				
			||||||
CL=$(echo "\033[m")
 | 
					CL=$(echo "\033[m")
 | 
				
			||||||
CM="${GN}✓${CL}"
 | 
					UL=$(echo "\033[4m")
 | 
				
			||||||
CROSS="${RD}✗${CL}"
 | 
					BOLD=$(echo "\033[1m")
 | 
				
			||||||
BFR="\\r\\033[K"
 | 
					BFR="\\r\\033[K"
 | 
				
			||||||
HOLD=" "
 | 
					HOLD=" "
 | 
				
			||||||
 | 
					TAB="  "
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# Icons
 | 
				
			||||||
 | 
					CM="${TAB}✔️${TAB}${CL}"
 | 
				
			||||||
 | 
					CROSS="${TAB}✖️${TAB}${CL}"
 | 
				
			||||||
 | 
					INFO="${TAB}💡${TAB}${CL}"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
# This sets error handling options and defines the error_handler function to handle errors
 | 
					# This sets error handling options and defines the error_handler function to handle errors
 | 
				
			||||||
set -Eeuo pipefail
 | 
					set -Eeuo pipefail
 | 
				
			||||||
@@ -36,19 +47,24 @@ function error_handler() {
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
# This function displays a spinner.
 | 
					# This function displays a spinner.
 | 
				
			||||||
function spinner() {
 | 
					function spinner() {
 | 
				
			||||||
    local chars="/-\|"
 | 
					  local frames=('⠋' '⠙' '⠹' '⠸' '⠼' '⠴' '⠦' '⠧' '⠇' '⠏')
 | 
				
			||||||
    local spin_i=0
 | 
					  local spin_i=0
 | 
				
			||||||
    printf "\e[?25l"
 | 
					  local interval=0.1
 | 
				
			||||||
    while true; do
 | 
					  printf "\e[?25l" 
 | 
				
			||||||
        printf "\r \e[36m%s\e[0m" "${chars:spin_i++%${#chars}:1}"
 | 
					
 | 
				
			||||||
        sleep 0.1
 | 
					  local color="${YWB}"
 | 
				
			||||||
    done
 | 
					
 | 
				
			||||||
 | 
					  while true; do
 | 
				
			||||||
 | 
					    printf "\r ${color}%s${CL}" "${frames[spin_i]}"
 | 
				
			||||||
 | 
					    spin_i=$(( (spin_i + 1) % ${#frames[@]} ))
 | 
				
			||||||
 | 
					    sleep "$interval"
 | 
				
			||||||
 | 
					  done
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
# This function displays an informational message with a yellow color.
 | 
					# This function displays an informational message with a yellow color.
 | 
				
			||||||
function msg_info() {
 | 
					function msg_info() {
 | 
				
			||||||
  local msg="$1"
 | 
					  local msg="$1"
 | 
				
			||||||
  echo -ne " ${HOLD} ${YW}${msg}   "
 | 
					  echo -ne "${TAB}${YW}${HOLD}${msg}${HOLD}"
 | 
				
			||||||
  spinner &
 | 
					  spinner &
 | 
				
			||||||
  SPINNER_PID=$!
 | 
					  SPINNER_PID=$!
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
@@ -58,7 +74,7 @@ function msg_ok() {
 | 
				
			|||||||
  if [ -n "$SPINNER_PID" ] && ps -p $SPINNER_PID > /dev/null; then kill $SPINNER_PID > /dev/null; fi
 | 
					  if [ -n "$SPINNER_PID" ] && ps -p $SPINNER_PID > /dev/null; then kill $SPINNER_PID > /dev/null; fi
 | 
				
			||||||
  printf "\e[?25h"
 | 
					  printf "\e[?25h"
 | 
				
			||||||
  local msg="$1"
 | 
					  local msg="$1"
 | 
				
			||||||
  echo -e "${BFR} ${CM} ${GN}${msg}${CL}"
 | 
					  echo -e "${BFR}${CM}${GN}${msg}${CL}"
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
# This function displays a error message with a red color.
 | 
					# This function displays a error message with a red color.
 | 
				
			||||||
@@ -66,7 +82,7 @@ function msg_error() {
 | 
				
			|||||||
  if [ -n "$SPINNER_PID" ] && ps -p $SPINNER_PID > /dev/null; then kill $SPINNER_PID > /dev/null; fi
 | 
					  if [ -n "$SPINNER_PID" ] && ps -p $SPINNER_PID > /dev/null; then kill $SPINNER_PID > /dev/null; fi
 | 
				
			||||||
  printf "\e[?25h"
 | 
					  printf "\e[?25h"
 | 
				
			||||||
  local msg="$1"
 | 
					  local msg="$1"
 | 
				
			||||||
  echo -e "${BFR} ${CROSS} ${RD}${msg}${CL}"
 | 
					  echo -e "${BFR}${CROSS}${RD}${msg}${CL}"
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
# This checks for the presence of valid Container Storage and Template Storage locations
 | 
					# This checks for the presence of valid Container Storage and Template Storage locations
 | 
				
			||||||
@@ -105,7 +121,7 @@ function select_storage() {
 | 
				
			|||||||
    local TAG=$(echo $line | awk '{print $1}')
 | 
					    local TAG=$(echo $line | awk '{print $1}')
 | 
				
			||||||
    local TYPE=$(echo $line | awk '{printf "%-10s", $2}')
 | 
					    local TYPE=$(echo $line | awk '{printf "%-10s", $2}')
 | 
				
			||||||
    local FREE=$(echo $line | numfmt --field 4-6 --from-unit=K --to=iec --format %.2f | awk '{printf( "%9sB", $6)}')
 | 
					    local FREE=$(echo $line | numfmt --field 4-6 --from-unit=K --to=iec --format %.2f | awk '{printf( "%9sB", $6)}')
 | 
				
			||||||
    local ITEM="  Type: $TYPE Free: $FREE "
 | 
					    local ITEM="Type: $TYPE Free: $FREE "
 | 
				
			||||||
    local OFFSET=2
 | 
					    local OFFSET=2
 | 
				
			||||||
    if [[ $((${#ITEM} + $OFFSET)) -gt ${MSG_MAX_LENGTH:-} ]]; then
 | 
					    if [[ $((${#ITEM} + $OFFSET)) -gt ${MSG_MAX_LENGTH:-} ]]; then
 | 
				
			||||||
      local MSG_MAX_LENGTH=$((${#ITEM} + $OFFSET))
 | 
					      local MSG_MAX_LENGTH=$((${#ITEM} + $OFFSET))
 | 
				
			||||||
@@ -123,11 +139,14 @@ function select_storage() {
 | 
				
			|||||||
      "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) || exit "Menu aborted."
 | 
				
			||||||
 | 
					      if [ $? -ne 0 ]; then
 | 
				
			||||||
 | 
					        echo -e "${CROSS}${RD} Menu aborted by user.${CL}"
 | 
				
			||||||
 | 
					        exit 0 
 | 
				
			||||||
 | 
					      fi
 | 
				
			||||||
    done
 | 
					    done
 | 
				
			||||||
    printf $STORAGE
 | 
					    printf "%s" "$STORAGE"
 | 
				
			||||||
  fi
 | 
					  fi
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					 | 
				
			||||||
# Test if required variables are set
 | 
					# Test if required variables are set
 | 
				
			||||||
[[ "${CTID:-}" ]] || exit "You need to set 'CTID' variable."
 | 
					[[ "${CTID:-}" ]] || exit "You need to set 'CTID' variable."
 | 
				
			||||||
[[ "${PCT_OSTYPE:-}" ]] || exit "You need to set 'PCT_OSTYPE' variable."
 | 
					[[ "${PCT_OSTYPE:-}" ]] || exit "You need to set 'PCT_OSTYPE' variable."
 | 
				
			||||||
 
 | 
				
			|||||||
							
								
								
									
										182
									
								
								ct/cronicle.sh
									
									
									
									
									
								
							
							
						
						
									
										182
									
								
								ct/cronicle.sh
									
									
									
									
									
								
							@@ -1,126 +1,101 @@
 | 
				
			|||||||
#!/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 tteck
 | 
					# Copyright (c) 2021-2025 tteck
 | 
				
			||||||
# Author: tteck (tteckster)
 | 
					# Author: tteck (tteckster)
 | 
				
			||||||
# License: MIT
 | 
					# License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE
 | 
				
			||||||
# https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE
 | 
					# Source: https://cronicle.net/
 | 
				
			||||||
 | 
					
 | 
				
			||||||
function header_info {
 | 
					# App Default Values
 | 
				
			||||||
clear
 | 
					 | 
				
			||||||
cat <<"EOF"
 | 
					 | 
				
			||||||
   ______                 _      __   
 | 
					 | 
				
			||||||
  / ____/________  ____  (_)____/ /__ 
 | 
					 | 
				
			||||||
 / /   / ___/ __ \/ __ \/ / ___/ / _ \
 | 
					 | 
				
			||||||
/ /___/ /  / /_/ / / / / / /__/ /  __/
 | 
					 | 
				
			||||||
\____/_/   \____/_/ /_/_/\___/_/\___/ 
 | 
					 | 
				
			||||||
                                      
 | 
					 | 
				
			||||||
EOF
 | 
					 | 
				
			||||||
}
 | 
					 | 
				
			||||||
header_info
 | 
					 | 
				
			||||||
echo -e "Loading..."
 | 
					 | 
				
			||||||
APP="Cronicle"
 | 
					APP="Cronicle"
 | 
				
			||||||
var_disk="2"
 | 
					var_tags="task-scheduler"
 | 
				
			||||||
var_cpu="1"
 | 
					var_cpu="1"
 | 
				
			||||||
var_ram="512"
 | 
					var_ram="512"
 | 
				
			||||||
 | 
					var_disk="2"
 | 
				
			||||||
var_os="debian"
 | 
					var_os="debian"
 | 
				
			||||||
var_version="12"
 | 
					var_version="12"
 | 
				
			||||||
 | 
					var_unprivileged="1"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# App Output & Base Settings
 | 
				
			||||||
 | 
					header_info "$APP"
 | 
				
			||||||
 | 
					base_settings
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# Core
 | 
				
			||||||
variables
 | 
					variables
 | 
				
			||||||
color
 | 
					color
 | 
				
			||||||
catch_errors
 | 
					catch_errors
 | 
				
			||||||
 | 
					
 | 
				
			||||||
function default_settings() {
 | 
					 | 
				
			||||||
  CT_TYPE="1"
 | 
					 | 
				
			||||||
  PW=""
 | 
					 | 
				
			||||||
  CT_ID=$NEXTID
 | 
					 | 
				
			||||||
  HN=$NSAPP
 | 
					 | 
				
			||||||
  DISK_SIZE="$var_disk"
 | 
					 | 
				
			||||||
  CORE_COUNT="$var_cpu"
 | 
					 | 
				
			||||||
  RAM_SIZE="$var_ram"
 | 
					 | 
				
			||||||
  BRG="vmbr0"
 | 
					 | 
				
			||||||
  NET="dhcp"
 | 
					 | 
				
			||||||
  GATE=""
 | 
					 | 
				
			||||||
  APT_CACHER=""
 | 
					 | 
				
			||||||
  APT_CACHER_IP=""
 | 
					 | 
				
			||||||
  DISABLEIP6="no"
 | 
					 | 
				
			||||||
  MTU=""
 | 
					 | 
				
			||||||
  SD=""
 | 
					 | 
				
			||||||
  NS=""
 | 
					 | 
				
			||||||
  MAC=""
 | 
					 | 
				
			||||||
  VLAN=""
 | 
					 | 
				
			||||||
  SSH="no"
 | 
					 | 
				
			||||||
  VERB="no"
 | 
					 | 
				
			||||||
  echo_default
 | 
					 | 
				
			||||||
}
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
function update_script() {
 | 
					function update_script() {
 | 
				
			||||||
header_info
 | 
					  header_info
 | 
				
			||||||
check_container_storage
 | 
					  check_container_storage
 | 
				
			||||||
check_container_resources
 | 
					  check_container_resources
 | 
				
			||||||
UPD=$(whiptail --backtitle "Proxmox VE Helper Scripts" --title "SUPPORT" --radiolist --cancel-button Exit-Script "Spacebar = Select" 11 58 2 \
 | 
					  UPD=$(whiptail --backtitle "Proxmox VE Helper Scripts" --title "SUPPORT" --radiolist --cancel-button Exit-Script "Spacebar = Select" 11 58 2 \
 | 
				
			||||||
  "1" "Update ${APP}" ON \
 | 
					    "1" "Update ${APP}" ON \
 | 
				
			||||||
  "2" "Install ${APP} Worker" OFF \
 | 
					    "2" "Install ${APP} Worker" OFF \
 | 
				
			||||||
  3>&1 1>&2 2>&3)
 | 
					    3>&1 1>&2 2>&3)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
if [ "$UPD" == "1" ]; then
 | 
					  if [ "$UPD" == "1" ]; then
 | 
				
			||||||
if [[ ! -d /opt/cronicle ]]; then msg_error "No ${APP} Installation Found!"; exit; fi
 | 
					    if [[ ! -d /opt/cronicle ]]; then
 | 
				
			||||||
  if [[ "$(node -v | cut -d 'v' -f 2)" == "18."* ]]; then
 | 
					      msg_error "No ${APP} Installation Found!"
 | 
				
			||||||
    if ! command -v npm >/dev/null 2>&1; then
 | 
					      exit
 | 
				
			||||||
      echo "Installing NPM..."
 | 
					 | 
				
			||||||
      apt-get install -y npm >/dev/null 2>&1
 | 
					 | 
				
			||||||
      echo "Installed NPM..."
 | 
					 | 
				
			||||||
    fi
 | 
					    fi
 | 
				
			||||||
  fi
 | 
					    if [[ "$(node -v | cut -d 'v' -f 2)" == "18."* ]]; then
 | 
				
			||||||
msg_info "Updating ${APP}"
 | 
					      if ! command -v npm >/dev/null 2>&1; then
 | 
				
			||||||
/opt/cronicle/bin/control.sh upgrade &>/dev/null
 | 
					        echo "Installing NPM..."
 | 
				
			||||||
msg_ok "Updated ${APP}"
 | 
					        apt-get install -y npm >/dev/null 2>&1
 | 
				
			||||||
exit
 | 
					        echo "Installed NPM..."
 | 
				
			||||||
fi
 | 
					      fi
 | 
				
			||||||
if [ "$UPD" == "2" ]; then
 | 
					 | 
				
			||||||
  if [[ "$(node -v | cut -d 'v' -f 2)" == "18."* ]]; then
 | 
					 | 
				
			||||||
    if ! command -v npm >/dev/null 2>&1; then
 | 
					 | 
				
			||||||
      echo "Installing NPM..."
 | 
					 | 
				
			||||||
      apt-get install -y npm >/dev/null 2>&1
 | 
					 | 
				
			||||||
      echo "Installed NPM..."
 | 
					 | 
				
			||||||
    fi
 | 
					    fi
 | 
				
			||||||
 | 
					    msg_info "Updating ${APP}"
 | 
				
			||||||
 | 
					    /opt/cronicle/bin/control.sh upgrade &>/dev/null
 | 
				
			||||||
 | 
					    msg_ok "Updated ${APP}"
 | 
				
			||||||
 | 
					    exit
 | 
				
			||||||
  fi
 | 
					  fi
 | 
				
			||||||
LATEST=$(curl -sL https://api.github.com/repos/jhuckaby/Cronicle/releases/latest | grep '"tag_name":' | cut -d'"' -f4)
 | 
					  if [ "$UPD" == "2" ]; then
 | 
				
			||||||
IP=$(hostname -I | awk '{print $1}')
 | 
					    if [[ "$(node -v | cut -d 'v' -f 2)" == "18."* ]]; then
 | 
				
			||||||
msg_info "Installing Dependencies"
 | 
					      if ! command -v npm >/dev/null 2>&1; then
 | 
				
			||||||
 | 
					        echo "Installing NPM..."
 | 
				
			||||||
 | 
					        apt-get install -y npm >/dev/null 2>&1
 | 
				
			||||||
 | 
					        echo "Installed NPM..."
 | 
				
			||||||
 | 
					      fi
 | 
				
			||||||
 | 
					    fi
 | 
				
			||||||
 | 
					    LATEST=$(curl -sL https://api.github.com/repos/jhuckaby/Cronicle/releases/latest | grep '"tag_name":' | cut -d'"' -f4)
 | 
				
			||||||
 | 
					    IP=$(hostname -I | awk '{print $1}')
 | 
				
			||||||
 | 
					    msg_info "Installing Dependencies"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
apt-get install -y git &>/dev/null
 | 
					    apt-get install -y git &>/dev/null
 | 
				
			||||||
apt-get install -y make &>/dev/null
 | 
					    apt-get install -y make &>/dev/null
 | 
				
			||||||
apt-get install -y g++ &>/dev/null
 | 
					    apt-get install -y g++ &>/dev/null
 | 
				
			||||||
apt-get install -y gcc &>/dev/null
 | 
					    apt-get install -y gcc &>/dev/null
 | 
				
			||||||
apt-get install -y ca-certificates &>/dev/null
 | 
					    apt-get install -y ca-certificates &>/dev/null
 | 
				
			||||||
apt-get install -y gnupg &>/dev/null
 | 
					    apt-get install -y gnupg &>/dev/null
 | 
				
			||||||
msg_ok "Installed Dependencies"
 | 
					    msg_ok "Installed Dependencies"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
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_20.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"
 | 
				
			||||||
apt-get update &>/dev/null
 | 
					    apt-get update &>/dev/null
 | 
				
			||||||
apt-get install -y nodejs &>/dev/null
 | 
					    apt-get install -y nodejs &>/dev/null
 | 
				
			||||||
msg_ok "Installed Node.js"
 | 
					    msg_ok "Installed Node.js"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
msg_info "Installing Cronicle Worker"
 | 
					    msg_info "Installing Cronicle Worker"
 | 
				
			||||||
mkdir -p /opt/cronicle
 | 
					    mkdir -p /opt/cronicle
 | 
				
			||||||
cd /opt/cronicle
 | 
					    cd /opt/cronicle
 | 
				
			||||||
tar zxvf <(curl -fsSL https://github.com/jhuckaby/Cronicle/archive/${LATEST}.tar.gz) --strip-components 1 &>/dev/null
 | 
					    tar zxvf <(curl -fsSL https://github.com/jhuckaby/Cronicle/archive/${LATEST}.tar.gz) --strip-components 1 &>/dev/null
 | 
				
			||||||
npm install &>/dev/null
 | 
					    npm install &>/dev/null
 | 
				
			||||||
node bin/build.js dist &>/dev/null
 | 
					    node bin/build.js dist &>/dev/null
 | 
				
			||||||
sed -i "s/localhost:3012/${IP}:3012/g" /opt/cronicle/conf/config.json
 | 
					    sed -i "s/localhost:3012/${IP}:3012/g" /opt/cronicle/conf/config.json
 | 
				
			||||||
/opt/cronicle/bin/control.sh start &>/dev/null
 | 
					    /opt/cronicle/bin/control.sh start &>/dev/null
 | 
				
			||||||
cp /opt/cronicle/bin/cronicled.init /etc/init.d/cronicled &>/dev/null
 | 
					    cp /opt/cronicle/bin/cronicled.init /etc/init.d/cronicled &>/dev/null
 | 
				
			||||||
chmod 775 /etc/init.d/cronicled
 | 
					    chmod 775 /etc/init.d/cronicled
 | 
				
			||||||
update-rc.d cronicled defaults &>/dev/null
 | 
					    update-rc.d cronicled defaults &>/dev/null
 | 
				
			||||||
msg_ok "Installed Cronicle Worker"
 | 
					    msg_ok "Installed Cronicle Worker"
 | 
				
			||||||
echo -e "\n Add Masters secret key to /opt/cronicle/conf/config.json \n"
 | 
					    echo -e "\n Add Masters secret key to /opt/cronicle/conf/config.json \n"
 | 
				
			||||||
exit
 | 
					    exit
 | 
				
			||||||
fi
 | 
					  fi
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
start
 | 
					start
 | 
				
			||||||
@@ -128,5 +103,6 @@ build_container
 | 
				
			|||||||
description
 | 
					description
 | 
				
			||||||
 | 
					
 | 
				
			||||||
msg_ok "Completed Successfully!\n"
 | 
					msg_ok "Completed Successfully!\n"
 | 
				
			||||||
echo -e "${APP} Primary should be reachable by going to the following URL.
 | 
					echo -e "${CREATING}${GN}${APP} setup has been successfully initialized!${CL}"
 | 
				
			||||||
         ${BL}http://${IP}:3012${CL} \n"
 | 
					echo -e "${INFO}${YW} Access it using the following URL:${CL}"
 | 
				
			||||||
 | 
					echo -e "${TAB}${GATEWAY}${BGN}http://${IP}:3012${CL}"
 | 
				
			||||||
@@ -1,67 +1,42 @@
 | 
				
			|||||||
#!/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 tteck
 | 
					# Copyright (c) 2021-2025 tteck
 | 
				
			||||||
# Author: tteck (tteckster)
 | 
					# Author: tteck (tteckster)
 | 
				
			||||||
# License: MIT
 | 
					# License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE
 | 
				
			||||||
# https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE
 | 
					# Source: https://daemonsync.me/
 | 
				
			||||||
 | 
					
 | 
				
			||||||
function header_info {
 | 
					# App Default Values
 | 
				
			||||||
clear
 | 
					 | 
				
			||||||
cat <<"EOF"
 | 
					 | 
				
			||||||
    ____                                      _____                 
 | 
					 | 
				
			||||||
   / __ \____ ____  ____ ___  ____  ____     / ___/__  ______  _____
 | 
					 | 
				
			||||||
  / / / / __  / _ \/ __  __ \/ __ \/ __ \    \__ \/ / / / __ \/ ___/
 | 
					 | 
				
			||||||
 / /_/ / /_/ /  __/ / / / / / /_/ / / / /   ___/ / /_/ / / / / /__  
 | 
					 | 
				
			||||||
/_____/\__,_/\___/_/ /_/ /_/\____/_/ /_/   /____/\__, /_/ /_/\___/  
 | 
					 | 
				
			||||||
                                                /____/              
 | 
					 | 
				
			||||||
EOF
 | 
					 | 
				
			||||||
}
 | 
					 | 
				
			||||||
header_info
 | 
					 | 
				
			||||||
echo -e "Loading..."
 | 
					 | 
				
			||||||
APP="Daemon Sync"
 | 
					APP="Daemon Sync"
 | 
				
			||||||
var_disk="8"
 | 
					var_tags="sync"
 | 
				
			||||||
var_cpu="1"
 | 
					var_cpu="1"
 | 
				
			||||||
var_ram="512"
 | 
					var_ram="512"
 | 
				
			||||||
 | 
					var_disk="8"
 | 
				
			||||||
var_os="debian"
 | 
					var_os="debian"
 | 
				
			||||||
var_version="12"
 | 
					var_version="12"
 | 
				
			||||||
 | 
					var_unprivileged="1"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# App Output & Base Settings
 | 
				
			||||||
 | 
					header_info "$APP"
 | 
				
			||||||
 | 
					base_settings
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# Core
 | 
				
			||||||
variables
 | 
					variables
 | 
				
			||||||
color
 | 
					color
 | 
				
			||||||
catch_errors
 | 
					catch_errors
 | 
				
			||||||
 | 
					
 | 
				
			||||||
function default_settings() {
 | 
					 | 
				
			||||||
  CT_TYPE="1"
 | 
					 | 
				
			||||||
  PW=""
 | 
					 | 
				
			||||||
  CT_ID=$NEXTID
 | 
					 | 
				
			||||||
  HN=$NSAPP
 | 
					 | 
				
			||||||
  DISK_SIZE="$var_disk"
 | 
					 | 
				
			||||||
  CORE_COUNT="$var_cpu"
 | 
					 | 
				
			||||||
  RAM_SIZE="$var_ram"
 | 
					 | 
				
			||||||
  BRG="vmbr0"
 | 
					 | 
				
			||||||
  NET="dhcp"
 | 
					 | 
				
			||||||
  GATE=""
 | 
					 | 
				
			||||||
  APT_CACHER=""
 | 
					 | 
				
			||||||
  APT_CACHER_IP=""
 | 
					 | 
				
			||||||
  DISABLEIP6="no"
 | 
					 | 
				
			||||||
  MTU=""
 | 
					 | 
				
			||||||
  SD=""
 | 
					 | 
				
			||||||
  NS=""
 | 
					 | 
				
			||||||
  MAC=""
 | 
					 | 
				
			||||||
  VLAN=""
 | 
					 | 
				
			||||||
  SSH="no"
 | 
					 | 
				
			||||||
  VERB="no"
 | 
					 | 
				
			||||||
  echo_default
 | 
					 | 
				
			||||||
}
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
function update_script() {
 | 
					function update_script() {
 | 
				
			||||||
header_info
 | 
					    header_info
 | 
				
			||||||
check_container_storage
 | 
					    check_container_storage
 | 
				
			||||||
check_container_resources
 | 
					    check_container_resources
 | 
				
			||||||
if [[ ! -d /var ]]; then msg_error "No ${APP} Installation Found!"; exit; fi
 | 
					    if [[ ! -d /var ]]; then
 | 
				
			||||||
msg_info "Updating $APP LXC"
 | 
					        msg_error "No ${APP} Installation Found!"
 | 
				
			||||||
apt-get update &>/dev/null
 | 
					        exit
 | 
				
			||||||
apt-get -y upgrade &>/dev/null
 | 
					    fi
 | 
				
			||||||
msg_ok "Updated $APP LXC"
 | 
					    msg_info "Updating $APP LXC"
 | 
				
			||||||
exit
 | 
					    apt-get update &>/dev/null
 | 
				
			||||||
 | 
					    apt-get -y upgrade &>/dev/null
 | 
				
			||||||
 | 
					    msg_ok "Updated $APP LXC"
 | 
				
			||||||
 | 
					    exit
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
start
 | 
					start
 | 
				
			||||||
@@ -69,5 +44,6 @@ build_container
 | 
				
			|||||||
description
 | 
					description
 | 
				
			||||||
 | 
					
 | 
				
			||||||
msg_ok "Completed Successfully!\n"
 | 
					msg_ok "Completed Successfully!\n"
 | 
				
			||||||
echo -e "${APP} should be reachable by going to the following URL.
 | 
					echo -e "${CREATING}${GN}${APP} setup has been successfully initialized!${CL}"
 | 
				
			||||||
         ${BL}http://${IP}:8084${CL} \n"
 | 
					echo -e "${INFO}${YW} Access it using the following URL:${CL}"
 | 
				
			||||||
 | 
					echo -e "${TAB}${GATEWAY}${BGN}http://${IP}:8084${CL}"
 | 
				
			||||||
							
								
								
									
										146
									
								
								ct/dashy.sh
									
									
									
									
									
								
							
							
						
						
									
										146
									
								
								ct/dashy.sh
									
									
									
									
									
								
							@@ -1,105 +1,80 @@
 | 
				
			|||||||
#!/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 tteck
 | 
					# Copyright (c) 2021-2025 tteck
 | 
				
			||||||
# Author: tteck (tteckster)
 | 
					# Author: tteck (tteckster)
 | 
				
			||||||
# License: MIT
 | 
					# License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE
 | 
				
			||||||
# https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE
 | 
					# Source: https://dashy.to/
 | 
				
			||||||
 | 
					
 | 
				
			||||||
function header_info {
 | 
					# App Default Values
 | 
				
			||||||
clear
 | 
					 | 
				
			||||||
cat <<"EOF"
 | 
					 | 
				
			||||||
    ____             __         
 | 
					 | 
				
			||||||
   / __ \____ ______/ /_  __  __
 | 
					 | 
				
			||||||
  / / / / __  / ___/ __ \/ / / /
 | 
					 | 
				
			||||||
 / /_/ / /_/ (__  ) / / / /_/ / 
 | 
					 | 
				
			||||||
/_____/\__,_/____/_/ /_/\__, /  
 | 
					 | 
				
			||||||
                       /____/   
 | 
					 | 
				
			||||||
EOF
 | 
					 | 
				
			||||||
}
 | 
					 | 
				
			||||||
header_info
 | 
					 | 
				
			||||||
echo -e "Loading..."
 | 
					 | 
				
			||||||
APP="Dashy"
 | 
					APP="Dashy"
 | 
				
			||||||
var_disk="6"
 | 
					var_tags="dashboard"
 | 
				
			||||||
var_cpu="2"
 | 
					var_cpu="2"
 | 
				
			||||||
var_ram="2048"
 | 
					var_ram="2048"
 | 
				
			||||||
 | 
					var_disk="6"
 | 
				
			||||||
var_os="debian"
 | 
					var_os="debian"
 | 
				
			||||||
var_version="12"
 | 
					var_version="12"
 | 
				
			||||||
 | 
					var_unprivileged="1"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# App Output & Base Settings
 | 
				
			||||||
 | 
					header_info "$APP"
 | 
				
			||||||
 | 
					base_settings
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# Core
 | 
				
			||||||
variables
 | 
					variables
 | 
				
			||||||
color
 | 
					color
 | 
				
			||||||
catch_errors
 | 
					catch_errors
 | 
				
			||||||
 | 
					
 | 
				
			||||||
function default_settings() {
 | 
					 | 
				
			||||||
  CT_TYPE="1"
 | 
					 | 
				
			||||||
  PW=""
 | 
					 | 
				
			||||||
  CT_ID=$NEXTID
 | 
					 | 
				
			||||||
  HN=$NSAPP
 | 
					 | 
				
			||||||
  DISK_SIZE="$var_disk"
 | 
					 | 
				
			||||||
  CORE_COUNT="$var_cpu"
 | 
					 | 
				
			||||||
  RAM_SIZE="$var_ram"
 | 
					 | 
				
			||||||
  BRG="vmbr0"
 | 
					 | 
				
			||||||
  NET="dhcp"
 | 
					 | 
				
			||||||
  GATE=""
 | 
					 | 
				
			||||||
  APT_CACHER=""
 | 
					 | 
				
			||||||
  APT_CACHER_IP=""
 | 
					 | 
				
			||||||
  DISABLEIP6="no"
 | 
					 | 
				
			||||||
  MTU=""
 | 
					 | 
				
			||||||
  SD=""
 | 
					 | 
				
			||||||
  NS=""
 | 
					 | 
				
			||||||
  MAC=""
 | 
					 | 
				
			||||||
  VLAN=""
 | 
					 | 
				
			||||||
  SSH="no"
 | 
					 | 
				
			||||||
  VERB="no"
 | 
					 | 
				
			||||||
  echo_default
 | 
					 | 
				
			||||||
}
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
function update_script() {
 | 
					function update_script() {
 | 
				
			||||||
header_info
 | 
					  header_info
 | 
				
			||||||
check_container_storage
 | 
					  check_container_storage
 | 
				
			||||||
check_container_resources
 | 
					  check_container_resources
 | 
				
			||||||
if [[ ! -d /opt/dashy/public/ ]]; then msg_error "No ${APP} Installation Found!"; exit; fi
 | 
					  if [[ ! -d /opt/dashy/public/ ]]; then
 | 
				
			||||||
 | 
					    msg_error "No ${APP} Installation Found!"
 | 
				
			||||||
RELEASE=$(curl -sL https://api.github.com/repos/Lissy93/dashy/releases/latest | grep '"tag_name":' | cut -d'"' -f4)
 | 
					    exit
 | 
				
			||||||
if [[ "${RELEASE}" != "$(cat /opt/${APP}_version.txt)" ]] || [[ ! -f /opt/${APP}_version.txt ]]; then
 | 
					 | 
				
			||||||
  msg_info "Stopping ${APP}"
 | 
					 | 
				
			||||||
  systemctl stop dashy
 | 
					 | 
				
			||||||
  msg_ok "Stopped ${APP}"
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
  msg_info "Backing up conf.yml"
 | 
					 | 
				
			||||||
  cd ~
 | 
					 | 
				
			||||||
  if [[ -f /opt/dashy/public/conf.yml ]]; then
 | 
					 | 
				
			||||||
    cp -R /opt/dashy/public/conf.yml conf.yml
 | 
					 | 
				
			||||||
  else
 | 
					 | 
				
			||||||
    cp -R /opt/dashy/user-data/conf.yml conf.yml
 | 
					 | 
				
			||||||
  fi
 | 
					  fi
 | 
				
			||||||
  msg_ok "Backed up conf.yml"
 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
  msg_info "Updating ${APP} to ${RELEASE}"
 | 
					  RELEASE=$(curl -sL https://api.github.com/repos/Lissy93/dashy/releases/latest | grep '"tag_name":' | cut -d'"' -f4)
 | 
				
			||||||
  rm -rf /opt/dashy
 | 
					  if [[ "${RELEASE}" != "$(cat /opt/${APP}_version.txt)" ]] || [[ ! -f /opt/${APP}_version.txt ]]; then
 | 
				
			||||||
  mkdir -p /opt/dashy
 | 
					    msg_info "Stopping ${APP}"
 | 
				
			||||||
  wget -qO- https://github.com/Lissy93/dashy/archive/refs/tags/${RELEASE}.tar.gz | tar -xz -C /opt/dashy --strip-components=1
 | 
					    systemctl stop dashy
 | 
				
			||||||
  cd /opt/dashy
 | 
					    msg_ok "Stopped ${APP}"
 | 
				
			||||||
  npm install
 | 
					 | 
				
			||||||
  npm run build
 | 
					 | 
				
			||||||
  echo "${RELEASE}" >/opt/${APP}_version.txt
 | 
					 | 
				
			||||||
  msg_ok "Updated ${APP} to ${RELEASE}"
 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
  msg_info "Restoring conf.yml"
 | 
					    msg_info "Backing up conf.yml"
 | 
				
			||||||
  cd ~
 | 
					    cd ~
 | 
				
			||||||
  cp -R conf.yml /opt/dashy/user-data
 | 
					    if [[ -f /opt/dashy/public/conf.yml ]]; then
 | 
				
			||||||
  msg_ok "Restored conf.yml"
 | 
					      cp -R /opt/dashy/public/conf.yml conf.yml
 | 
				
			||||||
 | 
					    else
 | 
				
			||||||
 | 
					      cp -R /opt/dashy/user-data/conf.yml conf.yml
 | 
				
			||||||
 | 
					    fi
 | 
				
			||||||
 | 
					    msg_ok "Backed up conf.yml"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  msg_info "Cleaning"
 | 
					    msg_info "Updating ${APP} to ${RELEASE}"
 | 
				
			||||||
  rm -rf conf.yml /opt/dashy/public/conf.yml
 | 
					    rm -rf /opt/dashy
 | 
				
			||||||
  msg_ok "Cleaned"
 | 
					    mkdir -p /opt/dashy
 | 
				
			||||||
 | 
					    wget -qO- https://github.com/Lissy93/dashy/archive/refs/tags/${RELEASE}.tar.gz | tar -xz -C /opt/dashy --strip-components=1
 | 
				
			||||||
 | 
					    cd /opt/dashy
 | 
				
			||||||
 | 
					    npm install
 | 
				
			||||||
 | 
					    npm run build
 | 
				
			||||||
 | 
					    echo "${RELEASE}" >/opt/${APP}_version.txt
 | 
				
			||||||
 | 
					    msg_ok "Updated ${APP} to ${RELEASE}"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  msg_info "Starting Dashy"
 | 
					    msg_info "Restoring conf.yml"
 | 
				
			||||||
  systemctl start dashy
 | 
					    cd ~
 | 
				
			||||||
  msg_ok "Started Dashy"
 | 
					    cp -R conf.yml /opt/dashy/user-data
 | 
				
			||||||
  msg_ok "Updated Successfully"
 | 
					    msg_ok "Restored conf.yml"
 | 
				
			||||||
else
 | 
					
 | 
				
			||||||
  msg_ok "No update required. ${APP} is already at ${RELEASE}"
 | 
					    msg_info "Cleaning"
 | 
				
			||||||
fi
 | 
					    rm -rf conf.yml /opt/dashy/public/conf.yml
 | 
				
			||||||
exit
 | 
					    msg_ok "Cleaned"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    msg_info "Starting Dashy"
 | 
				
			||||||
 | 
					    systemctl start dashy
 | 
				
			||||||
 | 
					    msg_ok "Started Dashy"
 | 
				
			||||||
 | 
					    msg_ok "Updated Successfully"
 | 
				
			||||||
 | 
					  else
 | 
				
			||||||
 | 
					    msg_ok "No update required. ${APP} is already at ${RELEASE}"
 | 
				
			||||||
 | 
					  fi
 | 
				
			||||||
 | 
					  exit
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
start
 | 
					start
 | 
				
			||||||
@@ -107,5 +82,6 @@ build_container
 | 
				
			|||||||
description
 | 
					description
 | 
				
			||||||
 | 
					
 | 
				
			||||||
msg_ok "Completed Successfully!\n"
 | 
					msg_ok "Completed Successfully!\n"
 | 
				
			||||||
echo -e "${APP} should be reachable by going to the following URL.
 | 
					echo -e "${CREATING}${GN}${APP} setup has been successfully initialized!${CL}"
 | 
				
			||||||
         ${BL}http://${IP}:4000${CL} \n"
 | 
					echo -e "${INFO}${YW} Access it using the following URL:${CL}"
 | 
				
			||||||
 | 
					echo -e "${TAB}${GATEWAY}${BGN}http://${IP}:4000${CL}"
 | 
				
			||||||
							
								
								
									
										76
									
								
								ct/debian.sh
									
									
									
									
									
								
							
							
						
						
									
										76
									
								
								ct/debian.sh
									
									
									
									
									
								
							@@ -1,67 +1,42 @@
 | 
				
			|||||||
#!/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 tteck
 | 
					# Copyright (c) 2021-2025 tteck
 | 
				
			||||||
# Author: tteck (tteckster)
 | 
					# Author: tteck (tteckster)
 | 
				
			||||||
# License: MIT
 | 
					# License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE
 | 
				
			||||||
# https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE
 | 
					# Source: https://www.debian.org/
 | 
				
			||||||
 | 
					
 | 
				
			||||||
function header_info {
 | 
					# App Default Values
 | 
				
			||||||
clear
 | 
					 | 
				
			||||||
cat <<"EOF"
 | 
					 | 
				
			||||||
    ____       __    _           
 | 
					 | 
				
			||||||
   / __ \___  / /_  (_)___  ____ 
 | 
					 | 
				
			||||||
  / / / / _ \/ __ \/ / __ `/ __ \
 | 
					 | 
				
			||||||
 / /_/ /  __/ /_/ / / /_/ / / / /
 | 
					 | 
				
			||||||
/_____/\___/_.___/_/\__,_/_/ /_/ 
 | 
					 | 
				
			||||||
                                 
 | 
					 | 
				
			||||||
EOF
 | 
					 | 
				
			||||||
}
 | 
					 | 
				
			||||||
header_info
 | 
					 | 
				
			||||||
echo -e "Loading..."
 | 
					 | 
				
			||||||
APP="Debian"
 | 
					APP="Debian"
 | 
				
			||||||
var_disk="2"
 | 
					var_tags="os"
 | 
				
			||||||
var_cpu="1"
 | 
					var_cpu="1"
 | 
				
			||||||
var_ram="512"
 | 
					var_ram="512"
 | 
				
			||||||
 | 
					var_disk="2"
 | 
				
			||||||
var_os="debian"
 | 
					var_os="debian"
 | 
				
			||||||
var_version="12"
 | 
					var_version="12"
 | 
				
			||||||
 | 
					var_unprivileged="1"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# App Output & Base Settings
 | 
				
			||||||
 | 
					header_info "$APP"
 | 
				
			||||||
 | 
					base_settings
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# Core
 | 
				
			||||||
variables
 | 
					variables
 | 
				
			||||||
color
 | 
					color
 | 
				
			||||||
catch_errors
 | 
					catch_errors
 | 
				
			||||||
 | 
					
 | 
				
			||||||
function default_settings() {
 | 
					 | 
				
			||||||
  CT_TYPE="1"
 | 
					 | 
				
			||||||
  PW=""
 | 
					 | 
				
			||||||
  CT_ID=$NEXTID
 | 
					 | 
				
			||||||
  HN=$NSAPP
 | 
					 | 
				
			||||||
  DISK_SIZE="$var_disk"
 | 
					 | 
				
			||||||
  CORE_COUNT="$var_cpu"
 | 
					 | 
				
			||||||
  RAM_SIZE="$var_ram"
 | 
					 | 
				
			||||||
  BRG="vmbr0"
 | 
					 | 
				
			||||||
  NET="dhcp"
 | 
					 | 
				
			||||||
  GATE=""
 | 
					 | 
				
			||||||
  APT_CACHER=""
 | 
					 | 
				
			||||||
  APT_CACHER_IP=""
 | 
					 | 
				
			||||||
  DISABLEIP6="no"
 | 
					 | 
				
			||||||
  MTU=""
 | 
					 | 
				
			||||||
  SD=""
 | 
					 | 
				
			||||||
  NS=""
 | 
					 | 
				
			||||||
  MAC=""
 | 
					 | 
				
			||||||
  VLAN=""
 | 
					 | 
				
			||||||
  SSH="no"
 | 
					 | 
				
			||||||
  VERB="no"
 | 
					 | 
				
			||||||
  echo_default
 | 
					 | 
				
			||||||
}
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
function update_script() {
 | 
					function update_script() {
 | 
				
			||||||
header_info
 | 
					    header_info
 | 
				
			||||||
check_container_storage
 | 
					    check_container_storage
 | 
				
			||||||
check_container_resources
 | 
					    check_container_resources
 | 
				
			||||||
if [[ ! -d /var ]]; then msg_error "No ${APP} Installation Found!"; exit; fi
 | 
					    if [[ ! -d /var ]]; then
 | 
				
			||||||
msg_info "Updating $APP LXC"
 | 
					        msg_error "No ${APP} Installation Found!"
 | 
				
			||||||
apt-get update &>/dev/null
 | 
					        exit
 | 
				
			||||||
apt-get -y upgrade &>/dev/null
 | 
					    fi
 | 
				
			||||||
msg_ok "Updated $APP LXC"
 | 
					    msg_info "Updating $APP LXC"
 | 
				
			||||||
exit
 | 
					    apt-get update &>/dev/null
 | 
				
			||||||
 | 
					    apt-get -y upgrade &>/dev/null
 | 
				
			||||||
 | 
					    msg_ok "Updated $APP LXC"
 | 
				
			||||||
 | 
					    exit
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
start
 | 
					start
 | 
				
			||||||
@@ -69,3 +44,4 @@ build_container
 | 
				
			|||||||
description
 | 
					description
 | 
				
			||||||
 | 
					
 | 
				
			||||||
msg_ok "Completed Successfully!\n"
 | 
					msg_ok "Completed Successfully!\n"
 | 
				
			||||||
 | 
					echo -e "${CREATING}${GN}${APP} setup has been successfully initialized!${CL}"
 | 
				
			||||||
							
								
								
									
										80
									
								
								ct/deconz.sh
									
									
									
									
									
								
							
							
						
						
									
										80
									
								
								ct/deconz.sh
									
									
									
									
									
								
							@@ -1,67 +1,42 @@
 | 
				
			|||||||
#!/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 tteck
 | 
					# Copyright (c) 2021-2025 tteck
 | 
				
			||||||
# Author: tteck (tteckster)
 | 
					# Author: tteck (tteckster)
 | 
				
			||||||
# License: MIT
 | 
					# License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE
 | 
				
			||||||
# https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE
 | 
					# Source: https://www.phoscon.de/en/conbee2/software#deconz
 | 
				
			||||||
 | 
					
 | 
				
			||||||
function header_info {
 | 
					# App Default Values
 | 
				
			||||||
clear
 | 
					 | 
				
			||||||
cat <<"EOF"
 | 
					 | 
				
			||||||
       __     __________  _   _______
 | 
					 | 
				
			||||||
  ____/ /__  / ____/ __ \/ | / /__  /
 | 
					 | 
				
			||||||
 / __  / _ \/ /   / / / /  |/ /  / / 
 | 
					 | 
				
			||||||
/ /_/ /  __/ /___/ /_/ / /|  /  / /__
 | 
					 | 
				
			||||||
\__,_/\___/\____/\____/_/ |_/  /____/
 | 
					 | 
				
			||||||
 
 | 
					 | 
				
			||||||
EOF
 | 
					 | 
				
			||||||
}
 | 
					 | 
				
			||||||
header_info
 | 
					 | 
				
			||||||
echo -e "Loading..."
 | 
					 | 
				
			||||||
APP="deCONZ"
 | 
					APP="deCONZ"
 | 
				
			||||||
var_disk="4"
 | 
					var_tags="zigbee"
 | 
				
			||||||
var_cpu="2"
 | 
					var_cpu="2"
 | 
				
			||||||
var_ram="1024"
 | 
					var_ram="1024"
 | 
				
			||||||
 | 
					var_disk="4"
 | 
				
			||||||
var_os="debian"
 | 
					var_os="debian"
 | 
				
			||||||
var_version="12"
 | 
					var_version="12"
 | 
				
			||||||
 | 
					var_unprivileged="0"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# App Output & Base Settings
 | 
				
			||||||
 | 
					header_info "$APP"
 | 
				
			||||||
 | 
					base_settings
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# Core
 | 
				
			||||||
variables
 | 
					variables
 | 
				
			||||||
color
 | 
					color
 | 
				
			||||||
catch_errors
 | 
					catch_errors
 | 
				
			||||||
 | 
					
 | 
				
			||||||
function default_settings() {
 | 
					 | 
				
			||||||
  CT_TYPE="0"
 | 
					 | 
				
			||||||
  PW=""
 | 
					 | 
				
			||||||
  CT_ID=$NEXTID
 | 
					 | 
				
			||||||
  HN=$NSAPP
 | 
					 | 
				
			||||||
  DISK_SIZE="$var_disk"
 | 
					 | 
				
			||||||
  CORE_COUNT="$var_cpu"
 | 
					 | 
				
			||||||
  RAM_SIZE="$var_ram"
 | 
					 | 
				
			||||||
  BRG="vmbr0"
 | 
					 | 
				
			||||||
  NET="dhcp"
 | 
					 | 
				
			||||||
  GATE=""
 | 
					 | 
				
			||||||
  APT_CACHER=""
 | 
					 | 
				
			||||||
  APT_CACHER_IP=""
 | 
					 | 
				
			||||||
  DISABLEIP6="no"
 | 
					 | 
				
			||||||
  MTU=""
 | 
					 | 
				
			||||||
  SD=""
 | 
					 | 
				
			||||||
  NS=""
 | 
					 | 
				
			||||||
  MAC=""
 | 
					 | 
				
			||||||
  VLAN=""
 | 
					 | 
				
			||||||
  SSH="no"
 | 
					 | 
				
			||||||
  VERB="no"
 | 
					 | 
				
			||||||
  echo_default
 | 
					 | 
				
			||||||
}
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
function update_script() {
 | 
					function update_script() {
 | 
				
			||||||
header_info
 | 
					  header_info
 | 
				
			||||||
check_container_storage
 | 
					  check_container_storage
 | 
				
			||||||
check_container_resources
 | 
					  check_container_resources
 | 
				
			||||||
if [[ ! -f /etc/apt/sources.list.d/deconz.list ]]; then msg_error "No ${APP} Installation Found!"; exit; fi
 | 
					  if [[ ! -f /etc/apt/sources.list.d/deconz.list ]]; then
 | 
				
			||||||
msg_info "Updating $APP LXC"
 | 
					    msg_error "No ${APP} Installation Found!"
 | 
				
			||||||
apt-get update &>/dev/null
 | 
					    exit
 | 
				
			||||||
apt-get -y upgrade &>/dev/null
 | 
					  fi
 | 
				
			||||||
msg_ok "Updated $APP LXC"
 | 
					  msg_info "Updating $APP LXC"
 | 
				
			||||||
exit
 | 
					  apt-get update &>/dev/null
 | 
				
			||||||
 | 
					  apt-get -y upgrade &>/dev/null
 | 
				
			||||||
 | 
					  msg_ok "Updated $APP LXC"
 | 
				
			||||||
 | 
					  exit
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
start
 | 
					start
 | 
				
			||||||
@@ -69,5 +44,6 @@ build_container
 | 
				
			|||||||
description
 | 
					description
 | 
				
			||||||
 | 
					
 | 
				
			||||||
msg_ok "Completed Successfully!\n"
 | 
					msg_ok "Completed Successfully!\n"
 | 
				
			||||||
echo -e "${APP} should be reachable by going to the following URL.
 | 
					echo -e "${CREATING}${GN}${APP} setup has been successfully initialized!${CL}"
 | 
				
			||||||
             ${BL}http://${IP}${CL}\n"
 | 
					echo -e "${INFO}${YW} Access it using the following URL:${CL}"
 | 
				
			||||||
 | 
					echo -e "${TAB}${GATEWAY}${BGN}http://${IP}${CL}"
 | 
				
			||||||
							
								
								
									
										81
									
								
								ct/deluge.sh
									
									
									
									
									
								
							
							
						
						
									
										81
									
								
								ct/deluge.sh
									
									
									
									
									
								
							@@ -1,68 +1,42 @@
 | 
				
			|||||||
#!/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 tteck
 | 
					# Copyright (c) 2021-2025 tteck
 | 
				
			||||||
# Author: tteck (tteckster)
 | 
					# Author: tteck (tteckster)
 | 
				
			||||||
# License: MIT
 | 
					# License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE
 | 
				
			||||||
# https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE
 | 
					# Source: https://www.deluge-torrent.org/
 | 
				
			||||||
 | 
					
 | 
				
			||||||
function header_info {
 | 
					# App Default Values
 | 
				
			||||||
clear
 | 
					 | 
				
			||||||
cat <<"EOF"
 | 
					 | 
				
			||||||
    ____       __               
 | 
					 | 
				
			||||||
   / __ \___  / /_  ______ ____ 
 | 
					 | 
				
			||||||
  / / / / _ \/ / / / / __ `/ _ \
 | 
					 | 
				
			||||||
 / /_/ /  __/ / /_/ / /_/ /  __/
 | 
					 | 
				
			||||||
/_____/\___/_/\__,_/\__, /\___/ 
 | 
					 | 
				
			||||||
                   /____/       
 | 
					 | 
				
			||||||
 
 | 
					 | 
				
			||||||
EOF
 | 
					 | 
				
			||||||
}
 | 
					 | 
				
			||||||
header_info
 | 
					 | 
				
			||||||
echo -e "Loading..."
 | 
					 | 
				
			||||||
APP="Deluge"
 | 
					APP="Deluge"
 | 
				
			||||||
var_disk="4"
 | 
					var_tags="torrent"
 | 
				
			||||||
var_cpu="2"
 | 
					var_cpu="2"
 | 
				
			||||||
var_ram="2048"
 | 
					var_ram="2048"
 | 
				
			||||||
 | 
					var_disk="4"
 | 
				
			||||||
var_os="debian"
 | 
					var_os="debian"
 | 
				
			||||||
var_version="12"
 | 
					var_version="12"
 | 
				
			||||||
 | 
					var_unprivileged="1"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# App Output & Base Settings
 | 
				
			||||||
 | 
					header_info "$APP"
 | 
				
			||||||
 | 
					base_settings
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# Core
 | 
				
			||||||
variables
 | 
					variables
 | 
				
			||||||
color
 | 
					color
 | 
				
			||||||
catch_errors
 | 
					catch_errors
 | 
				
			||||||
 | 
					
 | 
				
			||||||
function default_settings() {
 | 
					 | 
				
			||||||
  CT_TYPE="1"
 | 
					 | 
				
			||||||
  PW=""
 | 
					 | 
				
			||||||
  CT_ID=$NEXTID
 | 
					 | 
				
			||||||
  HN=$NSAPP
 | 
					 | 
				
			||||||
  DISK_SIZE="$var_disk"
 | 
					 | 
				
			||||||
  CORE_COUNT="$var_cpu"
 | 
					 | 
				
			||||||
  RAM_SIZE="$var_ram"
 | 
					 | 
				
			||||||
  BRG="vmbr0"
 | 
					 | 
				
			||||||
  NET="dhcp"
 | 
					 | 
				
			||||||
  GATE=""
 | 
					 | 
				
			||||||
  APT_CACHER=""
 | 
					 | 
				
			||||||
  APT_CACHER_IP=""
 | 
					 | 
				
			||||||
  DISABLEIP6="no"
 | 
					 | 
				
			||||||
  MTU=""
 | 
					 | 
				
			||||||
  SD=""
 | 
					 | 
				
			||||||
  NS=""
 | 
					 | 
				
			||||||
  MAC=""
 | 
					 | 
				
			||||||
  VLAN=""
 | 
					 | 
				
			||||||
  SSH="no"
 | 
					 | 
				
			||||||
  VERB="no"
 | 
					 | 
				
			||||||
  echo_default
 | 
					 | 
				
			||||||
}
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
function update_script() {
 | 
					function update_script() {
 | 
				
			||||||
header_info
 | 
					    header_info
 | 
				
			||||||
check_container_storage
 | 
					    check_container_storage
 | 
				
			||||||
check_container_resources
 | 
					    check_container_resources
 | 
				
			||||||
if [[ ! -f /etc/systemd/system/deluged.service ]]; then msg_error "No ${APP} Installation Found!"; exit; fi
 | 
					    if [[ ! -f /etc/systemd/system/deluged.service ]]; then
 | 
				
			||||||
msg_info "Updating $APP LXC"
 | 
					        msg_error "No ${APP} Installation Found!"
 | 
				
			||||||
apt-get update &>/dev/null
 | 
					        exit
 | 
				
			||||||
pip3 install deluge[all] --upgrade
 | 
					    fi
 | 
				
			||||||
msg_ok "Updated $APP LXC"
 | 
					    msg_info "Updating $APP LXC"
 | 
				
			||||||
exit
 | 
					    apt-get update &>/dev/null
 | 
				
			||||||
 | 
					    pip3 install deluge[all] --upgrade
 | 
				
			||||||
 | 
					    msg_ok "Updated $APP LXC"
 | 
				
			||||||
 | 
					    exit
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
start
 | 
					start
 | 
				
			||||||
@@ -70,5 +44,6 @@ build_container
 | 
				
			|||||||
description
 | 
					description
 | 
				
			||||||
 | 
					
 | 
				
			||||||
msg_ok "Completed Successfully!\n"
 | 
					msg_ok "Completed Successfully!\n"
 | 
				
			||||||
echo -e "${APP} should be reachable by going to the following URL.
 | 
					echo -e "${CREATING}${GN}${APP} setup has been successfully initialized!${CL}"
 | 
				
			||||||
         ${BL}http://${IP}:8112${CL} \n"
 | 
					echo -e "${INFO}${YW} Access it using the following URL:${CL}"
 | 
				
			||||||
 | 
					echo -e "${TAB}${GATEWAY}${BGN}http://${IP}:8112${CL}"
 | 
				
			||||||
							
								
								
									
										76
									
								
								ct/docker.sh
									
									
									
									
									
								
							
							
						
						
									
										76
									
								
								ct/docker.sh
									
									
									
									
									
								
							@@ -1,67 +1,42 @@
 | 
				
			|||||||
#!/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 tteck
 | 
					# Copyright (c) 2021-2025 tteck
 | 
				
			||||||
# Author: tteck (tteckster)
 | 
					# Author: tteck (tteckster)
 | 
				
			||||||
# License: MIT
 | 
					# License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE
 | 
				
			||||||
# https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE
 | 
					# Source: https://www.docker.com/
 | 
				
			||||||
 | 
					
 | 
				
			||||||
function header_info {
 | 
					# App Default Values
 | 
				
			||||||
clear
 | 
					 | 
				
			||||||
cat <<"EOF"
 | 
					 | 
				
			||||||
    ____             __            
 | 
					 | 
				
			||||||
   / __ \____  _____/ /_  __  _____
 | 
					 | 
				
			||||||
  / / / / __ \/ ___/ //_/ _ \/ ___/
 | 
					 | 
				
			||||||
 / /_/ / /_/ / /__/ ,< /  __/ /    
 | 
					 | 
				
			||||||
/_____/\____/\___/_/|_|\___/_/     
 | 
					 | 
				
			||||||
 
 | 
					 | 
				
			||||||
EOF
 | 
					 | 
				
			||||||
}
 | 
					 | 
				
			||||||
header_info
 | 
					 | 
				
			||||||
echo -e "Loading..."
 | 
					 | 
				
			||||||
APP="Docker"
 | 
					APP="Docker"
 | 
				
			||||||
var_disk="4"
 | 
					var_tags="docker"
 | 
				
			||||||
var_cpu="2"
 | 
					var_cpu="2"
 | 
				
			||||||
var_ram="2048"
 | 
					var_ram="2048"
 | 
				
			||||||
 | 
					var_disk="4"
 | 
				
			||||||
var_os="debian"
 | 
					var_os="debian"
 | 
				
			||||||
var_version="12"
 | 
					var_version="12"
 | 
				
			||||||
 | 
					var_unprivileged="1"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# App Output & Base Settings
 | 
				
			||||||
 | 
					header_info "$APP"
 | 
				
			||||||
 | 
					base_settings
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# Core
 | 
				
			||||||
variables
 | 
					variables
 | 
				
			||||||
color
 | 
					color
 | 
				
			||||||
catch_errors
 | 
					catch_errors
 | 
				
			||||||
 | 
					
 | 
				
			||||||
function default_settings() {
 | 
					 | 
				
			||||||
  CT_TYPE="1"
 | 
					 | 
				
			||||||
  PW=""
 | 
					 | 
				
			||||||
  CT_ID=$NEXTID
 | 
					 | 
				
			||||||
  HN=$NSAPP
 | 
					 | 
				
			||||||
  DISK_SIZE="$var_disk"
 | 
					 | 
				
			||||||
  CORE_COUNT="$var_cpu"
 | 
					 | 
				
			||||||
  RAM_SIZE="$var_ram"
 | 
					 | 
				
			||||||
  BRG="vmbr0"
 | 
					 | 
				
			||||||
  NET="dhcp"
 | 
					 | 
				
			||||||
  GATE=""
 | 
					 | 
				
			||||||
  APT_CACHER=""
 | 
					 | 
				
			||||||
  APT_CACHER_IP=""
 | 
					 | 
				
			||||||
  DISABLEIP6="no"
 | 
					 | 
				
			||||||
  MTU=""
 | 
					 | 
				
			||||||
  SD=""
 | 
					 | 
				
			||||||
  NS=""
 | 
					 | 
				
			||||||
  MAC=""
 | 
					 | 
				
			||||||
  VLAN=""
 | 
					 | 
				
			||||||
  SSH="no"
 | 
					 | 
				
			||||||
  VERB="no"
 | 
					 | 
				
			||||||
  echo_default
 | 
					 | 
				
			||||||
}
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
function update_script() {
 | 
					function update_script() {
 | 
				
			||||||
header_info
 | 
					    header_info
 | 
				
			||||||
check_container_storage
 | 
					    check_container_storage
 | 
				
			||||||
check_container_resources
 | 
					    check_container_resources
 | 
				
			||||||
if [[ ! -d /var ]]; then msg_error "No ${APP} Installation Found!"; exit; fi
 | 
					    if [[ ! -d /var ]]; then
 | 
				
			||||||
msg_info "Updating ${APP} LXC"
 | 
					        msg_error "No ${APP} Installation Found!"
 | 
				
			||||||
apt-get update &>/dev/null
 | 
					        exit
 | 
				
			||||||
apt-get -y upgrade &>/dev/null
 | 
					    fi
 | 
				
			||||||
msg_ok "Updated ${APP} LXC"
 | 
					    msg_info "Updating ${APP} LXC"
 | 
				
			||||||
exit
 | 
					    apt-get update &>/dev/null
 | 
				
			||||||
 | 
					    apt-get -y upgrade &>/dev/null
 | 
				
			||||||
 | 
					    msg_ok "Updated ${APP} LXC"
 | 
				
			||||||
 | 
					    exit
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
start
 | 
					start
 | 
				
			||||||
@@ -69,3 +44,4 @@ build_container
 | 
				
			|||||||
description
 | 
					description
 | 
				
			||||||
 | 
					
 | 
				
			||||||
msg_ok "Completed Successfully!\n"
 | 
					msg_ok "Completed Successfully!\n"
 | 
				
			||||||
 | 
					echo -e "${CREATING}${GN}${APP} setup has been successfully initialized!${CL}"
 | 
				
			||||||
							
								
								
									
										82
									
								
								ct/dockge.sh
									
									
									
									
									
								
							
							
						
						
									
										82
									
								
								ct/dockge.sh
									
									
									
									
									
								
							@@ -1,68 +1,43 @@
 | 
				
			|||||||
#!/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 tteck
 | 
					# Copyright (c) 2021-2025 tteck
 | 
				
			||||||
# Author: tteck (tteckster)
 | 
					# Author: tteck (tteckster)
 | 
				
			||||||
# License: MIT
 | 
					# License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE
 | 
				
			||||||
# https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE
 | 
					# Source: https://dockge.kuma.pet/
 | 
				
			||||||
 | 
					
 | 
				
			||||||
function header_info {
 | 
					# App Default Values
 | 
				
			||||||
clear
 | 
					 | 
				
			||||||
cat <<"EOF"
 | 
					 | 
				
			||||||
    ____             __
 | 
					 | 
				
			||||||
   / __ \____  _____/ /______ ____
 | 
					 | 
				
			||||||
  / / / / __ \/ ___/ //_/ __ `/ _ \
 | 
					 | 
				
			||||||
 / /_/ / /_/ / /__/ ,< / /_/ /  __/
 | 
					 | 
				
			||||||
/_____/\____/\___/_/|_|\__, /\___/
 | 
					 | 
				
			||||||
                      /____/
 | 
					 | 
				
			||||||
EOF
 | 
					 | 
				
			||||||
}
 | 
					 | 
				
			||||||
header_info
 | 
					 | 
				
			||||||
echo -e "Loading..."
 | 
					 | 
				
			||||||
APP="Dockge"
 | 
					APP="Dockge"
 | 
				
			||||||
var_disk="18"
 | 
					var_tags="docker"
 | 
				
			||||||
var_cpu="2"
 | 
					var_cpu="2"
 | 
				
			||||||
var_ram="2048"
 | 
					var_ram="2048"
 | 
				
			||||||
 | 
					var_disk="18"
 | 
				
			||||||
var_os="debian"
 | 
					var_os="debian"
 | 
				
			||||||
var_version="12"
 | 
					var_version="12"
 | 
				
			||||||
 | 
					var_unprivileged="1"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# App Output & Base Settings
 | 
				
			||||||
 | 
					header_info "$APP"
 | 
				
			||||||
 | 
					base_settings
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# Core
 | 
				
			||||||
variables
 | 
					variables
 | 
				
			||||||
color
 | 
					color
 | 
				
			||||||
catch_errors
 | 
					catch_errors
 | 
				
			||||||
 | 
					
 | 
				
			||||||
function default_settings() {
 | 
					 | 
				
			||||||
  CT_TYPE="1"
 | 
					 | 
				
			||||||
  PW=""
 | 
					 | 
				
			||||||
  CT_ID=$NEXTID
 | 
					 | 
				
			||||||
  HN=$NSAPP
 | 
					 | 
				
			||||||
  DISK_SIZE="$var_disk"
 | 
					 | 
				
			||||||
  CORE_COUNT="$var_cpu"
 | 
					 | 
				
			||||||
  RAM_SIZE="$var_ram"
 | 
					 | 
				
			||||||
  BRG="vmbr0"
 | 
					 | 
				
			||||||
  NET="dhcp"
 | 
					 | 
				
			||||||
  GATE=""
 | 
					 | 
				
			||||||
  APT_CACHER=""
 | 
					 | 
				
			||||||
  APT_CACHER_IP=""
 | 
					 | 
				
			||||||
  DISABLEIP6="no"
 | 
					 | 
				
			||||||
  MTU=""
 | 
					 | 
				
			||||||
  SD=""
 | 
					 | 
				
			||||||
  NS=""
 | 
					 | 
				
			||||||
  MAC=""
 | 
					 | 
				
			||||||
  VLAN=""
 | 
					 | 
				
			||||||
  SSH="no"
 | 
					 | 
				
			||||||
  VERB="no"
 | 
					 | 
				
			||||||
  echo_default
 | 
					 | 
				
			||||||
}
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
function update_script() {
 | 
					function update_script() {
 | 
				
			||||||
header_info
 | 
					    header_info
 | 
				
			||||||
check_container_storage
 | 
					    check_container_storage
 | 
				
			||||||
check_container_resources
 | 
					    check_container_resources
 | 
				
			||||||
if [[ ! -d /opt/dockge ]]; then msg_error "No ${APP} Installation Found!"; exit; fi
 | 
					    if [[ ! -d /opt/dockge ]]; then
 | 
				
			||||||
msg_info "Updating ${APP}"
 | 
					        msg_error "No ${APP} Installation Found!"
 | 
				
			||||||
cd /opt/dockge
 | 
					        exit
 | 
				
			||||||
docker compose pull
 | 
					    fi
 | 
				
			||||||
docker compose up -d
 | 
					    msg_info "Updating ${APP}"
 | 
				
			||||||
msg_ok "Updated ${APP}"
 | 
					    cd /opt/dockge
 | 
				
			||||||
exit
 | 
					    docker compose pull
 | 
				
			||||||
 | 
					    docker compose up -d
 | 
				
			||||||
 | 
					    msg_ok "Updated ${APP}"
 | 
				
			||||||
 | 
					    exit
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
start
 | 
					start
 | 
				
			||||||
@@ -70,5 +45,6 @@ build_container
 | 
				
			|||||||
description
 | 
					description
 | 
				
			||||||
 | 
					
 | 
				
			||||||
msg_ok "Completed Successfully!\n"
 | 
					msg_ok "Completed Successfully!\n"
 | 
				
			||||||
echo -e "${APP} should be reachable by going to the following URL.
 | 
					echo -e "${CREATING}${GN}${APP} setup has been successfully initialized!${CL}"
 | 
				
			||||||
         ${BL}http://${IP}:5001${CL} \n"
 | 
					echo -e "${INFO}${YW} Access it using the following URL:${CL}"
 | 
				
			||||||
 | 
					echo -e "${TAB}${GATEWAY}${BGN}http://${IP}:5001${CL}"
 | 
				
			||||||
							
								
								
									
										98
									
								
								ct/emby.sh
									
									
									
									
									
								
							
							
						
						
									
										98
									
								
								ct/emby.sh
									
									
									
									
									
								
							@@ -1,78 +1,53 @@
 | 
				
			|||||||
#!/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 tteck
 | 
					# Copyright (c) 2021-2025 tteck
 | 
				
			||||||
# Author: tteck (tteckster)
 | 
					# Author: tteck (tteckster)
 | 
				
			||||||
# License: MIT
 | 
					# License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE
 | 
				
			||||||
# https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE
 | 
					# Source: https://emby.media/
 | 
				
			||||||
 | 
					
 | 
				
			||||||
function header_info {
 | 
					# App Default Values
 | 
				
			||||||
clear
 | 
					 | 
				
			||||||
cat <<"EOF"
 | 
					 | 
				
			||||||
    ______          __         
 | 
					 | 
				
			||||||
   / ____/___ ___  / /_  __  __
 | 
					 | 
				
			||||||
  / __/ / __  __ \/ __ \/ / / /
 | 
					 | 
				
			||||||
 / /___/ / / / / / /_/ / /_/ / 
 | 
					 | 
				
			||||||
/_____/_/ /_/ /_/_.___/\__, /  
 | 
					 | 
				
			||||||
                      /____/   
 | 
					 | 
				
			||||||
EOF
 | 
					 | 
				
			||||||
}
 | 
					 | 
				
			||||||
header_info
 | 
					 | 
				
			||||||
echo -e "Loading..."
 | 
					 | 
				
			||||||
APP="Emby"
 | 
					APP="Emby"
 | 
				
			||||||
var_disk="8"
 | 
					var_tags="media"
 | 
				
			||||||
var_cpu="2"
 | 
					var_cpu="2"
 | 
				
			||||||
var_ram="2048"
 | 
					var_ram="2048"
 | 
				
			||||||
 | 
					var_disk="8"
 | 
				
			||||||
var_os="ubuntu"
 | 
					var_os="ubuntu"
 | 
				
			||||||
var_version="22.04"
 | 
					var_version="22.04"
 | 
				
			||||||
 | 
					var_unprivileged="1"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# App Output & Base Settings
 | 
				
			||||||
 | 
					header_info "$APP"
 | 
				
			||||||
 | 
					base_settings
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# Core
 | 
				
			||||||
variables
 | 
					variables
 | 
				
			||||||
color
 | 
					color
 | 
				
			||||||
catch_errors
 | 
					catch_errors
 | 
				
			||||||
 | 
					
 | 
				
			||||||
function default_settings() {
 | 
					 | 
				
			||||||
  CT_TYPE="1"
 | 
					 | 
				
			||||||
  PW=""
 | 
					 | 
				
			||||||
  CT_ID=$NEXTID
 | 
					 | 
				
			||||||
  HN=$NSAPP
 | 
					 | 
				
			||||||
  DISK_SIZE="$var_disk"
 | 
					 | 
				
			||||||
  CORE_COUNT="$var_cpu"
 | 
					 | 
				
			||||||
  RAM_SIZE="$var_ram"
 | 
					 | 
				
			||||||
  BRG="vmbr0"
 | 
					 | 
				
			||||||
  NET="dhcp"
 | 
					 | 
				
			||||||
  GATE=""
 | 
					 | 
				
			||||||
  APT_CACHER=""
 | 
					 | 
				
			||||||
  APT_CACHER_IP=""
 | 
					 | 
				
			||||||
  DISABLEIP6="no"
 | 
					 | 
				
			||||||
  MTU=""
 | 
					 | 
				
			||||||
  SD=""
 | 
					 | 
				
			||||||
  NS=""
 | 
					 | 
				
			||||||
  MAC=""
 | 
					 | 
				
			||||||
  VLAN=""
 | 
					 | 
				
			||||||
  SSH="no"
 | 
					 | 
				
			||||||
  VERB="no"
 | 
					 | 
				
			||||||
  echo_default
 | 
					 | 
				
			||||||
}
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
function update_script() {
 | 
					function update_script() {
 | 
				
			||||||
header_info
 | 
					    header_info
 | 
				
			||||||
check_container_storage
 | 
					    check_container_storage
 | 
				
			||||||
check_container_resources
 | 
					    check_container_resources
 | 
				
			||||||
if [[ ! -d /opt/emby-server ]]; then msg_error "No ${APP} Installation Found!"; exit; fi
 | 
					    if [[ ! -d /opt/emby-server ]]; then
 | 
				
			||||||
LATEST=$(curl -sL https://api.github.com/repos/MediaBrowser/Emby.Releases/releases/latest | grep '"tag_name":' | cut -d'"' -f4)
 | 
					        msg_error "No ${APP} Installation Found!"
 | 
				
			||||||
msg_info "Stopping ${APP}"
 | 
					        exit
 | 
				
			||||||
systemctl stop emby-server
 | 
					    fi
 | 
				
			||||||
msg_ok "Stopped ${APP}"
 | 
					    LATEST=$(curl -sL https://api.github.com/repos/MediaBrowser/Emby.Releases/releases/latest | grep '"tag_name":' | cut -d'"' -f4)
 | 
				
			||||||
 | 
					    msg_info "Stopping ${APP}"
 | 
				
			||||||
 | 
					    systemctl stop emby-server
 | 
				
			||||||
 | 
					    msg_ok "Stopped ${APP}"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
msg_info "Updating ${APP}"
 | 
					    msg_info "Updating ${APP}"
 | 
				
			||||||
wget https://github.com/MediaBrowser/Emby.Releases/releases/download/${LATEST}/emby-server-deb_${LATEST}_amd64.deb &>/dev/null
 | 
					    wget https://github.com/MediaBrowser/Emby.Releases/releases/download/${LATEST}/emby-server-deb_${LATEST}_amd64.deb &>/dev/null
 | 
				
			||||||
dpkg -i emby-server-deb_${LATEST}_amd64.deb &>/dev/null
 | 
					    dpkg -i emby-server-deb_${LATEST}_amd64.deb &>/dev/null
 | 
				
			||||||
rm emby-server-deb_${LATEST}_amd64.deb
 | 
					    rm emby-server-deb_${LATEST}_amd64.deb
 | 
				
			||||||
msg_ok "Updated ${APP}"
 | 
					    msg_ok "Updated ${APP}"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
msg_info "Starting ${APP}"
 | 
					    msg_info "Starting ${APP}"
 | 
				
			||||||
systemctl start emby-server
 | 
					    systemctl start emby-server
 | 
				
			||||||
msg_ok "Started ${APP}"
 | 
					    msg_ok "Started ${APP}"
 | 
				
			||||||
msg_ok "Updated Successfully"
 | 
					    msg_ok "Updated Successfully"
 | 
				
			||||||
exit
 | 
					    exit
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
start
 | 
					start
 | 
				
			||||||
@@ -80,5 +55,6 @@ build_container
 | 
				
			|||||||
description
 | 
					description
 | 
				
			||||||
 | 
					
 | 
				
			||||||
msg_ok "Completed Successfully!\n"
 | 
					msg_ok "Completed Successfully!\n"
 | 
				
			||||||
echo -e "${APP} should be reachable by going to the following URL.
 | 
					echo -e "${CREATING}${GN}${APP} setup has been successfully initialized!${CL}"
 | 
				
			||||||
             ${BL}http://${IP}:8096${CL}\n"
 | 
					echo -e "${INFO}${YW} Access it using the following URL:${CL}"
 | 
				
			||||||
 | 
					echo -e "${TAB}${GATEWAY}${BGN}http://${IP}:8096${CL}"
 | 
				
			||||||
 
 | 
				
			|||||||
							
								
								
									
										80
									
								
								ct/emqx.sh
									
									
									
									
									
								
							
							
						
						
									
										80
									
								
								ct/emqx.sh
									
									
									
									
									
								
							@@ -1,67 +1,42 @@
 | 
				
			|||||||
#!/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 tteck
 | 
					# Copyright (c) 2021-2025 tteck
 | 
				
			||||||
# Author: tteck (tteckster)
 | 
					# Author: tteck (tteckster)
 | 
				
			||||||
# License: MIT
 | 
					# License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE
 | 
				
			||||||
# https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE
 | 
					# Source: https://www.emqx.com/en
 | 
				
			||||||
 | 
					
 | 
				
			||||||
function header_info {
 | 
					# App Default Values
 | 
				
			||||||
clear
 | 
					 | 
				
			||||||
cat <<"EOF"
 | 
					 | 
				
			||||||
    ________  _______   _  __
 | 
					 | 
				
			||||||
   / ____/  |/  / __ \ | |/ /
 | 
					 | 
				
			||||||
  / __/ / /|_/ / / / / |   / 
 | 
					 | 
				
			||||||
 / /___/ /  / / /_/ / /   |  
 | 
					 | 
				
			||||||
/_____/_/  /_/\___\_\/_/|_|  
 | 
					 | 
				
			||||||
                             
 | 
					 | 
				
			||||||
EOF
 | 
					 | 
				
			||||||
}
 | 
					 | 
				
			||||||
header_info
 | 
					 | 
				
			||||||
echo -e "Loading..."
 | 
					 | 
				
			||||||
APP="EMQX"
 | 
					APP="EMQX"
 | 
				
			||||||
var_disk="4"
 | 
					var_tags="mqtt"
 | 
				
			||||||
var_cpu="2"
 | 
					var_cpu="2"
 | 
				
			||||||
var_ram="1024"
 | 
					var_ram="1024"
 | 
				
			||||||
 | 
					var_disk="4"
 | 
				
			||||||
var_os="debian"
 | 
					var_os="debian"
 | 
				
			||||||
var_version="12"
 | 
					var_version="12"
 | 
				
			||||||
 | 
					var_unprivileged="1"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# App Output & Base Settings
 | 
				
			||||||
 | 
					header_info "$APP"
 | 
				
			||||||
 | 
					base_settings
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# Core
 | 
				
			||||||
variables
 | 
					variables
 | 
				
			||||||
color
 | 
					color
 | 
				
			||||||
catch_errors
 | 
					catch_errors
 | 
				
			||||||
 | 
					
 | 
				
			||||||
function default_settings() {
 | 
					 | 
				
			||||||
  CT_TYPE="1"
 | 
					 | 
				
			||||||
  PW=""
 | 
					 | 
				
			||||||
  CT_ID=$NEXTID
 | 
					 | 
				
			||||||
  HN=$NSAPP
 | 
					 | 
				
			||||||
  DISK_SIZE="$var_disk"
 | 
					 | 
				
			||||||
  CORE_COUNT="$var_cpu"
 | 
					 | 
				
			||||||
  RAM_SIZE="$var_ram"
 | 
					 | 
				
			||||||
  BRG="vmbr0"
 | 
					 | 
				
			||||||
  NET="dhcp"
 | 
					 | 
				
			||||||
  GATE=""
 | 
					 | 
				
			||||||
  APT_CACHER=""
 | 
					 | 
				
			||||||
  APT_CACHER_IP=""
 | 
					 | 
				
			||||||
  DISABLEIP6="no"
 | 
					 | 
				
			||||||
  MTU=""
 | 
					 | 
				
			||||||
  SD=""
 | 
					 | 
				
			||||||
  NS=""
 | 
					 | 
				
			||||||
  MAC=""
 | 
					 | 
				
			||||||
  VLAN=""
 | 
					 | 
				
			||||||
  SSH="no"
 | 
					 | 
				
			||||||
  VERB="no"
 | 
					 | 
				
			||||||
  echo_default
 | 
					 | 
				
			||||||
}
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
function update_script() {
 | 
					function update_script() {
 | 
				
			||||||
header_info
 | 
					    header_info
 | 
				
			||||||
check_container_storage
 | 
					    check_container_storage
 | 
				
			||||||
check_container_resources
 | 
					    check_container_resources
 | 
				
			||||||
if [[ ! -d /var ]]; then msg_error "No ${APP} Installation Found!"; exit; fi
 | 
					    if [[ ! -d /var ]]; then
 | 
				
			||||||
msg_info "Updating $APP LXC"
 | 
					        msg_error "No ${APP} Installation Found!"
 | 
				
			||||||
apt-get update &>/dev/null
 | 
					        exit
 | 
				
			||||||
apt-get -y upgrade &>/dev/null
 | 
					    fi
 | 
				
			||||||
msg_ok "Updated $APP LXC"
 | 
					    msg_info "Updating $APP LXC"
 | 
				
			||||||
exit
 | 
					    apt-get update &>/dev/null
 | 
				
			||||||
 | 
					    apt-get -y upgrade &>/dev/null
 | 
				
			||||||
 | 
					    msg_ok "Updated $APP LXC"
 | 
				
			||||||
 | 
					    exit
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
start
 | 
					start
 | 
				
			||||||
@@ -69,5 +44,6 @@ build_container
 | 
				
			|||||||
description
 | 
					description
 | 
				
			||||||
 | 
					
 | 
				
			||||||
msg_ok "Completed Successfully!\n"
 | 
					msg_ok "Completed Successfully!\n"
 | 
				
			||||||
echo -e "${APP} Setup should be reachable by going to the following URL.
 | 
					echo -e "${CREATING}${GN}${APP} setup has been successfully initialized!${CL}"
 | 
				
			||||||
         ${BL}http://${IP}:18083${CL} \n"
 | 
					echo -e "${INFO}${YW} Access it using the following URL:${CL}"
 | 
				
			||||||
 | 
					echo -e "${TAB}${GATEWAY}${BGN}http://${IP}:18083${CL}"
 | 
				
			||||||
 
 | 
				
			|||||||
							
								
								
									
										111
									
								
								ct/ersatztv.sh
									
									
									
									
									
								
							
							
						
						
									
										111
									
								
								ct/ersatztv.sh
									
									
									
									
									
								
							@@ -1,85 +1,57 @@
 | 
				
			|||||||
#!/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 tteck
 | 
					# Copyright (c) 2021-2025 tteck
 | 
				
			||||||
# Author: tteck
 | 
					# Author: MickLesk (Canbiz)
 | 
				
			||||||
# Co-Author: MickLesk (Canbiz)
 | 
					# License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE
 | 
				
			||||||
# License: MIT
 | 
					# Source: https://ersatztv.org/
 | 
				
			||||||
# https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE
 | 
					 | 
				
			||||||
# Source: https://github.com/ErsatzTV/ErsatzTV/
 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# App Default Values
 | 
				
			||||||
function header_info {
 | 
					 | 
				
			||||||
clear
 | 
					 | 
				
			||||||
cat <<"EOF"
 | 
					 | 
				
			||||||
    ______                __      _______    __
 | 
					 | 
				
			||||||
   / ____/_____________ _/ /_____/_  __/ |  / /
 | 
					 | 
				
			||||||
  / __/ / ___/ ___/ __ `/ __/_  / / /  | | / / 
 | 
					 | 
				
			||||||
 / /___/ /  (__  ) /_/ / /_  / /_/ /   | |/ /  
 | 
					 | 
				
			||||||
/_____/_/  /____/\__,_/\__/ /___/_/    |___/   
 | 
					 | 
				
			||||||
                                                         
 | 
					 | 
				
			||||||
EOF
 | 
					 | 
				
			||||||
}
 | 
					 | 
				
			||||||
header_info
 | 
					 | 
				
			||||||
echo -e "Loading..."
 | 
					 | 
				
			||||||
APP="ErsatzTV"
 | 
					APP="ErsatzTV"
 | 
				
			||||||
var_disk="5"
 | 
					var_tags="iptv"
 | 
				
			||||||
var_cpu="1"
 | 
					var_cpu="1"
 | 
				
			||||||
var_ram="1024"
 | 
					var_ram="1024"
 | 
				
			||||||
 | 
					var_disk="5"
 | 
				
			||||||
var_os="debian"
 | 
					var_os="debian"
 | 
				
			||||||
var_version="12"
 | 
					var_version="12"
 | 
				
			||||||
 | 
					var_unprivileged="1"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# App Output & Base Settings
 | 
				
			||||||
 | 
					header_info "$APP"
 | 
				
			||||||
 | 
					base_settings
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# Core
 | 
				
			||||||
variables
 | 
					variables
 | 
				
			||||||
color
 | 
					color
 | 
				
			||||||
catch_errors
 | 
					catch_errors
 | 
				
			||||||
 | 
					 | 
				
			||||||
function default_settings() {
 | 
					 | 
				
			||||||
  CT_TYPE="1"
 | 
					 | 
				
			||||||
  PW=""
 | 
					 | 
				
			||||||
  CT_ID=$NEXTID
 | 
					 | 
				
			||||||
  HN=$NSAPP
 | 
					 | 
				
			||||||
  DISK_SIZE="$var_disk"
 | 
					 | 
				
			||||||
  CORE_COUNT="$var_cpu"
 | 
					 | 
				
			||||||
  RAM_SIZE="$var_ram"
 | 
					 | 
				
			||||||
  BRG="vmbr0"
 | 
					 | 
				
			||||||
  NET="dhcp"
 | 
					 | 
				
			||||||
  GATE=""
 | 
					 | 
				
			||||||
  APT_CACHER=""
 | 
					 | 
				
			||||||
  APT_CACHER_IP=""
 | 
					 | 
				
			||||||
  DISABLEIP6="no"
 | 
					 | 
				
			||||||
  MTU=""
 | 
					 | 
				
			||||||
  SD=""
 | 
					 | 
				
			||||||
  NS=""
 | 
					 | 
				
			||||||
  MAC=""
 | 
					 | 
				
			||||||
  VLAN=""
 | 
					 | 
				
			||||||
  SSH="no"
 | 
					 | 
				
			||||||
  VERB="no"
 | 
					 | 
				
			||||||
  echo_default
 | 
					 | 
				
			||||||
}
 | 
					 | 
				
			||||||
function update_script() {
 | 
					function update_script() {
 | 
				
			||||||
header_info
 | 
					    header_info
 | 
				
			||||||
check_container_storage
 | 
					    check_container_storage
 | 
				
			||||||
check_container_resources
 | 
					    check_container_resources
 | 
				
			||||||
if [[ ! -d /opt/ErsatzTV ]]; then msg_error "No ${APP} Installation Found!"; exit; fi
 | 
					    if [[ ! -d /opt/ErsatzTV ]]; then
 | 
				
			||||||
 | 
					        msg_error "No ${APP} Installation Found!"
 | 
				
			||||||
 | 
					        exit
 | 
				
			||||||
 | 
					    fi
 | 
				
			||||||
 | 
					
 | 
				
			||||||
msg_info "Stopping ErsatzTV"
 | 
					    msg_info "Stopping ErsatzTV"
 | 
				
			||||||
systemctl stop ersatzTV
 | 
					    systemctl stop ersatzTV
 | 
				
			||||||
msg_ok "Stopped ErsatzTV"
 | 
					    msg_ok "Stopped ErsatzTV"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
msg_info "Updating ErsatzTV"
 | 
					    msg_info "Updating ErsatzTV"
 | 
				
			||||||
RELEASE=$(curl -s https://api.github.com/repos/ErsatzTV/ErsatzTV/releases | grep -oP '"tag_name": "\K[^"]+' | head -n 1)
 | 
					    RELEASE=$(curl -s https://api.github.com/repos/ErsatzTV/ErsatzTV/releases | grep -oP '"tag_name": "\K[^"]+' | head -n 1)
 | 
				
			||||||
cp -R /opt/ErsatzTV/ ErsatzTV-backup
 | 
					    cp -R /opt/ErsatzTV/ ErsatzTV-backup
 | 
				
			||||||
rm ErsatzTV-backup/ErsatzTV
 | 
					    rm ErsatzTV-backup/ErsatzTV
 | 
				
			||||||
rm -rf /opt/ErsatzTV
 | 
					    rm -rf /opt/ErsatzTV
 | 
				
			||||||
wget -qO- "https://github.com/ErsatzTV/ErsatzTV/releases/download/${RELEASE}/ErsatzTV-${RELEASE}-linux-x64.tar.gz" | tar -xz -C /opt
 | 
					    wget -qO- "https://github.com/ErsatzTV/ErsatzTV/releases/download/${RELEASE}/ErsatzTV-${RELEASE}-linux-x64.tar.gz" | tar -xz -C /opt
 | 
				
			||||||
mv "/opt/ErsatzTV-${RELEASE}-linux-x64" /opt/ErsatzTV
 | 
					    mv "/opt/ErsatzTV-${RELEASE}-linux-x64" /opt/ErsatzTV
 | 
				
			||||||
cp -R ErsatzTV-backup/* /opt/ErsatzTV/
 | 
					    cp -R ErsatzTV-backup/* /opt/ErsatzTV/
 | 
				
			||||||
rm -rf ErsatzTV-backup
 | 
					    rm -rf ErsatzTV-backup
 | 
				
			||||||
msg_ok "Updated ErsatzTV"
 | 
					    msg_ok "Updated ErsatzTV"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
msg_info "Starting ErsatzTV"
 | 
					    msg_info "Starting ErsatzTV"
 | 
				
			||||||
systemctl start ersatzTV
 | 
					    systemctl start ersatzTV
 | 
				
			||||||
msg_ok "Started ErsatzTV"
 | 
					    msg_ok "Started ErsatzTV"
 | 
				
			||||||
msg_ok "Updated Successfully"
 | 
					    msg_ok "Updated Successfully"
 | 
				
			||||||
exit
 | 
					    exit
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
start
 | 
					start
 | 
				
			||||||
@@ -87,5 +59,6 @@ build_container
 | 
				
			|||||||
description
 | 
					description
 | 
				
			||||||
 | 
					
 | 
				
			||||||
msg_ok "Completed Successfully!\n"
 | 
					msg_ok "Completed Successfully!\n"
 | 
				
			||||||
echo -e "${APP} Setup should be reachable by going to the following URL.
 | 
					echo -e "${CREATING}${GN}${APP} setup has been successfully initialized!${CL}"
 | 
				
			||||||
         ${BL}http://${IP}:8409${CL} \n"
 | 
					echo -e "${INFO}${YW} Access it using the following URL:${CL}"
 | 
				
			||||||
 | 
					echo -e "${TAB}${GATEWAY}${BGN}http://${IP}:8409${CL}"
 | 
				
			||||||
@@ -1,78 +1,53 @@
 | 
				
			|||||||
#!/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 tteck
 | 
					# Copyright (c) 2021-2025 tteck
 | 
				
			||||||
# Author: tteck (tteckster)
 | 
					# Author: tteck (tteckster)
 | 
				
			||||||
# License: MIT
 | 
					# License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE
 | 
				
			||||||
# https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE
 | 
					# Source: https://esphome.io/
 | 
				
			||||||
 | 
					
 | 
				
			||||||
function header_info {
 | 
					# App Default Values
 | 
				
			||||||
clear
 | 
					 | 
				
			||||||
cat <<"EOF"
 | 
					 | 
				
			||||||
    ___________ ____  __  __                   
 | 
					 | 
				
			||||||
   / ____/ ___// __ \/ / / /___  ____ ___  ___ 
 | 
					 | 
				
			||||||
  / __/  \__ \/ /_/ / /_/ / __ \/ __ `__ \/ _ \
 | 
					 | 
				
			||||||
 / /___ ___/ / ____/ __  / /_/ / / / / / /  __/
 | 
					 | 
				
			||||||
/_____//____/_/   /_/ /_/\____/_/ /_/ /_/\___/ 
 | 
					 | 
				
			||||||
                                               
 | 
					 | 
				
			||||||
EOF
 | 
					 | 
				
			||||||
}
 | 
					 | 
				
			||||||
header_info
 | 
					 | 
				
			||||||
echo -e "Loading..."
 | 
					 | 
				
			||||||
APP="ESPHome"
 | 
					APP="ESPHome"
 | 
				
			||||||
var_disk="4"
 | 
					var_tags="automation"
 | 
				
			||||||
var_cpu="2"
 | 
					var_cpu="2"
 | 
				
			||||||
var_ram="1024"
 | 
					var_ram="1024"
 | 
				
			||||||
 | 
					var_disk="4"
 | 
				
			||||||
var_os="debian"
 | 
					var_os="debian"
 | 
				
			||||||
var_version="12"
 | 
					var_version="12"
 | 
				
			||||||
 | 
					var_unprivileged="1"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# App Output & Base Settings
 | 
				
			||||||
 | 
					header_info "$APP"
 | 
				
			||||||
 | 
					base_settings
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# Core
 | 
				
			||||||
variables
 | 
					variables
 | 
				
			||||||
color
 | 
					color
 | 
				
			||||||
catch_errors
 | 
					catch_errors
 | 
				
			||||||
 | 
					
 | 
				
			||||||
function default_settings() {
 | 
					 | 
				
			||||||
  CT_TYPE="1"
 | 
					 | 
				
			||||||
  PW=""
 | 
					 | 
				
			||||||
  CT_ID=$NEXTID
 | 
					 | 
				
			||||||
  HN=$NSAPP
 | 
					 | 
				
			||||||
  DISK_SIZE="$var_disk"
 | 
					 | 
				
			||||||
  CORE_COUNT="$var_cpu"
 | 
					 | 
				
			||||||
  RAM_SIZE="$var_ram"
 | 
					 | 
				
			||||||
  BRG="vmbr0"
 | 
					 | 
				
			||||||
  NET="dhcp"
 | 
					 | 
				
			||||||
  GATE=""
 | 
					 | 
				
			||||||
  APT_CACHER=""
 | 
					 | 
				
			||||||
  APT_CACHER_IP=""
 | 
					 | 
				
			||||||
  DISABLEIP6="no"
 | 
					 | 
				
			||||||
  MTU=""
 | 
					 | 
				
			||||||
  SD=""
 | 
					 | 
				
			||||||
  NS=""
 | 
					 | 
				
			||||||
  MAC=""
 | 
					 | 
				
			||||||
  VLAN=""
 | 
					 | 
				
			||||||
  SSH="no"
 | 
					 | 
				
			||||||
  VERB="no"
 | 
					 | 
				
			||||||
  echo_default
 | 
					 | 
				
			||||||
}
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
function update_script() {
 | 
					function update_script() {
 | 
				
			||||||
header_info
 | 
					  header_info
 | 
				
			||||||
check_container_storage
 | 
					  check_container_storage
 | 
				
			||||||
check_container_resources
 | 
					  check_container_resources
 | 
				
			||||||
if [[ ! -f /etc/systemd/system/esphomeDashboard.service ]]; then msg_error "No ${APP} Installation Found!"; exit; fi
 | 
					  if [[ ! -f /etc/systemd/system/esphomeDashboard.service ]]; then
 | 
				
			||||||
msg_info "Stopping ESPHome"
 | 
					    msg_error "No ${APP} Installation Found!"
 | 
				
			||||||
systemctl stop esphomeDashboard
 | 
					    exit
 | 
				
			||||||
msg_ok "Stopped ESPHome"
 | 
					  fi
 | 
				
			||||||
 | 
					  msg_info "Stopping ESPHome"
 | 
				
			||||||
 | 
					  systemctl stop esphomeDashboard
 | 
				
			||||||
 | 
					  msg_ok "Stopped ESPHome"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
msg_info "Updating ESPHome"
 | 
					  msg_info "Updating ESPHome"
 | 
				
			||||||
if [[ -d /srv/esphome ]]; then
 | 
					  if [[ -d /srv/esphome ]]; then
 | 
				
			||||||
  source /srv/esphome/bin/activate &>/dev/null
 | 
					    source /srv/esphome/bin/activate &>/dev/null
 | 
				
			||||||
fi
 | 
					  fi
 | 
				
			||||||
pip3 install -U esphome &>/dev/null
 | 
					  pip3 install -U esphome &>/dev/null
 | 
				
			||||||
msg_ok "Updated ESPHome"
 | 
					  msg_ok "Updated ESPHome"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
msg_info "Starting ESPHome"
 | 
					  msg_info "Starting ESPHome"
 | 
				
			||||||
systemctl start esphomeDashboard
 | 
					  systemctl start esphomeDashboard
 | 
				
			||||||
msg_ok "Started ESPHome"
 | 
					  msg_ok "Started ESPHome"
 | 
				
			||||||
msg_ok "Updated Successfully"
 | 
					  msg_ok "Updated Successfully"
 | 
				
			||||||
exit
 | 
					  exit
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
start
 | 
					start
 | 
				
			||||||
@@ -80,5 +55,6 @@ build_container
 | 
				
			|||||||
description
 | 
					description
 | 
				
			||||||
 | 
					
 | 
				
			||||||
msg_ok "Completed Successfully!\n"
 | 
					msg_ok "Completed Successfully!\n"
 | 
				
			||||||
echo -e "${APP} should be reachable by going to the following URL.
 | 
					echo -e "${CREATING}${GN}${APP} setup has been successfully initialized!${CL}"
 | 
				
			||||||
         ${BL}http://${IP}:6052${CL} \n"
 | 
					echo -e "${INFO}${YW} Access it using the following URL:${CL}"
 | 
				
			||||||
 | 
					echo -e "${TAB}${GATEWAY}${BGN}http://${IP}:6052${CL}"
 | 
				
			||||||
							
								
								
									
										79
									
								
								ct/evcc.sh
									
									
									
									
									
								
							
							
						
						
									
										79
									
								
								ct/evcc.sh
									
									
									
									
									
								
							@@ -1,66 +1,42 @@
 | 
				
			|||||||
#!/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 tteck
 | 
					# Copyright (c) 2021-2025 tteck
 | 
				
			||||||
# Author: MickLesk (Canbiz)
 | 
					# Author: MickLesk (Canbiz)
 | 
				
			||||||
# License: MIT
 | 
					# License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE
 | 
				
			||||||
# https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE
 | 
					# Source: https://evcc.io/en/
 | 
				
			||||||
 | 
					
 | 
				
			||||||
function header_info {
 | 
					# App Default Values
 | 
				
			||||||
clear
 | 
					 | 
				
			||||||
cat <<"EOF"     
 | 
					 | 
				
			||||||
  ___ _   ____________
 | 
					 | 
				
			||||||
 / _ \ | / / ___/ ___/
 | 
					 | 
				
			||||||
/  __/ |/ / /__/ /__  
 | 
					 | 
				
			||||||
\___/|___/\___/\___/  
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
EOF
 | 
					 | 
				
			||||||
}
 | 
					 | 
				
			||||||
header_info
 | 
					 | 
				
			||||||
echo -e "Loading..."
 | 
					 | 
				
			||||||
APP="evcc"
 | 
					APP="evcc"
 | 
				
			||||||
var_disk="4"
 | 
					var_tags="solar;ev;automation"
 | 
				
			||||||
var_cpu="1"
 | 
					var_cpu="1"
 | 
				
			||||||
var_ram="1024"
 | 
					var_ram="1024"
 | 
				
			||||||
 | 
					var_disk="4"
 | 
				
			||||||
var_os="debian"
 | 
					var_os="debian"
 | 
				
			||||||
var_version="12"
 | 
					var_version="12"
 | 
				
			||||||
 | 
					var_unprivileged="1"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# App Output & Base Settings
 | 
				
			||||||
 | 
					header_info "$APP"
 | 
				
			||||||
 | 
					base_settings
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# Core
 | 
				
			||||||
variables
 | 
					variables
 | 
				
			||||||
color
 | 
					color
 | 
				
			||||||
catch_errors
 | 
					catch_errors
 | 
				
			||||||
 | 
					
 | 
				
			||||||
function default_settings() {
 | 
					 | 
				
			||||||
  CT_TYPE="1"
 | 
					 | 
				
			||||||
  PW=""
 | 
					 | 
				
			||||||
  CT_ID=$NEXTID
 | 
					 | 
				
			||||||
  HN=$NSAPP
 | 
					 | 
				
			||||||
  DISK_SIZE="$var_disk"
 | 
					 | 
				
			||||||
  CORE_COUNT="$var_cpu"
 | 
					 | 
				
			||||||
  RAM_SIZE="$var_ram"
 | 
					 | 
				
			||||||
  BRG="vmbr0"
 | 
					 | 
				
			||||||
  NET="dhcp"
 | 
					 | 
				
			||||||
  GATE=""
 | 
					 | 
				
			||||||
  APT_CACHER=""
 | 
					 | 
				
			||||||
  APT_CACHER_IP=""
 | 
					 | 
				
			||||||
  DISABLEIP6="no"
 | 
					 | 
				
			||||||
  MTU=""
 | 
					 | 
				
			||||||
  SD=""
 | 
					 | 
				
			||||||
  NS=""
 | 
					 | 
				
			||||||
  MAC=""
 | 
					 | 
				
			||||||
  VLAN=""
 | 
					 | 
				
			||||||
  SSH="no"
 | 
					 | 
				
			||||||
  VERB="no"
 | 
					 | 
				
			||||||
  echo_default
 | 
					 | 
				
			||||||
}
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
function update_script() {
 | 
					function update_script() {
 | 
				
			||||||
header_info
 | 
					  header_info
 | 
				
			||||||
check_container_storage
 | 
					  check_container_storage
 | 
				
			||||||
check_container_resources
 | 
					  check_container_resources
 | 
				
			||||||
if [[ ! -f /etc/apt/sources.list.d/evcc-stable.list ]]; then msg_error "No ${APP} Installation Found!"; exit; fi
 | 
					  if [[ ! -f /etc/apt/sources.list.d/evcc-stable.list ]]; then
 | 
				
			||||||
msg_info "Updating evcc LXC"
 | 
					    msg_error "No ${APP} Installation Found!"
 | 
				
			||||||
apt update &>/dev/null
 | 
					    exit
 | 
				
			||||||
apt --only-upgrade install -y evcc &>/dev/null
 | 
					  fi
 | 
				
			||||||
msg_ok "Updated Successfully"
 | 
					  msg_info "Updating evcc LXC"
 | 
				
			||||||
exit
 | 
					  apt update &>/dev/null
 | 
				
			||||||
 | 
					  apt --only-upgrade install -y evcc &>/dev/null
 | 
				
			||||||
 | 
					  msg_ok "Updated Successfully"
 | 
				
			||||||
 | 
					  exit
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
start
 | 
					start
 | 
				
			||||||
@@ -68,5 +44,6 @@ build_container
 | 
				
			|||||||
description
 | 
					description
 | 
				
			||||||
 | 
					
 | 
				
			||||||
msg_ok "Completed Successfully!\n"
 | 
					msg_ok "Completed Successfully!\n"
 | 
				
			||||||
echo -e "${APP} Setup should be reachable by going to the following URL.
 | 
					echo -e "${CREATING}${GN}${APP} setup has been successfully initialized!${CL}"
 | 
				
			||||||
         ${BL}http://${IP}:7070${CL} \n"
 | 
					echo -e "${INFO}${YW} Access it using the following URL:${CL}"
 | 
				
			||||||
 | 
					echo -e "${TAB}${GATEWAY}${BGN}http://${IP}:7070${CL}"
 | 
				
			||||||
							
								
								
									
										125
									
								
								ct/fenrus.sh
									
									
									
									
									
								
							
							
						
						
									
										125
									
								
								ct/fenrus.sh
									
									
									
									
									
								
							@@ -1,89 +1,67 @@
 | 
				
			|||||||
#!/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 tteck
 | 
					# Copyright (c) 2021-2025 tteck
 | 
				
			||||||
# Author: tteck (tteckster)
 | 
					# Author: tteck (tteckster) | Co-Author: Scorpoon
 | 
				
			||||||
# Co-Author: Scorpoon
 | 
					# License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE
 | 
				
			||||||
# License: MIT
 | 
					# Source: https://github.com/revenz/Fenrus
 | 
				
			||||||
# https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE
 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
function header_info {
 | 
					# App Default Values
 | 
				
			||||||
clear
 | 
					 | 
				
			||||||
cat <<"EOF"
 | 
					 | 
				
			||||||
    ______
 | 
					 | 
				
			||||||
   / ____/__  ____  _______  _______
 | 
					 | 
				
			||||||
  / /_  / _ \/ __ \/ ___/ / / / ___/
 | 
					 | 
				
			||||||
 / __/ /  __/ / / / /  / /_/ (__  )
 | 
					 | 
				
			||||||
/_/    \___/_/ /_/_/   \__,_/____/
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
EOF
 | 
					 | 
				
			||||||
}
 | 
					 | 
				
			||||||
header_info
 | 
					 | 
				
			||||||
echo -e "Loading..."
 | 
					 | 
				
			||||||
APP="Fenrus"
 | 
					APP="Fenrus"
 | 
				
			||||||
var_disk="4"
 | 
					var_tags="dashboard"
 | 
				
			||||||
var_cpu="1"
 | 
					var_cpu="1"
 | 
				
			||||||
var_ram="512"
 | 
					var_ram="512"
 | 
				
			||||||
 | 
					var_disk="4"
 | 
				
			||||||
var_os="debian"
 | 
					var_os="debian"
 | 
				
			||||||
var_version="12"
 | 
					var_version="12"
 | 
				
			||||||
 | 
					var_unprivileged="1"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# App Output & Base Settings
 | 
				
			||||||
 | 
					header_info "$APP"
 | 
				
			||||||
 | 
					base_settings
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# Core
 | 
				
			||||||
variables
 | 
					variables
 | 
				
			||||||
color
 | 
					color
 | 
				
			||||||
catch_errors
 | 
					catch_errors
 | 
				
			||||||
 | 
					
 | 
				
			||||||
function default_settings() {
 | 
					 | 
				
			||||||
  CT_TYPE="1"
 | 
					 | 
				
			||||||
  PW=""
 | 
					 | 
				
			||||||
  CT_ID=$NEXTID
 | 
					 | 
				
			||||||
  HN=$NSAPP
 | 
					 | 
				
			||||||
  DISK_SIZE="$var_disk"
 | 
					 | 
				
			||||||
  CORE_COUNT="$var_cpu"
 | 
					 | 
				
			||||||
  RAM_SIZE="$var_ram"
 | 
					 | 
				
			||||||
  BRG="vmbr0"
 | 
					 | 
				
			||||||
  NET="dhcp"
 | 
					 | 
				
			||||||
  GATE=""
 | 
					 | 
				
			||||||
  APT_CACHER=""
 | 
					 | 
				
			||||||
  APT_CACHER_IP=""
 | 
					 | 
				
			||||||
  DISABLEIP6="no"
 | 
					 | 
				
			||||||
  MTU=""
 | 
					 | 
				
			||||||
  SD=""
 | 
					 | 
				
			||||||
  NS=""
 | 
					 | 
				
			||||||
  MAC=""
 | 
					 | 
				
			||||||
  VLAN=""
 | 
					 | 
				
			||||||
  SSH="no"
 | 
					 | 
				
			||||||
  VERB="no"
 | 
					 | 
				
			||||||
  echo_default
 | 
					 | 
				
			||||||
}
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
function update_script() {
 | 
					function update_script() {
 | 
				
			||||||
header_info
 | 
					  header_info
 | 
				
			||||||
check_container_storage
 | 
					  check_container_storage
 | 
				
			||||||
check_container_resources
 | 
					  check_container_resources
 | 
				
			||||||
if [[ ! -d /opt/${APP} ]]; then msg_error "No ${APP} Installation Found!"; exit; fi
 | 
					  if [[ ! -d /opt/${APP} ]]; then
 | 
				
			||||||
msg_error "There is currently no update path available."
 | 
					    msg_error "No ${APP} Installation Found!"
 | 
				
			||||||
exit
 | 
					    exit
 | 
				
			||||||
msg_info "Updating ${APP}"
 | 
					  fi
 | 
				
			||||||
systemctl stop ${APP}
 | 
					  msg_error "There is currently no update path available."
 | 
				
			||||||
git clone https://github.com/revenz/Fenrus.git
 | 
					  exit
 | 
				
			||||||
cd Fenrus || exit
 | 
					  msg_info "Updating ${APP}"
 | 
				
			||||||
gitVersionNumber=$(git rev-parse HEAD)
 | 
					  systemctl stop ${APP}
 | 
				
			||||||
 | 
					  git clone https://github.com/revenz/Fenrus.git
 | 
				
			||||||
 | 
					  cd Fenrus || exit
 | 
				
			||||||
 | 
					  gitVersionNumber=$(git rev-parse HEAD)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
if [[ "${gitVersionNumber}" != "$(cat /opt/${APP}_version.txt)" ]] || [[ ! -f /opt/${APP}_version.txt ]]; then
 | 
					  if [[ "${gitVersionNumber}" != "$(cat /opt/${APP}_version.txt)" ]] || [[ ! -f /opt/${APP}_version.txt ]]; then
 | 
				
			||||||
  mkdir /opt/fenrus-data-backup
 | 
					    mkdir /opt/fenrus-data-backup
 | 
				
			||||||
  cp -r "/opt/${APP}/data/" /opt/fenrus-data-backup/data
 | 
					    cp -r "/opt/${APP}/data/" /opt/fenrus-data-backup/data
 | 
				
			||||||
  if [[ ! -d /opt/fenrus-data-backup/data ]]; then msg_error "Backup of data folder failed! exiting..."; rm -r /opt/fenrus-data-backup/; exit; fi 
 | 
					    if [[ ! -d /opt/fenrus-data-backup/data ]]; then
 | 
				
			||||||
  export DOTNET_CLI_TELEMETRY_OPTOUT=1
 | 
					      msg_error "Backup of data folder failed! exiting..."
 | 
				
			||||||
  dotnet publish -c Release -o "/opt/${APP}/" Fenrus.csproj
 | 
					      rm -r /opt/fenrus-data-backup/
 | 
				
			||||||
  cp -r /opt/fenrus-data-backup/data/ "/opt/${APP}/"
 | 
					      exit
 | 
				
			||||||
  echo "${gitVersionNumber}" >"/opt/${APP}_version.txt"
 | 
					    fi
 | 
				
			||||||
  rm -r /opt/fenrus-data-backup/
 | 
					    export DOTNET_CLI_TELEMETRY_OPTOUT=1
 | 
				
			||||||
  msg_ok "Updated $APP"
 | 
					    dotnet publish -c Release -o "/opt/${APP}/" Fenrus.csproj
 | 
				
			||||||
else
 | 
					    cp -r /opt/fenrus-data-backup/data/ "/opt/${APP}/"
 | 
				
			||||||
  msg_ok "No update required. ${APP} is already up to date"
 | 
					    echo "${gitVersionNumber}" >"/opt/${APP}_version.txt"
 | 
				
			||||||
fi
 | 
					    rm -r /opt/fenrus-data-backup/
 | 
				
			||||||
cd ..
 | 
					    msg_ok "Updated $APP"
 | 
				
			||||||
rm -r Fenrus/
 | 
					  else
 | 
				
			||||||
 | 
					    msg_ok "No update required. ${APP} is already up to date"
 | 
				
			||||||
 | 
					  fi
 | 
				
			||||||
 | 
					  cd ..
 | 
				
			||||||
 | 
					  rm -r Fenrus/
 | 
				
			||||||
 | 
					
 | 
				
			||||||
systemctl start ${APP}
 | 
					  systemctl start ${APP}
 | 
				
			||||||
exit
 | 
					  exit
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
start
 | 
					start
 | 
				
			||||||
@@ -91,5 +69,6 @@ build_container
 | 
				
			|||||||
description
 | 
					description
 | 
				
			||||||
 | 
					
 | 
				
			||||||
msg_ok "Completed Successfully!\n"
 | 
					msg_ok "Completed Successfully!\n"
 | 
				
			||||||
echo -e "${APP} should be reachable by going to the following URL.
 | 
					echo -e "${CREATING}${GN}${APP} setup has been successfully initialized!${CL}"
 | 
				
			||||||
         ${BL}http://${IP}:5000${CL} \n"
 | 
					echo -e "${INFO}${YW} Access it using the following URL:${CL}"
 | 
				
			||||||
 | 
					echo -e "${TAB}${GATEWAY}${BGN}http://${IP}:5000${CL}"
 | 
				
			||||||
 
 | 
				
			|||||||
							
								
								
									
										82
									
								
								ct/fhem.sh
									
									
									
									
									
								
							
							
						
						
									
										82
									
								
								ct/fhem.sh
									
									
									
									
									
								
							@@ -1,67 +1,42 @@
 | 
				
			|||||||
#!/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 tteck
 | 
					# Copyright (c) 2021-2025 tteck
 | 
				
			||||||
# Author: tteck (tteckster)
 | 
					# Author: tteck (tteckster)
 | 
				
			||||||
# License: MIT
 | 
					# License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE
 | 
				
			||||||
# https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE
 | 
					# Source: https://fhem.de/
 | 
				
			||||||
 | 
					
 | 
				
			||||||
function header_info {
 | 
					# App Default Values
 | 
				
			||||||
clear
 | 
					APP="FHEM"
 | 
				
			||||||
cat <<"EOF"
 | 
					var_tags="automation"
 | 
				
			||||||
    ________                 
 | 
					 | 
				
			||||||
   / ____/ /_  ___  ____ ___ 
 | 
					 | 
				
			||||||
  / /_  / __ \/ _ \/ __ `__ \
 | 
					 | 
				
			||||||
 / __/ / / / /  __/ / / / / /
 | 
					 | 
				
			||||||
/_/   /_/ /_/\___/_/ /_/ /_/ 
 | 
					 | 
				
			||||||
                             
 | 
					 | 
				
			||||||
EOF
 | 
					 | 
				
			||||||
}
 | 
					 | 
				
			||||||
header_info
 | 
					 | 
				
			||||||
echo -e "Loading..."
 | 
					 | 
				
			||||||
APP="Fhem"
 | 
					 | 
				
			||||||
var_disk="8"
 | 
					 | 
				
			||||||
var_cpu="2"
 | 
					var_cpu="2"
 | 
				
			||||||
var_ram="2048"
 | 
					var_ram="2048"
 | 
				
			||||||
 | 
					var_disk="8"
 | 
				
			||||||
var_os="debian"
 | 
					var_os="debian"
 | 
				
			||||||
var_version="12"
 | 
					var_version="12"
 | 
				
			||||||
 | 
					var_unprivileged="1"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# App Output & Base Settings
 | 
				
			||||||
 | 
					header_info "$APP"
 | 
				
			||||||
 | 
					base_settings
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# Core
 | 
				
			||||||
variables
 | 
					variables
 | 
				
			||||||
color
 | 
					color
 | 
				
			||||||
catch_errors
 | 
					catch_errors
 | 
				
			||||||
 | 
					
 | 
				
			||||||
function default_settings() {
 | 
					 | 
				
			||||||
  CT_TYPE="1"
 | 
					 | 
				
			||||||
  PW=""
 | 
					 | 
				
			||||||
  CT_ID=$NEXTID
 | 
					 | 
				
			||||||
  HN=$NSAPP
 | 
					 | 
				
			||||||
  DISK_SIZE="$var_disk"
 | 
					 | 
				
			||||||
  CORE_COUNT="$var_cpu"
 | 
					 | 
				
			||||||
  RAM_SIZE="$var_ram"
 | 
					 | 
				
			||||||
  BRG="vmbr0"
 | 
					 | 
				
			||||||
  NET="dhcp"
 | 
					 | 
				
			||||||
  GATE=""
 | 
					 | 
				
			||||||
  APT_CACHER=""
 | 
					 | 
				
			||||||
  APT_CACHER_IP=""
 | 
					 | 
				
			||||||
  DISABLEIP6="no"
 | 
					 | 
				
			||||||
  MTU=""
 | 
					 | 
				
			||||||
  SD=""
 | 
					 | 
				
			||||||
  NS=""
 | 
					 | 
				
			||||||
  MAC=""
 | 
					 | 
				
			||||||
  VLAN=""
 | 
					 | 
				
			||||||
  SSH="no"
 | 
					 | 
				
			||||||
  VERB="no"
 | 
					 | 
				
			||||||
  echo_default
 | 
					 | 
				
			||||||
}
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
function update_script() {
 | 
					function update_script() {
 | 
				
			||||||
header_info
 | 
					    header_info
 | 
				
			||||||
check_container_storage
 | 
					    check_container_storage
 | 
				
			||||||
check_container_resources
 | 
					    check_container_resources
 | 
				
			||||||
if [[ ! -f /etc/systemd/system/fhem.service ]]; then msg_error "No ${APP} Installation Found!"; exit; fi
 | 
					    if [[ ! -f /etc/systemd/system/fhem.service ]]; then
 | 
				
			||||||
msg_info "Updating ${APP} LXC"
 | 
					        msg_error "No ${APP} Installation Found!"
 | 
				
			||||||
apt-get update &>/dev/null
 | 
					        exit
 | 
				
			||||||
apt-get -y upgrade &>/dev/null
 | 
					    fi
 | 
				
			||||||
msg_ok "Updated Successfully"
 | 
					    msg_info "Updating ${APP} LXC"
 | 
				
			||||||
exit
 | 
					    apt-get update &>/dev/null
 | 
				
			||||||
 | 
					    apt-get -y upgrade &>/dev/null
 | 
				
			||||||
 | 
					    msg_ok "Updated Successfully"
 | 
				
			||||||
 | 
					    exit
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
start
 | 
					start
 | 
				
			||||||
@@ -69,5 +44,6 @@ build_container
 | 
				
			|||||||
description
 | 
					description
 | 
				
			||||||
 | 
					
 | 
				
			||||||
msg_ok "Completed Successfully!\n"
 | 
					msg_ok "Completed Successfully!\n"
 | 
				
			||||||
echo -e "${APP} should be reachable by going to the following URL.
 | 
					echo -e "${CREATING}${GN}${APP} setup has been successfully initialized!${CL}"
 | 
				
			||||||
         ${BL}http://${IP}:8083${CL} \n"
 | 
					echo -e "${INFO}${YW} Access it using the following URL:${CL}"
 | 
				
			||||||
 | 
					echo -e "${TAB}${GATEWAY}${BGN}http://${IP}:8083${CL}"
 | 
				
			||||||
							
								
								
									
										85
									
								
								ct/firefly.sh
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										85
									
								
								ct/firefly.sh
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,85 @@
 | 
				
			|||||||
 | 
					#!/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: quantumryuu
 | 
				
			||||||
 | 
					# License: MIT
 | 
				
			||||||
 | 
					# https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE
 | 
				
			||||||
 | 
					# Source: https://firefly-iii.org/
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# App Default Values
 | 
				
			||||||
 | 
					APP="Firefly"
 | 
				
			||||||
 | 
					var_tags="finance"
 | 
				
			||||||
 | 
					var_cpu="1"
 | 
				
			||||||
 | 
					var_ram="1024"
 | 
				
			||||||
 | 
					var_disk="2"
 | 
				
			||||||
 | 
					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/firefly ]]; then
 | 
				
			||||||
 | 
					    msg_error "No ${APP} Installation Found!"
 | 
				
			||||||
 | 
					    exit
 | 
				
			||||||
 | 
					  fi
 | 
				
			||||||
 | 
					  RELEASE=$(curl -s https://api.github.com/repos/firefly-iii/firefly-iii/releases/latest | grep "tag_name" | awk '{print substr($2, 3, length($2)-4)}')
 | 
				
			||||||
 | 
					  if [[ ! -f /opt/${APP}_version.txt ]] || [[ "${RELEASE}" != "$(cat /opt/${APP}_version.txt)" ]]; then
 | 
				
			||||||
 | 
					    msg_info "Stopping Apache2"
 | 
				
			||||||
 | 
					    systemctl stop apache2
 | 
				
			||||||
 | 
					    msg_ok "Stopped Apache2"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    msg_info "Updating ${APP} to v${RELEASE}"
 | 
				
			||||||
 | 
					    cp /opt/firefly/.env /opt/.env
 | 
				
			||||||
 | 
					    cp -r /opt/firefly/storage /opt/storage
 | 
				
			||||||
 | 
					    rm -rf /opt/firefly/*
 | 
				
			||||||
 | 
					    cd /opt
 | 
				
			||||||
 | 
					    wget -q "https://github.com/firefly-iii/firefly-iii/releases/download/v${RELEASE}/FireflyIII-v${RELEASE}.tar.gz"
 | 
				
			||||||
 | 
					    tar -xzf FireflyIII-v${RELEASE}.tar.gz -C /opt/firefly --exclude='storage'
 | 
				
			||||||
 | 
					    cd /opt/firefly 
 | 
				
			||||||
 | 
					    composer install --no-dev --no-interaction &>/dev/null
 | 
				
			||||||
 | 
					    php artisan migrate --seed --force &>/dev/null
 | 
				
			||||||
 | 
					    php artisan firefly:decrypt-all &>/dev/null
 | 
				
			||||||
 | 
					    php artisan cache:clear &>/dev/null
 | 
				
			||||||
 | 
					    php artisan view:clear &>/dev/null
 | 
				
			||||||
 | 
					    php artisan firefly:upgrade-database &>/dev/null
 | 
				
			||||||
 | 
					    php artisan firefly:laravel-passport-keys &>/dev/null
 | 
				
			||||||
 | 
					    chown -R www-data:www-data /opt/firefly
 | 
				
			||||||
 | 
					    chmod -R 775 /opt/firefly/storage
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    echo "${RELEASE}" >"/opt/${APP}_version.txt"
 | 
				
			||||||
 | 
					    msg_ok "Updated ${APP} to v${RELEASE}"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    msg_info "Starting Apache2"
 | 
				
			||||||
 | 
					    systemctl start apache2
 | 
				
			||||||
 | 
					    msg_ok "Started Apache2"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    msg_info "Cleaning up"
 | 
				
			||||||
 | 
					    rm -rf /opt/FireflyIII-v${RELEASE}.tar.gz
 | 
				
			||||||
 | 
					    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}"
 | 
				
			||||||
@@ -1,63 +1,37 @@
 | 
				
			|||||||
#!/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 tteck
 | 
					# Copyright (c) 2021-2025 tteck
 | 
				
			||||||
# Author: tteck (tteckster)
 | 
					# Author: tteck (tteckster) | Co-Author: remz1337
 | 
				
			||||||
# Co-Author: remz1337
 | 
					# License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE
 | 
				
			||||||
# License: MIT
 | 
					# Source: https://github.com/FlareSolverr/FlareSolverr
 | 
				
			||||||
# https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE
 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
function header_info {
 | 
					# App Default Values
 | 
				
			||||||
clear
 | 
					 | 
				
			||||||
cat <<"EOF"
 | 
					 | 
				
			||||||
    ________               _____       __                    
 | 
					 | 
				
			||||||
   / ____/ /___ _________ / ___/____  / /   _____  __________
 | 
					 | 
				
			||||||
  / /_  / / __ `/ ___/ _ \\__ \/ __ \/ / | / / _ \/ ___/ ___/
 | 
					 | 
				
			||||||
 / __/ / / /_/ / /  /  __/__/ / /_/ / /| |/ /  __/ /  / /    
 | 
					 | 
				
			||||||
/_/   /_/\__,_/_/   \___/____/\____/_/ |___/\___/_/  /_/     
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
EOF
 | 
					 | 
				
			||||||
}
 | 
					 | 
				
			||||||
header_info
 | 
					 | 
				
			||||||
echo -e "Loading..."
 | 
					 | 
				
			||||||
APP="FlareSolverr"
 | 
					APP="FlareSolverr"
 | 
				
			||||||
var_disk="4"
 | 
					var_tags="proxy"
 | 
				
			||||||
var_cpu="2"
 | 
					var_cpu="2"
 | 
				
			||||||
var_ram="2048"
 | 
					var_ram="2048"
 | 
				
			||||||
 | 
					var_disk="4"
 | 
				
			||||||
var_os="debian"
 | 
					var_os="debian"
 | 
				
			||||||
var_version="12"
 | 
					var_version="12"
 | 
				
			||||||
 | 
					var_unprivileged="1"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# App Output & Base Settings
 | 
				
			||||||
 | 
					header_info "$APP"
 | 
				
			||||||
 | 
					base_settings
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# Core
 | 
				
			||||||
variables
 | 
					variables
 | 
				
			||||||
color
 | 
					color
 | 
				
			||||||
catch_errors
 | 
					catch_errors
 | 
				
			||||||
 | 
					
 | 
				
			||||||
function default_settings() {
 | 
					 | 
				
			||||||
  CT_TYPE="1"
 | 
					 | 
				
			||||||
  PW=""
 | 
					 | 
				
			||||||
  CT_ID=$NEXTID
 | 
					 | 
				
			||||||
  HN=$NSAPP
 | 
					 | 
				
			||||||
  DISK_SIZE="$var_disk"
 | 
					 | 
				
			||||||
  CORE_COUNT="$var_cpu"
 | 
					 | 
				
			||||||
  RAM_SIZE="$var_ram"
 | 
					 | 
				
			||||||
  BRG="vmbr0"
 | 
					 | 
				
			||||||
  NET="dhcp"
 | 
					 | 
				
			||||||
  GATE=""
 | 
					 | 
				
			||||||
  APT_CACHER=""
 | 
					 | 
				
			||||||
  APT_CACHER_IP=""
 | 
					 | 
				
			||||||
  DISABLEIP6="no"
 | 
					 | 
				
			||||||
  MTU=""
 | 
					 | 
				
			||||||
  SD=""
 | 
					 | 
				
			||||||
  NS=""
 | 
					 | 
				
			||||||
  MAC=""
 | 
					 | 
				
			||||||
  VLAN=""
 | 
					 | 
				
			||||||
  SSH="no"
 | 
					 | 
				
			||||||
  VERB="no"
 | 
					 | 
				
			||||||
  echo_default
 | 
					 | 
				
			||||||
}
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
function update_script() {
 | 
					function update_script() {
 | 
				
			||||||
  header_info
 | 
					  header_info
 | 
				
			||||||
  check_container_storage
 | 
					  check_container_storage
 | 
				
			||||||
  check_container_resources
 | 
					  check_container_resources
 | 
				
			||||||
  if [[ ! -f /etc/systemd/system/flaresolverr.service ]]; then msg_error "No ${APP} Installation Found!"; exit; fi
 | 
					  if [[ ! -f /etc/systemd/system/flaresolverr.service ]]; then
 | 
				
			||||||
 | 
					    msg_error "No ${APP} Installation Found!"
 | 
				
			||||||
 | 
					    exit
 | 
				
			||||||
 | 
					  fi
 | 
				
			||||||
  RELEASE=$(wget -q https://github.com/FlareSolverr/FlareSolverr/releases/latest -O - | grep "title>Release" | cut -d " " -f 4)
 | 
					  RELEASE=$(wget -q https://github.com/FlareSolverr/FlareSolverr/releases/latest -O - | grep "title>Release" | cut -d " " -f 4)
 | 
				
			||||||
  if [[ "${RELEASE}" != "$(cat /opt/${APP}_version.txt)" ]] || [[ ! -f /opt/${APP}_version.txt ]]; then
 | 
					  if [[ "${RELEASE}" != "$(cat /opt/${APP}_version.txt)" ]] || [[ ! -f /opt/${APP}_version.txt ]]; then
 | 
				
			||||||
    msg_info "Updating $APP LXC"
 | 
					    msg_info "Updating $APP LXC"
 | 
				
			||||||
@@ -79,5 +53,6 @@ build_container
 | 
				
			|||||||
description
 | 
					description
 | 
				
			||||||
 | 
					
 | 
				
			||||||
msg_ok "Completed Successfully!\n"
 | 
					msg_ok "Completed Successfully!\n"
 | 
				
			||||||
echo -e "${APP} should be reachable by going to the following URL.
 | 
					echo -e "${CREATING}${GN}${APP} setup has been successfully initialized!${CL}"
 | 
				
			||||||
         ${BL}http://${IP}:8191${CL} \n"
 | 
					echo -e "${INFO}${YW} Access it using the following URL:${CL}"
 | 
				
			||||||
 | 
					echo -e "${TAB}${GATEWAY}${BGN}http://${IP}:8191${CL}"
 | 
				
			||||||
@@ -1,68 +1,43 @@
 | 
				
			|||||||
#!/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 tteck
 | 
					# Copyright (c) 2021-2025 tteck
 | 
				
			||||||
# Author: tteck (tteckster)
 | 
					# Author: tteck (tteckster)
 | 
				
			||||||
# License: MIT
 | 
					# License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE
 | 
				
			||||||
# https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE
 | 
					# Source: https://flowiseai.com/
 | 
				
			||||||
 | 
					
 | 
				
			||||||
function header_info {
 | 
					# App Default Values
 | 
				
			||||||
clear
 | 
					 | 
				
			||||||
cat <<"EOF"
 | 
					 | 
				
			||||||
    ________              _           ___    ____
 | 
					 | 
				
			||||||
   / ____/ /___ _      __(_)_______  /   |  /  _/
 | 
					 | 
				
			||||||
  / /_  / / __ \ | /| / / / ___/ _ \/ /| |  / /
 | 
					 | 
				
			||||||
 / __/ / / /_/ / |/ |/ / (__  )  __/ ___ |_/ /
 | 
					 | 
				
			||||||
/_/   /_/\____/|__/|__/_/____/\___/_/  |_/___/
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
EOF
 | 
					 | 
				
			||||||
}
 | 
					 | 
				
			||||||
header_info
 | 
					 | 
				
			||||||
echo -e "Loading..."
 | 
					 | 
				
			||||||
APP="FlowiseAI"
 | 
					APP="FlowiseAI"
 | 
				
			||||||
 | 
					var_tags="low-code"
 | 
				
			||||||
var_disk="10"
 | 
					var_disk="10"
 | 
				
			||||||
var_cpu="4"
 | 
					var_cpu="4"
 | 
				
			||||||
var_ram="4096"
 | 
					var_ram="4096"
 | 
				
			||||||
var_os="debian"
 | 
					var_os="debian"
 | 
				
			||||||
var_version="12"
 | 
					var_version="12"
 | 
				
			||||||
 | 
					var_unprivileged="1"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# App Output & Base Settings
 | 
				
			||||||
 | 
					header_info "$APP"
 | 
				
			||||||
 | 
					base_settings
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# Core
 | 
				
			||||||
variables
 | 
					variables
 | 
				
			||||||
color
 | 
					color
 | 
				
			||||||
catch_errors
 | 
					catch_errors
 | 
				
			||||||
 | 
					
 | 
				
			||||||
function default_settings() {
 | 
					 | 
				
			||||||
  CT_TYPE="1"
 | 
					 | 
				
			||||||
  PW=""
 | 
					 | 
				
			||||||
  CT_ID=$NEXTID
 | 
					 | 
				
			||||||
  HN=$NSAPP
 | 
					 | 
				
			||||||
  DISK_SIZE="$var_disk"
 | 
					 | 
				
			||||||
  CORE_COUNT="$var_cpu"
 | 
					 | 
				
			||||||
  RAM_SIZE="$var_ram"
 | 
					 | 
				
			||||||
  BRG="vmbr0"
 | 
					 | 
				
			||||||
  NET="dhcp"
 | 
					 | 
				
			||||||
  GATE=""
 | 
					 | 
				
			||||||
  APT_CACHER=""
 | 
					 | 
				
			||||||
  APT_CACHER_IP=""
 | 
					 | 
				
			||||||
  DISABLEIP6="no"
 | 
					 | 
				
			||||||
  MTU=""
 | 
					 | 
				
			||||||
  SD=""
 | 
					 | 
				
			||||||
  NS=""
 | 
					 | 
				
			||||||
  MAC=""
 | 
					 | 
				
			||||||
  VLAN=""
 | 
					 | 
				
			||||||
  SSH="no"
 | 
					 | 
				
			||||||
  VERB="no"
 | 
					 | 
				
			||||||
  echo_default
 | 
					 | 
				
			||||||
}
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
function update_script() {
 | 
					function update_script() {
 | 
				
			||||||
header_info
 | 
					    header_info
 | 
				
			||||||
check_container_storage
 | 
					    check_container_storage
 | 
				
			||||||
check_container_resources
 | 
					    check_container_resources
 | 
				
			||||||
if [[ ! -f /etc/systemd/system/flowise.service ]]; then msg_error "No ${APP} Installation Found!"; exit; fi
 | 
					    if [[ ! -f /etc/systemd/system/flowise.service ]]; then
 | 
				
			||||||
msg_info "Updating ${APP}"
 | 
					        msg_error "No ${APP} Installation Found!"
 | 
				
			||||||
systemctl stop flowise
 | 
					        exit
 | 
				
			||||||
npm install -g flowise --upgrade
 | 
					    fi
 | 
				
			||||||
systemctl start flowise
 | 
					    msg_info "Updating ${APP}"
 | 
				
			||||||
msg_ok "Updated ${APP}"
 | 
					    systemctl stop flowise
 | 
				
			||||||
exit
 | 
					    npm install -g flowise --upgrade
 | 
				
			||||||
 | 
					    systemctl start flowise
 | 
				
			||||||
 | 
					    msg_ok "Updated ${APP}"
 | 
				
			||||||
 | 
					    exit
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
start
 | 
					start
 | 
				
			||||||
@@ -70,5 +45,6 @@ build_container
 | 
				
			|||||||
description
 | 
					description
 | 
				
			||||||
 | 
					
 | 
				
			||||||
msg_ok "Completed Successfully!\n"
 | 
					msg_ok "Completed Successfully!\n"
 | 
				
			||||||
echo -e "${APP} should be reachable by going to the following URL.
 | 
					echo -e "${CREATING}${GN}${APP} setup has been successfully initialized!${CL}"
 | 
				
			||||||
         ${BL}http://${IP}:3000${CL} \n"
 | 
					echo -e "${INFO}${YW} Access it using the following URL:${CL}"
 | 
				
			||||||
 | 
					echo -e "${TAB}${GATEWAY}${BGN}http://${IP}:3000${CL}"
 | 
				
			||||||
							
								
								
									
										109
									
								
								ct/forgejo.sh
									
									
									
									
									
								
							
							
						
						
									
										109
									
								
								ct/forgejo.sh
									
									
									
									
									
								
							@@ -1,85 +1,59 @@
 | 
				
			|||||||
#!/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 tteck
 | 
					# Copyright (c) 2021-2025 tteck
 | 
				
			||||||
# Author: tteck (tteckster)
 | 
					# Author: tteck (tteckster)
 | 
				
			||||||
# License: MIT
 | 
					# License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE
 | 
				
			||||||
# https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE
 | 
					# Source: https://forgejo.org/
 | 
				
			||||||
 | 
					
 | 
				
			||||||
function header_info {
 | 
					# App Default Values
 | 
				
			||||||
  clear
 | 
					 | 
				
			||||||
  cat <<"EOF"
 | 
					 | 
				
			||||||
    ______                        _     
 | 
					 | 
				
			||||||
   / ____/___  _________  ___    (_)___ 
 | 
					 | 
				
			||||||
  / /_  / __ \/ ___/ __ `/ _ \  / / __ \
 | 
					 | 
				
			||||||
 / __/ / /_/ / /  / /_/ /  __/ / / /_/ /
 | 
					 | 
				
			||||||
/_/    \____/_/   \__, /\___/_/ /\____/ 
 | 
					 | 
				
			||||||
                 /____/    /___/        
 | 
					 | 
				
			||||||
 
 | 
					 | 
				
			||||||
EOF
 | 
					 | 
				
			||||||
}
 | 
					 | 
				
			||||||
header_info
 | 
					 | 
				
			||||||
echo -e "Loading..."
 | 
					 | 
				
			||||||
APP="Forgejo"
 | 
					APP="Forgejo"
 | 
				
			||||||
var_disk="10"
 | 
					var_tags="git"
 | 
				
			||||||
var_cpu="2"
 | 
					var_cpu="2"
 | 
				
			||||||
var_ram="2048"
 | 
					var_ram="2048"
 | 
				
			||||||
 | 
					var_disk="10"
 | 
				
			||||||
var_os="debian"
 | 
					var_os="debian"
 | 
				
			||||||
var_version="12"
 | 
					var_version="12"
 | 
				
			||||||
 | 
					var_unprivileged="1"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# App Output & Base Settings
 | 
				
			||||||
 | 
					header_info "$APP"
 | 
				
			||||||
 | 
					base_settings
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# Core
 | 
				
			||||||
variables
 | 
					variables
 | 
				
			||||||
color
 | 
					color
 | 
				
			||||||
catch_errors
 | 
					catch_errors
 | 
				
			||||||
 | 
					
 | 
				
			||||||
function default_settings() {
 | 
					 | 
				
			||||||
  CT_TYPE="1"
 | 
					 | 
				
			||||||
  PW=""
 | 
					 | 
				
			||||||
  CT_ID=$NEXTID
 | 
					 | 
				
			||||||
  HN=$NSAPP
 | 
					 | 
				
			||||||
  DISK_SIZE="$var_disk"
 | 
					 | 
				
			||||||
  CORE_COUNT="$var_cpu"
 | 
					 | 
				
			||||||
  RAM_SIZE="$var_ram"
 | 
					 | 
				
			||||||
  BRG="vmbr0"
 | 
					 | 
				
			||||||
  NET="dhcp"
 | 
					 | 
				
			||||||
  GATE=""
 | 
					 | 
				
			||||||
  APT_CACHER=""
 | 
					 | 
				
			||||||
  APT_CACHER_IP=""
 | 
					 | 
				
			||||||
  DISABLEIP6="no"
 | 
					 | 
				
			||||||
  MTU=""
 | 
					 | 
				
			||||||
  SD=""
 | 
					 | 
				
			||||||
  NS=""
 | 
					 | 
				
			||||||
  MAC=""
 | 
					 | 
				
			||||||
  VLAN=""
 | 
					 | 
				
			||||||
  SSH="no"
 | 
					 | 
				
			||||||
  VERB="no"
 | 
					 | 
				
			||||||
  echo_default
 | 
					 | 
				
			||||||
}
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
function update_script() {
 | 
					function update_script() {
 | 
				
			||||||
header_info
 | 
					  header_info
 | 
				
			||||||
check_container_storage
 | 
					  check_container_storage
 | 
				
			||||||
check_container_resources
 | 
					  check_container_resources
 | 
				
			||||||
if [[ ! -d /opt/forgejo ]]; then msg_error "No ${APP} Installation Found!"; exit; fi
 | 
					  if [[ ! -d /opt/forgejo ]]; then
 | 
				
			||||||
msg_info "Stopping ${APP}"
 | 
					    msg_error "No ${APP} Installation Found!"
 | 
				
			||||||
systemctl stop forgejo
 | 
					    exit
 | 
				
			||||||
msg_ok "Stopped ${APP}"
 | 
					  fi
 | 
				
			||||||
 | 
					  msg_info "Stopping ${APP}"
 | 
				
			||||||
 | 
					  systemctl stop forgejo
 | 
				
			||||||
 | 
					  msg_ok "Stopped ${APP}"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
msg_info "Updating ${APP}"
 | 
					  msg_info "Updating ${APP}"
 | 
				
			||||||
RELEASE=$(curl -s https://codeberg.org/api/v1/repos/forgejo/forgejo/releases/latest | grep -oP '"tag_name":\s*"\K[^"]+' | sed 's/^v//')
 | 
					  RELEASE=$(curl -s https://codeberg.org/api/v1/repos/forgejo/forgejo/releases/latest | grep -oP '"tag_name":\s*"\K[^"]+' | sed 's/^v//')
 | 
				
			||||||
wget -qO forgejo-$RELEASE-linux-amd64 "https://codeberg.org/forgejo/forgejo/releases/download/v${RELEASE}/forgejo-${RELEASE}-linux-amd64"
 | 
					  wget -qO forgejo-$RELEASE-linux-amd64 "https://codeberg.org/forgejo/forgejo/releases/download/v${RELEASE}/forgejo-${RELEASE}-linux-amd64"
 | 
				
			||||||
rm -rf /opt/forgejo/*
 | 
					  rm -rf /opt/forgejo/*
 | 
				
			||||||
cp -r forgejo-$RELEASE-linux-amd64 /opt/forgejo/forgejo-$RELEASE-linux-amd64
 | 
					  cp -r forgejo-$RELEASE-linux-amd64 /opt/forgejo/forgejo-$RELEASE-linux-amd64
 | 
				
			||||||
chmod +x /opt/forgejo/forgejo-$RELEASE-linux-amd64
 | 
					  chmod +x /opt/forgejo/forgejo-$RELEASE-linux-amd64
 | 
				
			||||||
ln -sf /opt/forgejo/forgejo-$RELEASE-linux-amd64 /usr/local/bin/forgejo
 | 
					  ln -sf /opt/forgejo/forgejo-$RELEASE-linux-amd64 /usr/local/bin/forgejo
 | 
				
			||||||
msg_ok "Updated ${APP}"
 | 
					  msg_ok "Updated ${APP}"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
msg_info "Cleaning"
 | 
					  msg_info "Cleaning"
 | 
				
			||||||
rm -rf forgejo-$RELEASE-linux-amd64
 | 
					  rm -rf forgejo-$RELEASE-linux-amd64
 | 
				
			||||||
msg_ok "Cleaned"
 | 
					  msg_ok "Cleaned"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
msg_info "Starting ${APP}"
 | 
					  msg_info "Starting ${APP}"
 | 
				
			||||||
systemctl start forgejo
 | 
					  systemctl start forgejo
 | 
				
			||||||
msg_ok "Started ${APP}"
 | 
					  msg_ok "Started ${APP}"
 | 
				
			||||||
msg_ok "Updated Successfully"
 | 
					  msg_ok "Updated Successfully"
 | 
				
			||||||
exit
 | 
					  exit
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
start
 | 
					start
 | 
				
			||||||
@@ -87,5 +61,6 @@ build_container
 | 
				
			|||||||
description
 | 
					description
 | 
				
			||||||
 | 
					
 | 
				
			||||||
msg_ok "Completed Successfully!\n"
 | 
					msg_ok "Completed Successfully!\n"
 | 
				
			||||||
echo -e "${APP} should be reachable by going to the following URL.
 | 
					echo -e "${CREATING}${GN}${APP} setup has been successfully initialized!${CL}"
 | 
				
			||||||
         ${BL}http://${IP}:3000${CL} \n"
 | 
					echo -e "${INFO}${YW} Access it using the following URL:${CL}"
 | 
				
			||||||
 | 
					echo -e "${TAB}${GATEWAY}${BGN}http://${IP}:3000${CL}"
 | 
				
			||||||
@@ -1,65 +1,39 @@
 | 
				
			|||||||
#!/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 tteck
 | 
					# Copyright (c) 2021-2025 tteck
 | 
				
			||||||
# Authors: tteck (tteckster)
 | 
					# Authors: tteck (tteckster)
 | 
				
			||||||
# License: MIT
 | 
					# License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE
 | 
				
			||||||
# https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE
 | 
					# Source: https://frigate.video/
 | 
				
			||||||
 | 
					
 | 
				
			||||||
function header_info {
 | 
					# App Default Values
 | 
				
			||||||
  clear
 | 
					 | 
				
			||||||
  cat <<"EOF"
 | 
					 | 
				
			||||||
    ______     _             __
 | 
					 | 
				
			||||||
   / ____/____(_)___ _____ _/ /____
 | 
					 | 
				
			||||||
  / /_  / ___/ / __ `/ __ `/ __/ _ \
 | 
					 | 
				
			||||||
 / __/ / /  / / /_/ / /_/ / /_/  __/
 | 
					 | 
				
			||||||
/_/   /_/  /_/\__, /\__,_/\__/\___/
 | 
					 | 
				
			||||||
             /____/
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
EOF
 | 
					 | 
				
			||||||
}
 | 
					 | 
				
			||||||
header_info
 | 
					 | 
				
			||||||
echo -e "Loading..."
 | 
					 | 
				
			||||||
APP="Frigate"
 | 
					APP="Frigate"
 | 
				
			||||||
var_disk="20"
 | 
					var_tags="nvr"
 | 
				
			||||||
var_cpu="4"
 | 
					var_cpu="4"
 | 
				
			||||||
var_ram="4096"
 | 
					var_ram="4096"
 | 
				
			||||||
 | 
					var_disk="20"
 | 
				
			||||||
var_os="debian"
 | 
					var_os="debian"
 | 
				
			||||||
var_version="11"
 | 
					var_version="11"
 | 
				
			||||||
 | 
					var_unprivileged="0"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# App Output & Base Settings
 | 
				
			||||||
 | 
					header_info "$APP"
 | 
				
			||||||
 | 
					base_settings
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# Core
 | 
				
			||||||
variables
 | 
					variables
 | 
				
			||||||
color
 | 
					color
 | 
				
			||||||
catch_errors
 | 
					catch_errors
 | 
				
			||||||
 | 
					
 | 
				
			||||||
function default_settings() {
 | 
					 | 
				
			||||||
  CT_TYPE="0"
 | 
					 | 
				
			||||||
  PW=""
 | 
					 | 
				
			||||||
  CT_ID=$NEXTID
 | 
					 | 
				
			||||||
  HN=$NSAPP
 | 
					 | 
				
			||||||
  DISK_SIZE="$var_disk"
 | 
					 | 
				
			||||||
  CORE_COUNT="$var_cpu"
 | 
					 | 
				
			||||||
  RAM_SIZE="$var_ram"
 | 
					 | 
				
			||||||
  BRG="vmbr0"
 | 
					 | 
				
			||||||
  NET="dhcp"
 | 
					 | 
				
			||||||
  GATE=""
 | 
					 | 
				
			||||||
  APT_CACHER=""
 | 
					 | 
				
			||||||
  APT_CACHER_IP=""
 | 
					 | 
				
			||||||
  DISABLEIP6="no"
 | 
					 | 
				
			||||||
  MTU=""
 | 
					 | 
				
			||||||
  SD=""
 | 
					 | 
				
			||||||
  NS=""
 | 
					 | 
				
			||||||
  MAC=""
 | 
					 | 
				
			||||||
  VLAN=""
 | 
					 | 
				
			||||||
  SSH="no"
 | 
					 | 
				
			||||||
  VERB="no"
 | 
					 | 
				
			||||||
  echo_default
 | 
					 | 
				
			||||||
}
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
function update_script() {
 | 
					function update_script() {
 | 
				
			||||||
  header_info
 | 
					  header_info
 | 
				
			||||||
  check_container_storage
 | 
					  check_container_storage
 | 
				
			||||||
  check_container_resources
 | 
					  check_container_resources
 | 
				
			||||||
  if [[ ! -f /etc/systemd/system/frigate.service ]]; then msg_error "No ${APP} Installation Found!"; exit; fi
 | 
					  if [[ ! -f /etc/systemd/system/frigate.service ]]; then
 | 
				
			||||||
 | 
					    msg_error "No ${APP} Installation Found!"
 | 
				
			||||||
 | 
					    exit
 | 
				
			||||||
 | 
					  fi
 | 
				
			||||||
  msg_error "To update Frigate, create a new container and transfer your configuration."
 | 
					  msg_error "To update Frigate, create a new container and transfer your configuration."
 | 
				
			||||||
  exit  
 | 
					  exit
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
start
 | 
					start
 | 
				
			||||||
@@ -67,7 +41,6 @@ build_container
 | 
				
			|||||||
description
 | 
					description
 | 
				
			||||||
 | 
					
 | 
				
			||||||
msg_ok "Completed Successfully!\n"
 | 
					msg_ok "Completed Successfully!\n"
 | 
				
			||||||
echo -e "${APP} should be reachable by going to the following URL.
 | 
					echo -e "${CREATING}${GN}${APP} setup has been successfully initialized!${CL}"
 | 
				
			||||||
         ${BL}http://${IP}:5000${CL} \n"
 | 
					echo -e "${INFO}${YW} Access it using the following URL:${CL}"
 | 
				
			||||||
echo -e "go2rtc should be reachable by going to the following URL.
 | 
					echo -e "${TAB}${GATEWAY}${BGN}http://${IP}:5000${CL}"
 | 
				
			||||||
         ${BL}http://${IP}:1984${CL} \n"
 | 
					 | 
				
			||||||
							
								
								
									
										93
									
								
								ct/gitea.sh
									
									
									
									
									
								
							
							
						
						
									
										93
									
								
								ct/gitea.sh
									
									
									
									
									
								
							@@ -1,73 +1,47 @@
 | 
				
			|||||||
#!/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 tteck
 | 
					# Copyright (c) 2021-2025 tteck
 | 
				
			||||||
# Author: tteck (tteckster)
 | 
					# Author: tteck (tteckster) | Co-Author: Rogue-King
 | 
				
			||||||
# Co-author: Rogue-King
 | 
					# License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE
 | 
				
			||||||
# License: MIT
 | 
					# Source: https://about.gitea.com/
 | 
				
			||||||
# https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE
 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
function header_info {
 | 
					# App Default Values
 | 
				
			||||||
clear
 | 
					 | 
				
			||||||
cat <<"EOF"
 | 
					 | 
				
			||||||
   ______ _  __
 | 
					 | 
				
			||||||
  / ____/(_)/ /____  ____ _
 | 
					 | 
				
			||||||
 / / __// // __/ _ \/ __  /
 | 
					 | 
				
			||||||
/ /_/ // // /_/  __/ /_/ /
 | 
					 | 
				
			||||||
\____//_/ \__/\___/\__,_/
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
EOF
 | 
					 | 
				
			||||||
}
 | 
					 | 
				
			||||||
header_info
 | 
					 | 
				
			||||||
echo -e "Loading..."
 | 
					 | 
				
			||||||
APP="Gitea"
 | 
					APP="Gitea"
 | 
				
			||||||
var_disk="8"
 | 
					var_tags="git"
 | 
				
			||||||
var_cpu="1"
 | 
					var_cpu="1"
 | 
				
			||||||
var_ram="1024"
 | 
					var_ram="1024"
 | 
				
			||||||
 | 
					var_disk="8"
 | 
				
			||||||
var_os="debian"
 | 
					var_os="debian"
 | 
				
			||||||
var_version="12"
 | 
					var_version="12"
 | 
				
			||||||
 | 
					var_unprivileged="1"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# App Output & Base Settings
 | 
				
			||||||
 | 
					header_info "$APP"
 | 
				
			||||||
 | 
					base_settings
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# Core
 | 
				
			||||||
variables
 | 
					variables
 | 
				
			||||||
color
 | 
					color
 | 
				
			||||||
catch_errors
 | 
					catch_errors
 | 
				
			||||||
 | 
					
 | 
				
			||||||
function default_settings() {
 | 
					 | 
				
			||||||
  CT_TYPE="1"
 | 
					 | 
				
			||||||
  PW=""
 | 
					 | 
				
			||||||
  CT_ID=$NEXTID
 | 
					 | 
				
			||||||
  HN=$NSAPP
 | 
					 | 
				
			||||||
  DISK_SIZE="$var_disk"
 | 
					 | 
				
			||||||
  CORE_COUNT="$var_cpu"
 | 
					 | 
				
			||||||
  RAM_SIZE="$var_ram"
 | 
					 | 
				
			||||||
  BRG="vmbr0"
 | 
					 | 
				
			||||||
  NET="dhcp"
 | 
					 | 
				
			||||||
  GATE=""
 | 
					 | 
				
			||||||
  APT_CACHER=""
 | 
					 | 
				
			||||||
  APT_CACHER_IP=""
 | 
					 | 
				
			||||||
  DISABLEIP6="no"
 | 
					 | 
				
			||||||
  MTU=""
 | 
					 | 
				
			||||||
  SD=""
 | 
					 | 
				
			||||||
  NS=""
 | 
					 | 
				
			||||||
  MAC=""
 | 
					 | 
				
			||||||
  VLAN=""
 | 
					 | 
				
			||||||
  SSH="no"
 | 
					 | 
				
			||||||
  VERB="no"
 | 
					 | 
				
			||||||
  echo_default
 | 
					 | 
				
			||||||
}
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
function update_script() {
 | 
					function update_script() {
 | 
				
			||||||
header_info
 | 
					   header_info
 | 
				
			||||||
check_container_storage
 | 
					   check_container_storage
 | 
				
			||||||
check_container_resources
 | 
					   check_container_resources
 | 
				
			||||||
if [[  ! -f /usr/local/bin/gitea ]]; then msg_error "No ${APP} Installation Found!"; exit; fi
 | 
					   if [[ ! -f /usr/local/bin/gitea ]]; then
 | 
				
			||||||
RELEASE=$(wget -q https://github.com/go-gitea/gitea/releases/latest -O - | grep "title>Release" | cut -d " " -f 4 | sed 's/^v//')
 | 
					      msg_error "No ${APP} Installation Found!"
 | 
				
			||||||
msg_info "Updating $APP to ${RELEASE}"
 | 
					      exit
 | 
				
			||||||
wget -q https://github.com/go-gitea/gitea/releases/download/v$RELEASE/gitea-$RELEASE-linux-amd64
 | 
					   fi
 | 
				
			||||||
systemctl stop gitea
 | 
					   RELEASE=$(wget -q https://github.com/go-gitea/gitea/releases/latest -O - | grep "title>Release" | cut -d " " -f 4 | sed 's/^v//')
 | 
				
			||||||
rm -rf /usr/local/bin/gitea 
 | 
					   msg_info "Updating $APP to ${RELEASE}"
 | 
				
			||||||
mv gitea* /usr/local/bin/gitea
 | 
					   wget -q https://github.com/go-gitea/gitea/releases/download/v$RELEASE/gitea-$RELEASE-linux-amd64
 | 
				
			||||||
chmod +x /usr/local/bin/gitea
 | 
					   systemctl stop gitea
 | 
				
			||||||
systemctl start gitea
 | 
					   rm -rf /usr/local/bin/gitea
 | 
				
			||||||
msg_ok "Updated $APP Successfully"
 | 
					   mv gitea* /usr/local/bin/gitea
 | 
				
			||||||
exit
 | 
					   chmod +x /usr/local/bin/gitea
 | 
				
			||||||
 | 
					   systemctl start gitea
 | 
				
			||||||
 | 
					   msg_ok "Updated $APP Successfully"
 | 
				
			||||||
 | 
					   exit
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
start
 | 
					start
 | 
				
			||||||
@@ -75,5 +49,6 @@ build_container
 | 
				
			|||||||
description
 | 
					description
 | 
				
			||||||
 | 
					
 | 
				
			||||||
msg_ok "Completed Successfully!\n"
 | 
					msg_ok "Completed Successfully!\n"
 | 
				
			||||||
echo -e "${APP} should be reachable by going to the following URL.
 | 
					echo -e "${CREATING}${GN}${APP} setup has been successfully initialized!${CL}"
 | 
				
			||||||
         ${BL}http://${IP}:3000${CL} \n"
 | 
					echo -e "${INFO}${YW} Access it using the following URL:${CL}"
 | 
				
			||||||
 | 
					echo -e "${TAB}${GATEWAY}${BGN}http://${IP}:3000${CL}"
 | 
				
			||||||
							
								
								
									
										69
									
								
								ct/glance.sh
									
									
									
									
									
								
							
							
						
						
									
										69
									
								
								ct/glance.sh
									
									
									
									
									
								
							@@ -1,68 +1,40 @@
 | 
				
			|||||||
#!/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: kristocopani
 | 
					# Author: kristocopani
 | 
				
			||||||
# License: MIT
 | 
					# License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE
 | 
				
			||||||
# https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE
 | 
					# Source: https://github.com/glanceapp/glance
 | 
				
			||||||
 | 
					
 | 
				
			||||||
function header_info {
 | 
					# App Default Values
 | 
				
			||||||
clear
 | 
					 | 
				
			||||||
cat <<"EOF"
 | 
					 | 
				
			||||||
   ________                    
 | 
					 | 
				
			||||||
  / ____/ /___ _____  ________ 
 | 
					 | 
				
			||||||
 / / __/ / __ `/ __ \/ ___/ _ \
 | 
					 | 
				
			||||||
/ /_/ / / /_/ / / / / /__/  __/
 | 
					 | 
				
			||||||
\____/_/\__,_/_/ /_/\___/\___/ 
 | 
					 | 
				
			||||||
                               
 | 
					 | 
				
			||||||
EOF
 | 
					 | 
				
			||||||
}
 | 
					 | 
				
			||||||
header_info
 | 
					 | 
				
			||||||
echo -e "Loading..."
 | 
					 | 
				
			||||||
APP="Glance"
 | 
					APP="Glance"
 | 
				
			||||||
var_disk="2"
 | 
					var_tags="dashboard"
 | 
				
			||||||
var_cpu="1"
 | 
					var_cpu="1"
 | 
				
			||||||
var_ram="512"
 | 
					var_ram="512"
 | 
				
			||||||
 | 
					var_disk="2"
 | 
				
			||||||
var_os="debian"
 | 
					var_os="debian"
 | 
				
			||||||
var_version="12"
 | 
					var_version="12"
 | 
				
			||||||
 | 
					var_unprivileged="1"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# App Output & Base Settings
 | 
				
			||||||
 | 
					header_info "$APP"
 | 
				
			||||||
 | 
					base_settings
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# Core
 | 
				
			||||||
variables
 | 
					variables
 | 
				
			||||||
color
 | 
					color
 | 
				
			||||||
catch_errors
 | 
					catch_errors
 | 
				
			||||||
 | 
					
 | 
				
			||||||
function default_settings() {
 | 
					 | 
				
			||||||
  CT_TYPE="1"
 | 
					 | 
				
			||||||
  PW=""
 | 
					 | 
				
			||||||
  CT_ID=$NEXTID
 | 
					 | 
				
			||||||
  HN=$NSAPP
 | 
					 | 
				
			||||||
  DISK_SIZE="$var_disk"
 | 
					 | 
				
			||||||
  CORE_COUNT="$var_cpu"
 | 
					 | 
				
			||||||
  RAM_SIZE="$var_ram"
 | 
					 | 
				
			||||||
  BRG="vmbr0"
 | 
					 | 
				
			||||||
  NET="dhcp"
 | 
					 | 
				
			||||||
  GATE=""
 | 
					 | 
				
			||||||
  APT_CACHER=""
 | 
					 | 
				
			||||||
  APT_CACHER_IP=""
 | 
					 | 
				
			||||||
  DISABLEIP6="no"
 | 
					 | 
				
			||||||
  MTU=""
 | 
					 | 
				
			||||||
  SD=""
 | 
					 | 
				
			||||||
  NS=""
 | 
					 | 
				
			||||||
  MAC=""
 | 
					 | 
				
			||||||
  VLAN=""
 | 
					 | 
				
			||||||
  SSH="no"
 | 
					 | 
				
			||||||
  VERB="no"
 | 
					 | 
				
			||||||
  echo_default
 | 
					 | 
				
			||||||
}
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
function update_script() {
 | 
					function update_script() {
 | 
				
			||||||
header_info
 | 
					  header_info
 | 
				
			||||||
check_container_storage
 | 
					  check_container_storage
 | 
				
			||||||
check_container_resources
 | 
					  check_container_resources
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  if [[ ! -f /etc/systemd/system/glance.service ]]; then
 | 
					  if [[ ! -f /etc/systemd/system/glance.service ]]; then
 | 
				
			||||||
    msg_error "No ${APP} Installation Found!"
 | 
					    msg_error "No ${APP} Installation Found!"
 | 
				
			||||||
    exit
 | 
					    exit
 | 
				
			||||||
  fi
 | 
					  fi
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    RELEASE=$(curl -s https://api.github.com/repos/glanceapp/glance/releases/latest | grep "tag_name" | awk '{print substr($2, 3, length($2)-4) }')
 | 
					  RELEASE=$(curl -s https://api.github.com/repos/glanceapp/glance/releases/latest | grep "tag_name" | awk '{print substr($2, 3, length($2)-4) }')
 | 
				
			||||||
  if [[ ! -f /opt/${APP}_version.txt ]] || [[ "${RELEASE}" != "$(cat /opt/${APP}_version.txt)" ]]; then
 | 
					  if [[ ! -f /opt/${APP}_version.txt ]] || [[ "${RELEASE}" != "$(cat /opt/${APP}_version.txt)" ]]; then
 | 
				
			||||||
    msg_info "Stopping Service"
 | 
					    msg_info "Stopping Service"
 | 
				
			||||||
    systemctl stop glance
 | 
					    systemctl stop glance
 | 
				
			||||||
@@ -70,7 +42,7 @@ check_container_resources
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
    msg_info "Updating ${APP} to v${RELEASE}"
 | 
					    msg_info "Updating ${APP} to v${RELEASE}"
 | 
				
			||||||
    cd /opt
 | 
					    cd /opt
 | 
				
			||||||
    wget -q https://github.com/glanceapp/glance/releases/download/v${RELEASE}/glance-linux-amd64.tar.gz 
 | 
					    wget -q https://github.com/glanceapp/glance/releases/download/v${RELEASE}/glance-linux-amd64.tar.gz
 | 
				
			||||||
    rm -rf /opt/glance/glance
 | 
					    rm -rf /opt/glance/glance
 | 
				
			||||||
    tar -xzf glance-linux-amd64.tar.gz -C /opt/glance
 | 
					    tar -xzf glance-linux-amd64.tar.gz -C /opt/glance
 | 
				
			||||||
    echo "${RELEASE}" >"/opt/${APP}_version.txt"
 | 
					    echo "${RELEASE}" >"/opt/${APP}_version.txt"
 | 
				
			||||||
@@ -95,5 +67,6 @@ build_container
 | 
				
			|||||||
description
 | 
					description
 | 
				
			||||||
 | 
					
 | 
				
			||||||
msg_ok "Completed Successfully!\n"
 | 
					msg_ok "Completed Successfully!\n"
 | 
				
			||||||
echo -e "${APP} should be reachable by going to the following URL.
 | 
					echo -e "${CREATING}${GN}${APP} setup has been successfully initialized!${CL}"
 | 
				
			||||||
         ${BL}http://${IP}:8080${CL} \n"
 | 
					echo -e "${INFO}${YW} Access it using the following URL:${CL}"
 | 
				
			||||||
 | 
					echo -e "${TAB}${GATEWAY}${BGN}http://${IP}:8080${CL}"
 | 
				
			||||||
							
								
								
									
										89
									
								
								ct/go2rtc.sh
									
									
									
									
									
								
							
							
						
						
									
										89
									
								
								ct/go2rtc.sh
									
									
									
									
									
								
							@@ -1,72 +1,46 @@
 | 
				
			|||||||
#!/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 tteck
 | 
					# Copyright (c) 2021-2025 tteck
 | 
				
			||||||
# Author: tteck (tteckster)
 | 
					# Author: tteck (tteckster)
 | 
				
			||||||
# License: MIT
 | 
					# License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE
 | 
				
			||||||
# https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE
 | 
					# Source: https://github.com/AlexxIT/go2rtc
 | 
				
			||||||
 | 
					
 | 
				
			||||||
function header_info {
 | 
					# App Default Values
 | 
				
			||||||
clear
 | 
					 | 
				
			||||||
cat <<"EOF"
 | 
					 | 
				
			||||||
               ___        __      
 | 
					 | 
				
			||||||
   ____ _____ |__ \ _____/ /______
 | 
					 | 
				
			||||||
  / __ `/ __ \__/ // ___/ __/ ___/
 | 
					 | 
				
			||||||
 / /_/ / /_/ / __// /  / /_/ /__  
 | 
					 | 
				
			||||||
 \__, /\____/____/_/   \__/\___/  
 | 
					 | 
				
			||||||
/____/                            
 | 
					 | 
				
			||||||
 
 | 
					 | 
				
			||||||
EOF
 | 
					 | 
				
			||||||
}
 | 
					 | 
				
			||||||
header_info
 | 
					 | 
				
			||||||
echo -e "Loading..."
 | 
					 | 
				
			||||||
APP="go2rtc"
 | 
					APP="go2rtc"
 | 
				
			||||||
var_disk="4"
 | 
					var_tags="recorder;video"
 | 
				
			||||||
var_cpu="2"
 | 
					var_cpu="2"
 | 
				
			||||||
var_ram="2048"
 | 
					var_ram="2048"
 | 
				
			||||||
 | 
					var_disk="4"
 | 
				
			||||||
var_os="debian"
 | 
					var_os="debian"
 | 
				
			||||||
var_version="12"
 | 
					var_version="12"
 | 
				
			||||||
 | 
					var_unprivileged="1"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# App Output & Base Settings
 | 
				
			||||||
 | 
					header_info "$APP"
 | 
				
			||||||
 | 
					base_settings
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# Core
 | 
				
			||||||
variables
 | 
					variables
 | 
				
			||||||
color
 | 
					color
 | 
				
			||||||
catch_errors
 | 
					catch_errors
 | 
				
			||||||
 | 
					
 | 
				
			||||||
function default_settings() {
 | 
					 | 
				
			||||||
  CT_TYPE="1"
 | 
					 | 
				
			||||||
  PW=""
 | 
					 | 
				
			||||||
  CT_ID=$NEXTID
 | 
					 | 
				
			||||||
  HN=$NSAPP
 | 
					 | 
				
			||||||
  DISK_SIZE="$var_disk"
 | 
					 | 
				
			||||||
  CORE_COUNT="$var_cpu"
 | 
					 | 
				
			||||||
  RAM_SIZE="$var_ram"
 | 
					 | 
				
			||||||
  BRG="vmbr0"
 | 
					 | 
				
			||||||
  NET="dhcp"
 | 
					 | 
				
			||||||
  GATE=""
 | 
					 | 
				
			||||||
  APT_CACHER=""
 | 
					 | 
				
			||||||
  APT_CACHER_IP=""
 | 
					 | 
				
			||||||
  DISABLEIP6="no"
 | 
					 | 
				
			||||||
  MTU=""
 | 
					 | 
				
			||||||
  SD=""
 | 
					 | 
				
			||||||
  NS=""
 | 
					 | 
				
			||||||
  MAC=""
 | 
					 | 
				
			||||||
  VLAN=""
 | 
					 | 
				
			||||||
  SSH="no"
 | 
					 | 
				
			||||||
  VERB="no"
 | 
					 | 
				
			||||||
  echo_default
 | 
					 | 
				
			||||||
}
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
function update_script() {
 | 
					function update_script() {
 | 
				
			||||||
header_info
 | 
					    header_info
 | 
				
			||||||
check_container_storage
 | 
					    check_container_storage
 | 
				
			||||||
check_container_resources
 | 
					    check_container_resources
 | 
				
			||||||
if [[ ! -d /opt/go2rtc ]]; then msg_error "No ${APP} Installation Found!"; exit; fi
 | 
					    if [[ ! -d /opt/go2rtc ]]; then
 | 
				
			||||||
msg_info "Updating $APP"
 | 
					        msg_error "No ${APP} Installation Found!"
 | 
				
			||||||
systemctl stop go2rtc
 | 
					        exit
 | 
				
			||||||
cd /opt/go2rtc
 | 
					    fi
 | 
				
			||||||
rm go2rtc_linux_amd64
 | 
					    msg_info "Updating $APP"
 | 
				
			||||||
wget -q https://github.com/AlexxIT/go2rtc/releases/latest/download/go2rtc_linux_amd64
 | 
					    systemctl stop go2rtc
 | 
				
			||||||
chmod +x go2rtc_linux_amd64
 | 
					    cd /opt/go2rtc
 | 
				
			||||||
systemctl start go2rtc
 | 
					    rm go2rtc_linux_amd64
 | 
				
			||||||
msg_ok "Updated $APP"
 | 
					    wget -q https://github.com/AlexxIT/go2rtc/releases/latest/download/go2rtc_linux_amd64
 | 
				
			||||||
exit
 | 
					    chmod +x go2rtc_linux_amd64
 | 
				
			||||||
 | 
					    systemctl start go2rtc
 | 
				
			||||||
 | 
					    msg_ok "Updated $APP"
 | 
				
			||||||
 | 
					    exit
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
start
 | 
					start
 | 
				
			||||||
@@ -74,5 +48,6 @@ build_container
 | 
				
			|||||||
description
 | 
					description
 | 
				
			||||||
 | 
					
 | 
				
			||||||
msg_ok "Completed Successfully!\n"
 | 
					msg_ok "Completed Successfully!\n"
 | 
				
			||||||
echo -e "${APP} should be reachable by going to the following URL.
 | 
					echo -e "${CREATING}${GN}${APP} setup has been successfully initialized!${CL}"
 | 
				
			||||||
         ${BL}http://${IP}:1984${CL} \n"
 | 
					echo -e "${INFO}${YW} Access it using the following URL:${CL}"
 | 
				
			||||||
 | 
					echo -e "${TAB}${GATEWAY}${BGN}http://${IP}:1984${CL}"
 | 
				
			||||||
							
								
								
									
										74
									
								
								ct/gokapi.sh
									
									
									
									
									
								
							
							
						
						
									
										74
									
								
								ct/gokapi.sh
									
									
									
									
									
								
							@@ -1,64 +1,39 @@
 | 
				
			|||||||
#!/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 tteck
 | 
					# Copyright (c) 2021-2025 tteck
 | 
				
			||||||
# Author: tteck (tteckster)
 | 
					# Author: tteck (tteckster)
 | 
				
			||||||
# License: MIT
 | 
					# License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE
 | 
				
			||||||
# https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE
 | 
					# Source: https://github.com/Forceu/Gokapi
 | 
				
			||||||
 | 
					
 | 
				
			||||||
function header_info {
 | 
					# App Default Values
 | 
				
			||||||
clear
 | 
					 | 
				
			||||||
cat <<"EOF"
 | 
					 | 
				
			||||||
   ______      __               _
 | 
					 | 
				
			||||||
  / ____/___  / /______ _____  (_)
 | 
					 | 
				
			||||||
 / / __/ __ \/ //_/ __ `/ __ \/ /
 | 
					 | 
				
			||||||
/ /_/ / /_/ / ,< / /_/ / /_/ / /
 | 
					 | 
				
			||||||
\____/\____/_/|_|\__,_/ .___/_/
 | 
					 | 
				
			||||||
                     /_/
 | 
					 | 
				
			||||||
EOF
 | 
					 | 
				
			||||||
}
 | 
					 | 
				
			||||||
header_info
 | 
					 | 
				
			||||||
echo -e "Loading..."
 | 
					 | 
				
			||||||
APP="Gokapi"
 | 
					APP="Gokapi"
 | 
				
			||||||
var_disk="4"
 | 
					var_tags="file;sharing"
 | 
				
			||||||
var_cpu="1"
 | 
					var_cpu="1"
 | 
				
			||||||
var_ram="512"
 | 
					var_ram="512"
 | 
				
			||||||
 | 
					var_disk="4"
 | 
				
			||||||
var_os="debian"
 | 
					var_os="debian"
 | 
				
			||||||
var_version="12"
 | 
					var_version="12"
 | 
				
			||||||
 | 
					var_unprivileged="1"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# App Output & Base Settings
 | 
				
			||||||
 | 
					header_info "$APP"
 | 
				
			||||||
 | 
					base_settings
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# Core
 | 
				
			||||||
variables
 | 
					variables
 | 
				
			||||||
color
 | 
					color
 | 
				
			||||||
catch_errors
 | 
					catch_errors
 | 
				
			||||||
 | 
					
 | 
				
			||||||
function default_settings() {
 | 
					 | 
				
			||||||
  CT_TYPE="1"
 | 
					 | 
				
			||||||
  PW=""
 | 
					 | 
				
			||||||
  CT_ID=$NEXTID
 | 
					 | 
				
			||||||
  HN=$NSAPP
 | 
					 | 
				
			||||||
  DISK_SIZE="$var_disk"
 | 
					 | 
				
			||||||
  CORE_COUNT="$var_cpu"
 | 
					 | 
				
			||||||
  RAM_SIZE="$var_ram"
 | 
					 | 
				
			||||||
  BRG="vmbr0"
 | 
					 | 
				
			||||||
  NET="dhcp"
 | 
					 | 
				
			||||||
  GATE=""
 | 
					 | 
				
			||||||
  APT_CACHER=""
 | 
					 | 
				
			||||||
  APT_CACHER_IP=""
 | 
					 | 
				
			||||||
  DISABLEIP6="no"
 | 
					 | 
				
			||||||
  MTU=""
 | 
					 | 
				
			||||||
  SD=""
 | 
					 | 
				
			||||||
  NS=""
 | 
					 | 
				
			||||||
  MAC=""
 | 
					 | 
				
			||||||
  VLAN=""
 | 
					 | 
				
			||||||
  SSH="no"
 | 
					 | 
				
			||||||
  VERB="no"
 | 
					 | 
				
			||||||
  echo_default
 | 
					 | 
				
			||||||
}
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
function update_script() {
 | 
					function update_script() {
 | 
				
			||||||
header_info
 | 
					   header_info
 | 
				
			||||||
check_container_storage
 | 
					   check_container_storage
 | 
				
			||||||
check_container_resources
 | 
					   check_container_resources
 | 
				
			||||||
if [[ ! -d /opt/gokapi ]]; then msg_error "No ${APP} Installation Found!"; exit; fi
 | 
					   if [[ ! -d /opt/gokapi ]]; then
 | 
				
			||||||
msg_error "There is currently no update path available."
 | 
					      msg_error "No ${APP} Installation Found!"
 | 
				
			||||||
exit
 | 
					      exit
 | 
				
			||||||
 | 
					   fi
 | 
				
			||||||
 | 
					   msg_error "There is currently no update path available."
 | 
				
			||||||
 | 
					   exit
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
start
 | 
					start
 | 
				
			||||||
@@ -66,5 +41,6 @@ build_container
 | 
				
			|||||||
description
 | 
					description
 | 
				
			||||||
 | 
					
 | 
				
			||||||
msg_ok "Completed Successfully!\n"
 | 
					msg_ok "Completed Successfully!\n"
 | 
				
			||||||
echo -e "${APP} Setup should be reachable by going to the following URL.
 | 
					echo -e "${CREATING}${GN}${APP} setup has been successfully initialized!${CL}"
 | 
				
			||||||
         ${BL}http://${IP}:53842/setup${CL} \n"
 | 
					echo -e "${INFO}${YW} Access it using the following URL:${CL}"
 | 
				
			||||||
 | 
					echo -e "${TAB}${GATEWAY}${BGN}http://${IP}:53842/setup${CL}"
 | 
				
			||||||
							
								
								
									
										112
									
								
								ct/gotify.sh
									
									
									
									
									
								
							
							
						
						
									
										112
									
								
								ct/gotify.sh
									
									
									
									
									
								
							@@ -1,86 +1,61 @@
 | 
				
			|||||||
#!/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 tteck
 | 
					# Copyright (c) 2021-2025 tteck
 | 
				
			||||||
# Author: tteck (tteckster)
 | 
					# Author: tteck (tteckster)
 | 
				
			||||||
# License: MIT
 | 
					# License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE
 | 
				
			||||||
# https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE
 | 
					# Source: https://gotify.net/
 | 
				
			||||||
 | 
					
 | 
				
			||||||
function header_info {
 | 
					# App Default Values
 | 
				
			||||||
clear
 | 
					 | 
				
			||||||
cat <<"EOF"
 | 
					 | 
				
			||||||
   ______      __  _ ____
 | 
					 | 
				
			||||||
  / ____/___  / /_(_) __/_  __
 | 
					 | 
				
			||||||
 / / __/ __ \/ __/ / /_/ / / /
 | 
					 | 
				
			||||||
/ /_/ / /_/ / /_/ / __/ /_/ /
 | 
					 | 
				
			||||||
\____/\____/\__/_/_/  \__, /
 | 
					 | 
				
			||||||
                     /____/
 | 
					 | 
				
			||||||
EOF
 | 
					 | 
				
			||||||
}
 | 
					 | 
				
			||||||
header_info
 | 
					 | 
				
			||||||
echo -e "Loading..."
 | 
					 | 
				
			||||||
APP="Gotify"
 | 
					APP="Gotify"
 | 
				
			||||||
var_disk="2"
 | 
					var_tags="notification"
 | 
				
			||||||
var_cpu="1"
 | 
					var_cpu="1"
 | 
				
			||||||
var_ram="512"
 | 
					var_ram="512"
 | 
				
			||||||
 | 
					var_disk="2"
 | 
				
			||||||
var_os="debian"
 | 
					var_os="debian"
 | 
				
			||||||
var_version="12"
 | 
					var_version="12"
 | 
				
			||||||
 | 
					var_unprivileged="1"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# App Output & Base Settings
 | 
				
			||||||
 | 
					header_info "$APP"
 | 
				
			||||||
 | 
					base_settings
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# Core
 | 
				
			||||||
variables
 | 
					variables
 | 
				
			||||||
color
 | 
					color
 | 
				
			||||||
catch_errors
 | 
					catch_errors
 | 
				
			||||||
 | 
					
 | 
				
			||||||
function default_settings() {
 | 
					 | 
				
			||||||
  CT_TYPE="1"
 | 
					 | 
				
			||||||
  PW=""
 | 
					 | 
				
			||||||
  CT_ID=$NEXTID
 | 
					 | 
				
			||||||
  HN=$NSAPP
 | 
					 | 
				
			||||||
  DISK_SIZE="$var_disk"
 | 
					 | 
				
			||||||
  CORE_COUNT="$var_cpu"
 | 
					 | 
				
			||||||
  RAM_SIZE="$var_ram"
 | 
					 | 
				
			||||||
  BRG="vmbr0"
 | 
					 | 
				
			||||||
  NET="dhcp"
 | 
					 | 
				
			||||||
  GATE=""
 | 
					 | 
				
			||||||
  APT_CACHER=""
 | 
					 | 
				
			||||||
  APT_CACHER_IP=""
 | 
					 | 
				
			||||||
  DISABLEIP6="no"
 | 
					 | 
				
			||||||
  MTU=""
 | 
					 | 
				
			||||||
  SD=""
 | 
					 | 
				
			||||||
  NS=""
 | 
					 | 
				
			||||||
  MAC=""
 | 
					 | 
				
			||||||
  VLAN=""
 | 
					 | 
				
			||||||
  SSH="no"
 | 
					 | 
				
			||||||
  VERB="no"
 | 
					 | 
				
			||||||
  echo_default
 | 
					 | 
				
			||||||
}
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
function update_script() {
 | 
					function update_script() {
 | 
				
			||||||
header_info
 | 
					  header_info
 | 
				
			||||||
check_container_storage
 | 
					  check_container_storage
 | 
				
			||||||
check_container_resources
 | 
					  check_container_resources
 | 
				
			||||||
if [[ ! -d /opt/gotify ]]; then msg_error "No ${APP} Installation Found!"; exit; fi
 | 
					  if [[ ! -d /opt/gotify ]]; then
 | 
				
			||||||
 | 
					    msg_error "No ${APP} Installation Found!"
 | 
				
			||||||
 | 
					    exit
 | 
				
			||||||
 | 
					  fi
 | 
				
			||||||
 | 
					
 | 
				
			||||||
RELEASE=$(curl -s https://api.github.com/repos/gotify/server/releases/latest | grep "tag_name" | awk '{print substr($2, 3, length($2)-4) }')
 | 
					  RELEASE=$(curl -s https://api.github.com/repos/gotify/server/releases/latest | grep "tag_name" | awk '{print substr($2, 3, length($2)-4) }')
 | 
				
			||||||
if [[ ! -f /opt/${APP}_version.txt ]] || [[ "${RELEASE}" != "$(cat /opt/${APP}_version.txt)" ]]; then
 | 
					  if [[ ! -f /opt/${APP}_version.txt ]] || [[ "${RELEASE}" != "$(cat /opt/${APP}_version.txt)" ]]; then
 | 
				
			||||||
  msg_info "Stopping ${APP}"
 | 
					    msg_info "Stopping ${APP}"
 | 
				
			||||||
  systemctl stop gotify
 | 
					    systemctl stop gotify
 | 
				
			||||||
  msg_ok "Stopped ${APP}"
 | 
					    msg_ok "Stopped ${APP}"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  msg_info "Updating ${APP} to ${RELEASE}"
 | 
					    msg_info "Updating ${APP} to ${RELEASE}"
 | 
				
			||||||
  cd /opt/gotify
 | 
					    cd /opt/gotify
 | 
				
			||||||
  wget -q https://github.com/gotify/server/releases/download/v${RELEASE}/gotify-linux-amd64.zip
 | 
					    wget -q https://github.com/gotify/server/releases/download/v${RELEASE}/gotify-linux-amd64.zip
 | 
				
			||||||
  unzip -oq gotify-linux-amd64.zip
 | 
					    unzip -oq gotify-linux-amd64.zip
 | 
				
			||||||
  rm -rf gotify-linux-amd64.zip
 | 
					    rm -rf gotify-linux-amd64.zip
 | 
				
			||||||
  chmod +x gotify-linux-amd64
 | 
					    chmod +x gotify-linux-amd64
 | 
				
			||||||
  echo "${RELEASE}" >/opt/${APP}_version.txt
 | 
					    echo "${RELEASE}" >/opt/${APP}_version.txt
 | 
				
			||||||
  msg_ok "Updated ${APP} to ${RELEASE}"
 | 
					    msg_ok "Updated ${APP} to ${RELEASE}"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  msg_info "Starting ${APP}"
 | 
					    msg_info "Starting ${APP}"
 | 
				
			||||||
  systemctl start gotify
 | 
					    systemctl start gotify
 | 
				
			||||||
  msg_ok "Started ${APP}"
 | 
					    msg_ok "Started ${APP}"
 | 
				
			||||||
  msg_ok "Updated Successfully"
 | 
					    msg_ok "Updated Successfully"
 | 
				
			||||||
else
 | 
					  else
 | 
				
			||||||
  msg_ok "No update required. ${APP} is already at ${RELEASE}"
 | 
					    msg_ok "No update required. ${APP} is already at ${RELEASE}"
 | 
				
			||||||
fi
 | 
					  fi
 | 
				
			||||||
exit
 | 
					  exit
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
start
 | 
					start
 | 
				
			||||||
@@ -88,5 +63,6 @@ build_container
 | 
				
			|||||||
description
 | 
					description
 | 
				
			||||||
 | 
					
 | 
				
			||||||
msg_ok "Completed Successfully!\n"
 | 
					msg_ok "Completed Successfully!\n"
 | 
				
			||||||
echo -e "${APP} should be reachable by going to the following URL.
 | 
					echo -e "${CREATING}${GN}${APP} setup has been successfully initialized!${CL}"
 | 
				
			||||||
         ${BL}http://${IP} ${CL} \n"
 | 
					echo -e "${INFO}${YW} Access it using the following URL:${CL}"
 | 
				
			||||||
 | 
					echo -e "${TAB}${GATEWAY}${BGN}http://${IP}${CL}"
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -1,67 +1,42 @@
 | 
				
			|||||||
#!/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 tteck
 | 
					# Copyright (c) 2021-2025 tteck
 | 
				
			||||||
# Author: tteck (tteckster)
 | 
					# Author: tteck (tteckster)
 | 
				
			||||||
# License: MIT
 | 
					# License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE
 | 
				
			||||||
# https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE
 | 
					# Source: https://grafana.com/
 | 
				
			||||||
 | 
					
 | 
				
			||||||
function header_info {
 | 
					# App Default Values
 | 
				
			||||||
clear
 | 
					 | 
				
			||||||
cat <<"EOF"
 | 
					 | 
				
			||||||
   ______           ____                 
 | 
					 | 
				
			||||||
  / ____/________ _/ __/___ _____  ____ _
 | 
					 | 
				
			||||||
 / / __/ ___/ __  / /_/ __  / __ \/ __  /
 | 
					 | 
				
			||||||
/ /_/ / /  / /_/ / __/ /_/ / / / / /_/ / 
 | 
					 | 
				
			||||||
\____/_/   \__,_/_/  \__,_/_/ /_/\__,_/  
 | 
					 | 
				
			||||||
 
 | 
					 | 
				
			||||||
EOF
 | 
					 | 
				
			||||||
}
 | 
					 | 
				
			||||||
header_info
 | 
					 | 
				
			||||||
echo -e "Loading..."
 | 
					 | 
				
			||||||
APP="Grafana"
 | 
					APP="Grafana"
 | 
				
			||||||
var_disk="2"
 | 
					var_tags="monitoring;visualization"
 | 
				
			||||||
var_cpu="1"
 | 
					var_cpu="1"
 | 
				
			||||||
var_ram="512"
 | 
					var_ram="512"
 | 
				
			||||||
 | 
					var_disk="2"
 | 
				
			||||||
var_os="debian"
 | 
					var_os="debian"
 | 
				
			||||||
var_version="12"
 | 
					var_version="12"
 | 
				
			||||||
 | 
					var_unprivileged="1"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# App Output & Base Settings
 | 
				
			||||||
 | 
					header_info "$APP"
 | 
				
			||||||
 | 
					base_settings
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# Core
 | 
				
			||||||
variables
 | 
					variables
 | 
				
			||||||
color
 | 
					color
 | 
				
			||||||
catch_errors
 | 
					catch_errors
 | 
				
			||||||
 | 
					
 | 
				
			||||||
function default_settings() {
 | 
					 | 
				
			||||||
  CT_TYPE="1"
 | 
					 | 
				
			||||||
  PW=""
 | 
					 | 
				
			||||||
  CT_ID=$NEXTID
 | 
					 | 
				
			||||||
  HN=$NSAPP
 | 
					 | 
				
			||||||
  DISK_SIZE="$var_disk"
 | 
					 | 
				
			||||||
  CORE_COUNT="$var_cpu"
 | 
					 | 
				
			||||||
  RAM_SIZE="$var_ram"
 | 
					 | 
				
			||||||
  BRG="vmbr0"
 | 
					 | 
				
			||||||
  NET="dhcp"
 | 
					 | 
				
			||||||
  GATE=""
 | 
					 | 
				
			||||||
  APT_CACHER=""
 | 
					 | 
				
			||||||
  APT_CACHER_IP=""
 | 
					 | 
				
			||||||
  DISABLEIP6="no"
 | 
					 | 
				
			||||||
  MTU=""
 | 
					 | 
				
			||||||
  SD=""
 | 
					 | 
				
			||||||
  NS=""
 | 
					 | 
				
			||||||
  MAC=""
 | 
					 | 
				
			||||||
  VLAN=""
 | 
					 | 
				
			||||||
  SSH="no"
 | 
					 | 
				
			||||||
  VERB="no"
 | 
					 | 
				
			||||||
  echo_default
 | 
					 | 
				
			||||||
}
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
function update_script() {
 | 
					function update_script() {
 | 
				
			||||||
header_info
 | 
					   header_info
 | 
				
			||||||
check_container_storage
 | 
					   check_container_storage
 | 
				
			||||||
check_container_resources
 | 
					   check_container_resources
 | 
				
			||||||
if [[ ! -f /etc/apt/sources.list.d/grafana.list ]]; then msg_error "No ${APP} Installation Found!"; exit; fi
 | 
					   if [[ ! -f /etc/apt/sources.list.d/grafana.list ]]; then
 | 
				
			||||||
msg_info "Updating ${APP}"
 | 
					      msg_error "No ${APP} Installation Found!"
 | 
				
			||||||
apt-get update &>/dev/null
 | 
					      exit
 | 
				
			||||||
apt-get -y upgrade &>/dev/null
 | 
					   fi
 | 
				
			||||||
msg_ok "Updated Successfully"
 | 
					   msg_info "Updating ${APP}"
 | 
				
			||||||
exit
 | 
					   apt-get update &>/dev/null
 | 
				
			||||||
 | 
					   apt-get -y upgrade &>/dev/null
 | 
				
			||||||
 | 
					   msg_ok "Updated Successfully"
 | 
				
			||||||
 | 
					   exit
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
start
 | 
					start
 | 
				
			||||||
@@ -69,5 +44,6 @@ build_container
 | 
				
			|||||||
description
 | 
					description
 | 
				
			||||||
 | 
					
 | 
				
			||||||
msg_ok "Completed Successfully!\n"
 | 
					msg_ok "Completed Successfully!\n"
 | 
				
			||||||
echo -e "${APP} should be reachable by going to the following URL.
 | 
					echo -e "${CREATING}${GN}${APP} setup has been successfully initialized!${CL}"
 | 
				
			||||||
         ${BL}http://${IP}:3000${CL} \n"
 | 
					echo -e "${INFO}${YW} Access it using the following URL:${CL}"
 | 
				
			||||||
 | 
					echo -e "${TAB}${GATEWAY}${BGN}http://${IP}:3000${CL}"
 | 
				
			||||||
							
								
								
									
										78
									
								
								ct/grist.sh
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										78
									
								
								ct/grist.sh
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,78 @@
 | 
				
			|||||||
 | 
					#!/usr/bin/env bash
 | 
				
			||||||
 | 
					source <(curl -s https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/misc/build.func)
 | 
				
			||||||
 | 
					# Source: https://github.com/gristlabs/grist-core
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# App Default Values
 | 
				
			||||||
 | 
					APP="Grist"
 | 
				
			||||||
 | 
					var_tags="database;spreadsheet"
 | 
				
			||||||
 | 
					var_cpu="1"
 | 
				
			||||||
 | 
					var_ram="2048"
 | 
				
			||||||
 | 
					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/grist ]]; then
 | 
				
			||||||
 | 
					    msg_error "No ${APP} Installation Found!"
 | 
				
			||||||
 | 
					    exit
 | 
				
			||||||
 | 
					  fi
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  RELEASE=$(curl -s https://api.github.com/repos/gristlabs/grist-core/releases/latest | grep "tag_name" | awk '{print substr($2, 3, length($2)-4) }')
 | 
				
			||||||
 | 
					  if [[ ! -f /opt/${APP}_version.txt ]] || [[ "${RELEASE}" != "$(cat /opt/${APP}_version.txt)" ]]; then
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    msg_info "Stopping ${APP} Service"
 | 
				
			||||||
 | 
					    systemctl stop grist
 | 
				
			||||||
 | 
					    msg_ok "Stopped ${APP} Service"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    msg_info "Updating ${APP} to v${RELEASE}"
 | 
				
			||||||
 | 
					    cd /opt
 | 
				
			||||||
 | 
					    rm -rf grist_bak
 | 
				
			||||||
 | 
					    mv grist grist_bak
 | 
				
			||||||
 | 
					    wget -q https://github.com/gristlabs/grist-core/archive/refs/tags/v${RELEASE}.zip
 | 
				
			||||||
 | 
					    unzip -q v$RELEASE.zip
 | 
				
			||||||
 | 
					    mv grist-core-${RELEASE} grist
 | 
				
			||||||
 | 
					    cp -n /opt/grist_bak/.env /opt/grist/.env
 | 
				
			||||||
 | 
					    cd grist
 | 
				
			||||||
 | 
					    yarn install >/dev/null 2>&1
 | 
				
			||||||
 | 
					    yarn run build:prod >/dev/null 2>&1
 | 
				
			||||||
 | 
					    yarn run install:python >/dev/null 2>&1
 | 
				
			||||||
 | 
					    echo "${RELEASE}" >/opt/${APP}_version.txt
 | 
				
			||||||
 | 
					    msg_ok "Updated ${APP} to v${RELEASE}"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    msg_info "Starting ${APP} Service"
 | 
				
			||||||
 | 
					    systemctl start grist
 | 
				
			||||||
 | 
					    msg_ok "Started ${APP} Service"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    msg_info "Cleaning up"
 | 
				
			||||||
 | 
					    rm -rf /opt/v$RELEASE.zip
 | 
				
			||||||
 | 
					    msg_ok "Cleaned"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    msg_ok "Updated Successfully!\n"
 | 
				
			||||||
 | 
					  else
 | 
				
			||||||
 | 
					    msg_ok "No update required. ${APP} is already at ${RELEASE}"
 | 
				
			||||||
 | 
					  fi
 | 
				
			||||||
 | 
					  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}Grist: http://${IP}:8484${CL}"
 | 
				
			||||||
							
								
								
									
										100
									
								
								ct/grocy.sh
									
									
									
									
									
								
							
							
						
						
									
										100
									
								
								ct/grocy.sh
									
									
									
									
									
								
							@@ -1,77 +1,52 @@
 | 
				
			|||||||
#!/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 tteck
 | 
					# Copyright (c) 2021-2025 tteck
 | 
				
			||||||
# Author: tteck (tteckster)
 | 
					# Author: tteck (tteckster)
 | 
				
			||||||
# License: MIT
 | 
					# License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE
 | 
				
			||||||
# https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE
 | 
					# Source: https://grocy.info/
 | 
				
			||||||
 | 
					
 | 
				
			||||||
function header_info {
 | 
					# App Default Values
 | 
				
			||||||
clear
 | 
					 | 
				
			||||||
cat <<"EOF"
 | 
					 | 
				
			||||||
   ____ __________  _______  __
 | 
					 | 
				
			||||||
  / __  / ___/ __ \/ ___/ / / /
 | 
					 | 
				
			||||||
 / /_/ / /  / /_/ / /__/ /_/ / 
 | 
					 | 
				
			||||||
 \__, /_/   \____/\___/\__, /  
 | 
					 | 
				
			||||||
/____/                /____/   
 | 
					 | 
				
			||||||
 
 | 
					 | 
				
			||||||
EOF
 | 
					 | 
				
			||||||
}
 | 
					 | 
				
			||||||
header_info
 | 
					 | 
				
			||||||
echo -e "Loading..."
 | 
					 | 
				
			||||||
APP="grocy"
 | 
					APP="grocy"
 | 
				
			||||||
var_disk="2"
 | 
					var_tags="grocery;household"
 | 
				
			||||||
var_cpu="1"
 | 
					var_cpu="1"
 | 
				
			||||||
var_ram="512"
 | 
					var_ram="512"
 | 
				
			||||||
 | 
					var_disk="2"
 | 
				
			||||||
var_os="debian"
 | 
					var_os="debian"
 | 
				
			||||||
var_version="12"
 | 
					var_version="12"
 | 
				
			||||||
 | 
					var_unprivileged="1"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# App Output & Base Settings
 | 
				
			||||||
 | 
					header_info "$APP"
 | 
				
			||||||
 | 
					base_settings
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# Core
 | 
				
			||||||
variables
 | 
					variables
 | 
				
			||||||
color
 | 
					color
 | 
				
			||||||
catch_errors
 | 
					catch_errors
 | 
				
			||||||
 | 
					
 | 
				
			||||||
function default_settings() {
 | 
					 | 
				
			||||||
  CT_TYPE="1"
 | 
					 | 
				
			||||||
  PW=""
 | 
					 | 
				
			||||||
  CT_ID=$NEXTID
 | 
					 | 
				
			||||||
  HN=$NSAPP
 | 
					 | 
				
			||||||
  DISK_SIZE="$var_disk"
 | 
					 | 
				
			||||||
  CORE_COUNT="$var_cpu"
 | 
					 | 
				
			||||||
  RAM_SIZE="$var_ram"
 | 
					 | 
				
			||||||
  BRG="vmbr0"
 | 
					 | 
				
			||||||
  NET="dhcp"
 | 
					 | 
				
			||||||
  GATE=""
 | 
					 | 
				
			||||||
  APT_CACHER=""
 | 
					 | 
				
			||||||
  APT_CACHER_IP=""
 | 
					 | 
				
			||||||
  DISABLEIP6="no"
 | 
					 | 
				
			||||||
  MTU=""
 | 
					 | 
				
			||||||
  SD=""
 | 
					 | 
				
			||||||
  NS=""
 | 
					 | 
				
			||||||
  MAC=""
 | 
					 | 
				
			||||||
  VLAN=""
 | 
					 | 
				
			||||||
  SSH="no"
 | 
					 | 
				
			||||||
  VERB="no"
 | 
					 | 
				
			||||||
  echo_default
 | 
					 | 
				
			||||||
}
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
function update_script() {
 | 
					function update_script() {
 | 
				
			||||||
header_info
 | 
					  header_info
 | 
				
			||||||
check_container_storage
 | 
					  check_container_storage
 | 
				
			||||||
check_container_resources
 | 
					  check_container_resources
 | 
				
			||||||
if [[ ! -f /etc/apache2/sites-available/grocy.conf ]]; then msg_error "No ${APP} Installation Found!"; exit; fi
 | 
					  if [[ ! -f /etc/apache2/sites-available/grocy.conf ]]; then
 | 
				
			||||||
php_version=$(php -v | head -n 1 | awk '{print $2}')
 | 
					    msg_error "No ${APP} Installation Found!"
 | 
				
			||||||
if [[ ! $php_version == "8.3"* ]]; then
 | 
					    exit
 | 
				
			||||||
  msg_info "Updating PHP"
 | 
					  fi
 | 
				
			||||||
  curl -sSLo /usr/share/keyrings/deb.sury.org-php.gpg https://packages.sury.org/php/apt.gpg
 | 
					  php_version=$(php -v | head -n 1 | awk '{print $2}')
 | 
				
			||||||
  echo "deb [signed-by=/usr/share/keyrings/deb.sury.org-php.gpg] https://packages.sury.org/php/ bookworm main" >/etc/apt/sources.list.d/php.list
 | 
					  if [[ ! $php_version == "8.3"* ]]; then
 | 
				
			||||||
  apt-get update
 | 
					    msg_info "Updating PHP"
 | 
				
			||||||
  apt-get install -y php8.3 php8.3-cli php8.3-{bz2,curl,mbstring,intl,sqlite3,fpm,gd,zip,xml}
 | 
					    curl -sSLo /usr/share/keyrings/deb.sury.org-php.gpg https://packages.sury.org/php/apt.gpg
 | 
				
			||||||
  systemctl reload apache2
 | 
					    echo "deb [signed-by=/usr/share/keyrings/deb.sury.org-php.gpg] https://packages.sury.org/php/ bookworm main" >/etc/apt/sources.list.d/php.list
 | 
				
			||||||
  apt autoremove
 | 
					    apt-get update
 | 
				
			||||||
  msg_ok "Updated PHP"
 | 
					    apt-get install -y php8.3 php8.3-cli php8.3-{bz2,curl,mbstring,intl,sqlite3,fpm,gd,zip,xml}
 | 
				
			||||||
fi
 | 
					    systemctl reload apache2
 | 
				
			||||||
msg_info "Updating ${APP}"
 | 
					    apt autoremove
 | 
				
			||||||
bash /var/www/html/update.sh
 | 
					    msg_ok "Updated PHP"
 | 
				
			||||||
msg_ok "Updated Successfully"
 | 
					  fi
 | 
				
			||||||
exit
 | 
					  msg_info "Updating ${APP}"
 | 
				
			||||||
 | 
					  bash /var/www/html/update.sh
 | 
				
			||||||
 | 
					  msg_ok "Updated Successfully"
 | 
				
			||||||
 | 
					  exit
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
start
 | 
					start
 | 
				
			||||||
@@ -79,5 +54,6 @@ build_container
 | 
				
			|||||||
description
 | 
					description
 | 
				
			||||||
 | 
					
 | 
				
			||||||
msg_ok "Completed Successfully!\n"
 | 
					msg_ok "Completed Successfully!\n"
 | 
				
			||||||
echo -e "${APP} should be reachable by going to the following URL.
 | 
					echo -e "${CREATING}${GN}${APP} setup has been successfully initialized!${CL}"
 | 
				
			||||||
         ${BL}http://${IP}${CL} \n"
 | 
					echo -e "${INFO}${YW} Access it using the following URL:${CL}"
 | 
				
			||||||
 | 
					echo -e "${TAB}${GATEWAY}${BGN}http://${IP}${CL}"
 | 
				
			||||||
							
								
								
									
										106
									
								
								ct/headscale.sh
									
									
									
									
									
								
							
							
						
						
									
										106
									
								
								ct/headscale.sh
									
									
									
									
									
								
							@@ -1,83 +1,58 @@
 | 
				
			|||||||
#!/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 tteck
 | 
					# Copyright (c) 2021-2025 tteck
 | 
				
			||||||
# Author: tteck (tteckster)
 | 
					# Author: tteck (tteckster)
 | 
				
			||||||
# License: MIT
 | 
					# License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE
 | 
				
			||||||
# https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE
 | 
					# Source: https://github.com/juanfont/headscale
 | 
				
			||||||
 | 
					
 | 
				
			||||||
function header_info {
 | 
					# App Default Values
 | 
				
			||||||
clear
 | 
					 | 
				
			||||||
cat <<"EOF"
 | 
					 | 
				
			||||||
    __  __               __                __
 | 
					 | 
				
			||||||
   / / / /__  ____ _____/ /_____________ _/ /__
 | 
					 | 
				
			||||||
  / /_/ / _ \/ __ `/ __  / ___/ ___/ __ `/ / _ \
 | 
					 | 
				
			||||||
 / __  /  __/ /_/ / /_/ (__  ) /__/ /_/ / /  __/
 | 
					 | 
				
			||||||
/_/ /_/\___/\__,_/\__,_/____/\___/\__,_/_/\___/
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
EOF
 | 
					 | 
				
			||||||
}
 | 
					 | 
				
			||||||
header_info
 | 
					 | 
				
			||||||
echo -e "Loading..."
 | 
					 | 
				
			||||||
APP="Headscale"
 | 
					APP="Headscale"
 | 
				
			||||||
var_disk="2"
 | 
					var_tags="tailscale"
 | 
				
			||||||
var_cpu="1"
 | 
					var_cpu="1"
 | 
				
			||||||
var_ram="512"
 | 
					var_ram="512"
 | 
				
			||||||
 | 
					var_disk="2"
 | 
				
			||||||
var_os="debian"
 | 
					var_os="debian"
 | 
				
			||||||
var_version="12"
 | 
					var_version="12"
 | 
				
			||||||
 | 
					var_unprivileged="1"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# App Output & Base Settings
 | 
				
			||||||
 | 
					header_info "$APP"
 | 
				
			||||||
 | 
					base_settings
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# Core
 | 
				
			||||||
variables
 | 
					variables
 | 
				
			||||||
color
 | 
					color
 | 
				
			||||||
catch_errors
 | 
					catch_errors
 | 
				
			||||||
 | 
					
 | 
				
			||||||
function default_settings() {
 | 
					 | 
				
			||||||
  CT_TYPE="1"
 | 
					 | 
				
			||||||
  PW=""
 | 
					 | 
				
			||||||
  CT_ID=$NEXTID
 | 
					 | 
				
			||||||
  HN=$NSAPP
 | 
					 | 
				
			||||||
  DISK_SIZE="$var_disk"
 | 
					 | 
				
			||||||
  CORE_COUNT="$var_cpu"
 | 
					 | 
				
			||||||
  RAM_SIZE="$var_ram"
 | 
					 | 
				
			||||||
  BRG="vmbr0"
 | 
					 | 
				
			||||||
  NET="dhcp"
 | 
					 | 
				
			||||||
  GATE=""
 | 
					 | 
				
			||||||
  APT_CACHER=""
 | 
					 | 
				
			||||||
  APT_CACHER_IP=""
 | 
					 | 
				
			||||||
  DISABLEIP6="no"
 | 
					 | 
				
			||||||
  MTU=""
 | 
					 | 
				
			||||||
  SD=""
 | 
					 | 
				
			||||||
  NS=""
 | 
					 | 
				
			||||||
  MAC=""
 | 
					 | 
				
			||||||
  VLAN=""
 | 
					 | 
				
			||||||
  SSH="no"
 | 
					 | 
				
			||||||
  VERB="no"
 | 
					 | 
				
			||||||
  echo_default
 | 
					 | 
				
			||||||
}
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
function update_script() {
 | 
					function update_script() {
 | 
				
			||||||
header_info
 | 
					  header_info
 | 
				
			||||||
check_container_storage
 | 
					  check_container_storage
 | 
				
			||||||
check_container_resources
 | 
					  check_container_resources
 | 
				
			||||||
if [[ ! -d /etc/headscale ]]; then msg_error "No ${APP} Installation Found!"; exit; fi
 | 
					  if [[ ! -d /etc/headscale ]]; then
 | 
				
			||||||
RELEASE=$(curl -s https://api.github.com/repos/juanfont/headscale/releases/latest | grep "tag_name" | awk '{print substr($2, 3, length($2)-4) }')
 | 
					    msg_error "No ${APP} Installation Found!"
 | 
				
			||||||
if [[ "${RELEASE}" != "$(cat /opt/${APP}_version.txt)" ]] || [[ ! -f /opt/${APP}_version.txt ]]; then
 | 
					    exit
 | 
				
			||||||
  msg_info "Stopping ${APP}"
 | 
					  fi
 | 
				
			||||||
  systemctl stop headscale
 | 
					  RELEASE=$(curl -s https://api.github.com/repos/juanfont/headscale/releases/latest | grep "tag_name" | awk '{print substr($2, 3, length($2)-4) }')
 | 
				
			||||||
  msg_ok "Stopped ${APP}"
 | 
					  if [[ "${RELEASE}" != "$(cat /opt/${APP}_version.txt)" ]] || [[ ! -f /opt/${APP}_version.txt ]]; then
 | 
				
			||||||
 | 
					    msg_info "Stopping ${APP}"
 | 
				
			||||||
 | 
					    systemctl stop headscale
 | 
				
			||||||
 | 
					    msg_ok "Stopped ${APP}"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  msg_info "Updating $APP to v${RELEASE}"
 | 
					    msg_info "Updating $APP to v${RELEASE}"
 | 
				
			||||||
  wget -q https://github.com/juanfont/headscale/releases/download/v${RELEASE}/headscale_${RELEASE}_linux_amd64.deb
 | 
					    wget -q https://github.com/juanfont/headscale/releases/download/v${RELEASE}/headscale_${RELEASE}_linux_amd64.deb
 | 
				
			||||||
  dpkg -i headscale_${RELEASE}_linux_amd64.deb
 | 
					    dpkg -i headscale_${RELEASE}_linux_amd64.deb
 | 
				
			||||||
  rm headscale_${RELEASE}_linux_amd64.deb
 | 
					    rm headscale_${RELEASE}_linux_amd64.deb
 | 
				
			||||||
  echo "${RELEASE}" >/opt/${APP}_version.txt
 | 
					    echo "${RELEASE}" >/opt/${APP}_version.txt
 | 
				
			||||||
  msg_ok "Updated $APP to ${RELEASE}"
 | 
					    msg_ok "Updated $APP to ${RELEASE}"
 | 
				
			||||||
  
 | 
					
 | 
				
			||||||
  msg_info "Starting ${APP}"
 | 
					    msg_info "Starting ${APP}"
 | 
				
			||||||
  systemctl start headscale
 | 
					    systemctl start headscale
 | 
				
			||||||
  msg_ok "Started ${APP}"
 | 
					    msg_ok "Started ${APP}"
 | 
				
			||||||
  msg_ok "Updated Successfully"
 | 
					    msg_ok "Updated Successfully"
 | 
				
			||||||
else
 | 
					  else
 | 
				
			||||||
  msg_ok "No update required. ${APP} is already at ${RELEASE}"
 | 
					    msg_ok "No update required. ${APP} is already at ${RELEASE}"
 | 
				
			||||||
fi
 | 
					  fi
 | 
				
			||||||
exit
 | 
					  exit
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
start
 | 
					start
 | 
				
			||||||
@@ -85,3 +60,4 @@ build_container
 | 
				
			|||||||
description
 | 
					description
 | 
				
			||||||
 | 
					
 | 
				
			||||||
msg_ok "Completed Successfully!\n"
 | 
					msg_ok "Completed Successfully!\n"
 | 
				
			||||||
 | 
					echo -e "${CREATING}${GN}${APP} setup has been successfully initialized!${CL}"
 | 
				
			||||||
@@ -1,107 +1,77 @@
 | 
				
			|||||||
#!/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 tteck
 | 
					# Copyright (c) 2021-2025 tteck
 | 
				
			||||||
# Author: tteck (tteckster)
 | 
					# Author: tteck (tteckster)
 | 
				
			||||||
# License: MIT
 | 
					# License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE
 | 
				
			||||||
# https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE
 | 
					# Source: https://heimdall.site/
 | 
				
			||||||
 | 
					
 | 
				
			||||||
function header_info {
 | 
					# App Default Values
 | 
				
			||||||
clear
 | 
					 | 
				
			||||||
cat <<"EOF"
 | 
					 | 
				
			||||||
            _               _       _ _      ___          _     _                         _ 
 | 
					 | 
				
			||||||
  /\  /\___(_)_ __ ___   __| | __ _| | |    /   \__ _ ___| |__ | |__   ___   __ _ _ __ __| |
 | 
					 | 
				
			||||||
 / /_/ / _ \ | '_ ` _ \ / _` |/ _` | | |   / /\ / _` / __| '_ \| '_ \ / _ \ / _` | '__/ _` |
 | 
					 | 
				
			||||||
/ __  /  __/ | | | | | | (_| | (_| | | |  / /_// (_| \__ \ | | | |_) | (_) | (_| | | | (_| |
 | 
					 | 
				
			||||||
\/ /_/ \___|_|_| |_| |_|\__,_|\__,_|_|_| /___,' \__,_|___/_| |_|_.__/ \___/ \__,_|_|  \__,_|
 | 
					 | 
				
			||||||
                                                                                            
 | 
					 | 
				
			||||||
EOF
 | 
					 | 
				
			||||||
}
 | 
					 | 
				
			||||||
header_info
 | 
					 | 
				
			||||||
echo -e "Loading..."
 | 
					 | 
				
			||||||
APP="Heimdall-Dashboard"
 | 
					APP="Heimdall-Dashboard"
 | 
				
			||||||
var_disk="2"
 | 
					var_tags="dashboard"
 | 
				
			||||||
var_cpu="1"
 | 
					var_cpu="1"
 | 
				
			||||||
var_ram="512"
 | 
					var_ram="512"
 | 
				
			||||||
 | 
					var_disk="2"
 | 
				
			||||||
var_os="debian"
 | 
					var_os="debian"
 | 
				
			||||||
var_version="12"
 | 
					var_version="12"
 | 
				
			||||||
 | 
					var_unprivileged="1"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# App Output & Base Settings
 | 
				
			||||||
 | 
					header_info "$APP"
 | 
				
			||||||
 | 
					base_settings
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# Core
 | 
				
			||||||
variables
 | 
					variables
 | 
				
			||||||
color
 | 
					color
 | 
				
			||||||
catch_errors
 | 
					catch_errors
 | 
				
			||||||
 | 
					
 | 
				
			||||||
function default_settings() {
 | 
					 | 
				
			||||||
  CT_TYPE="1"
 | 
					 | 
				
			||||||
  PW=""
 | 
					 | 
				
			||||||
  CT_ID=$NEXTID
 | 
					 | 
				
			||||||
  HN=$NSAPP
 | 
					 | 
				
			||||||
  DISK_SIZE="$var_disk"
 | 
					 | 
				
			||||||
  CORE_COUNT="$var_cpu"
 | 
					 | 
				
			||||||
  RAM_SIZE="$var_ram"
 | 
					 | 
				
			||||||
  BRG="vmbr0"
 | 
					 | 
				
			||||||
  NET="dhcp"
 | 
					 | 
				
			||||||
  GATE=""
 | 
					 | 
				
			||||||
  APT_CACHER=""
 | 
					 | 
				
			||||||
  APT_CACHER_IP=""
 | 
					 | 
				
			||||||
  DISABLEIP6="no"
 | 
					 | 
				
			||||||
  MTU=""
 | 
					 | 
				
			||||||
  SD=""
 | 
					 | 
				
			||||||
  NS=""
 | 
					 | 
				
			||||||
  MAC=""
 | 
					 | 
				
			||||||
  VLAN=""
 | 
					 | 
				
			||||||
  SSH="no"
 | 
					 | 
				
			||||||
  VERB="no"
 | 
					 | 
				
			||||||
  echo_default
 | 
					 | 
				
			||||||
}
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
function update_script() {
 | 
					function update_script() {
 | 
				
			||||||
header_info
 | 
					  header_info
 | 
				
			||||||
check_container_storage
 | 
					  check_container_storage
 | 
				
			||||||
check_container_resources
 | 
					  check_container_resources
 | 
				
			||||||
if [[ ! -d /opt/Heimdall ]]; then msg_error "No ${APP} Installation Found!"; exit; fi
 | 
					  if [[ ! -d /opt/Heimdall ]]; then
 | 
				
			||||||
RELEASE=$(curl -sX GET "https://api.github.com/repos/linuxserver/Heimdall/releases/latest" | awk '/tag_name/{print $4;exit}' FS='[""]')
 | 
					    msg_error "No ${APP} Installation Found!"
 | 
				
			||||||
if [[ "${RELEASE}" != "$(cat /opt/${APP}_version.txt)" ]] || [[ ! -f /opt/${APP}_version.txt ]]; then
 | 
					    exit
 | 
				
			||||||
  msg_info "Stopping ${APP}"
 | 
					  fi
 | 
				
			||||||
  systemctl stop heimdall
 | 
					  RELEASE=$(curl -sX GET "https://api.github.com/repos/linuxserver/Heimdall/releases/latest" | awk '/tag_name/{print $4;exit}' FS='[""]')
 | 
				
			||||||
  sleep 1
 | 
					  if [[ "${RELEASE}" != "$(cat /opt/${APP}_version.txt)" ]] || [[ ! -f /opt/${APP}_version.txt ]]; then
 | 
				
			||||||
  msg_ok "Stopped ${APP}"
 | 
					    msg_info "Stopping ${APP}"
 | 
				
			||||||
 | 
					    systemctl stop heimdall
 | 
				
			||||||
  msg_info "Backing up Data"
 | 
					    sleep 1
 | 
				
			||||||
  cp -R /opt/Heimdall/database database-backup
 | 
					    msg_ok "Stopped ${APP}"
 | 
				
			||||||
  cp -R /opt/Heimdall/public public-backup
 | 
					    msg_info "Backing up Data"
 | 
				
			||||||
  sleep 1
 | 
					    cp -R /opt/Heimdall/database database-backup
 | 
				
			||||||
  msg_ok "Backed up Data"
 | 
					    cp -R /opt/Heimdall/public public-backup
 | 
				
			||||||
 | 
					    sleep 1
 | 
				
			||||||
  msg_info "Updating Heimdall Dashboard to ${RELEASE}"
 | 
					    msg_ok "Backed up Data"
 | 
				
			||||||
  wget -q https://github.com/linuxserver/Heimdall/archive/${RELEASE}.tar.gz
 | 
					    msg_info "Updating Heimdall Dashboard to ${RELEASE}"
 | 
				
			||||||
  tar xzf ${RELEASE}.tar.gz
 | 
					    wget -q https://github.com/linuxserver/Heimdall/archive/${RELEASE}.tar.gz
 | 
				
			||||||
  VER=$(curl -s https://api.github.com/repos/linuxserver/Heimdall/releases/latest | grep "tag_name" | awk '{print substr($2, 3, length($2)-4) }')
 | 
					    tar xzf ${RELEASE}.tar.gz
 | 
				
			||||||
  cp -R Heimdall-${VER}/* /opt/Heimdall
 | 
					    VER=$(curl -s https://api.github.com/repos/linuxserver/Heimdall/releases/latest | grep "tag_name" | awk '{print substr($2, 3, length($2)-4) }')
 | 
				
			||||||
  cd /opt/Heimdall
 | 
					    cp -R Heimdall-${VER}/* /opt/Heimdall
 | 
				
			||||||
  apt-get install -y composer &>/dev/null
 | 
					    cd /opt/Heimdall
 | 
				
			||||||
  COMPOSER_ALLOW_SUPERUSER=1 composer dump-autoload &>/dev/null
 | 
					    apt-get install -y composer &>/dev/null
 | 
				
			||||||
  echo "${RELEASE}" >/opt/${APP}_version.txt
 | 
					    COMPOSER_ALLOW_SUPERUSER=1 composer dump-autoload &>/dev/null
 | 
				
			||||||
  msg_ok "Updated Heimdall Dashboard to ${RELEASE}"
 | 
					    echo "${RELEASE}" >/opt/${APP}_version.txt
 | 
				
			||||||
 | 
					    msg_ok "Updated Heimdall Dashboard to ${RELEASE}"
 | 
				
			||||||
  msg_info "Restoring Data"
 | 
					    msg_info "Restoring Data"
 | 
				
			||||||
  cd ~
 | 
					    cd ~
 | 
				
			||||||
  cp -R database-backup/* /opt/Heimdall/database
 | 
					    cp -R database-backup/* /opt/Heimdall/database
 | 
				
			||||||
  cp -R public-backup/* /opt/Heimdall/public
 | 
					    cp -R public-backup/* /opt/Heimdall/public
 | 
				
			||||||
  sleep 1
 | 
					    sleep 1
 | 
				
			||||||
  msg_ok "Restored Data"
 | 
					    msg_ok "Restored Data"
 | 
				
			||||||
 | 
					    msg_info "Cleanup"
 | 
				
			||||||
  msg_info "Cleanup"
 | 
					    rm -rf {${RELEASE}.tar.gz,Heimdall-${VER},public-backup,database-backup,Heimdall}
 | 
				
			||||||
  rm -rf {${RELEASE}.tar.gz,Heimdall-${VER},public-backup,database-backup,Heimdall}
 | 
					    sleep 1
 | 
				
			||||||
  sleep 1
 | 
					    msg_ok "Cleaned"
 | 
				
			||||||
  msg_ok "Cleaned"
 | 
					    msg_info "Starting ${APP}"
 | 
				
			||||||
 | 
					    systemctl start heimdall.service
 | 
				
			||||||
  msg_info "Starting ${APP}"
 | 
					    sleep 2
 | 
				
			||||||
  systemctl start heimdall.service
 | 
					    msg_ok "Started ${APP}"
 | 
				
			||||||
  sleep 2
 | 
					    msg_ok "Updated Successfully"
 | 
				
			||||||
  msg_ok "Started ${APP}"
 | 
					  else
 | 
				
			||||||
  msg_ok "Updated Successfully"
 | 
					    msg_ok "No update required.  ${APP} is already at ${RELEASE}."
 | 
				
			||||||
else
 | 
					  fi
 | 
				
			||||||
  msg_ok "No update required.  ${APP} is already at ${RELEASE}."
 | 
					  exit
 | 
				
			||||||
fi
 | 
					 | 
				
			||||||
exit
 | 
					 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
start
 | 
					start
 | 
				
			||||||
@@ -109,5 +79,6 @@ build_container
 | 
				
			|||||||
description
 | 
					description
 | 
				
			||||||
 | 
					
 | 
				
			||||||
msg_ok "Completed Successfully!\n"
 | 
					msg_ok "Completed Successfully!\n"
 | 
				
			||||||
echo -e "${APP} should be reachable by going to the following URL.
 | 
					echo -e "${CREATING}${GN}${APP} setup has been successfully initialized!${CL}"
 | 
				
			||||||
         ${BL}http://${IP}:7990${CL} \n"
 | 
					echo -e "${INFO}${YW} Access it using the following URL:${CL}"
 | 
				
			||||||
 | 
					echo -e "${TAB}${GATEWAY}${BGN}http://${IP}:7990${CL}"
 | 
				
			||||||
							
								
								
									
										70
									
								
								ct/hivemq.sh
									
									
									
									
									
								
							
							
						
						
									
										70
									
								
								ct/hivemq.sh
									
									
									
									
									
								
							@@ -1,64 +1,39 @@
 | 
				
			|||||||
#!/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 tteck
 | 
					# Copyright (c) 2021-2025 tteck
 | 
				
			||||||
# Author: tteck (tteckster)
 | 
					# Author: tteck (tteckster)
 | 
				
			||||||
# License: MIT
 | 
					# License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE
 | 
				
			||||||
# https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE
 | 
					# Source: https://www.hivemq.com/
 | 
				
			||||||
 | 
					
 | 
				
			||||||
function header_info {
 | 
					# App Default Values
 | 
				
			||||||
clear
 | 
					 | 
				
			||||||
cat <<"EOF"
 | 
					 | 
				
			||||||
    __  ___            __  _______      ____________
 | 
					 | 
				
			||||||
   / / / (_)   _____  /  |/  / __ \    / ____/ ____/
 | 
					 | 
				
			||||||
  / /_/ / / | / / _ \/ /|_/ / / / /   / /   / __/
 | 
					 | 
				
			||||||
 / __  / /| |/ /  __/ /  / / /_/ /   / /___/ /___
 | 
					 | 
				
			||||||
/_/ /_/_/ |___/\___/_/  /_/\___\_\   \____/_____/
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
EOF
 | 
					 | 
				
			||||||
}
 | 
					 | 
				
			||||||
header_info
 | 
					 | 
				
			||||||
echo -e "Loading..."
 | 
					 | 
				
			||||||
APP="HiveMQ"
 | 
					APP="HiveMQ"
 | 
				
			||||||
var_disk="4"
 | 
					var_tags="mqtt"
 | 
				
			||||||
var_cpu="1"
 | 
					var_cpu="1"
 | 
				
			||||||
var_ram="1024"
 | 
					var_ram="1024"
 | 
				
			||||||
 | 
					var_disk="4"
 | 
				
			||||||
var_os="debian"
 | 
					var_os="debian"
 | 
				
			||||||
var_version="12"
 | 
					var_version="12"
 | 
				
			||||||
 | 
					var_unprivileged="1"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# App Output & Base Settings
 | 
				
			||||||
 | 
					header_info "$APP"
 | 
				
			||||||
 | 
					base_settings
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# Core
 | 
				
			||||||
variables
 | 
					variables
 | 
				
			||||||
color
 | 
					color
 | 
				
			||||||
catch_errors
 | 
					catch_errors
 | 
				
			||||||
 | 
					
 | 
				
			||||||
function default_settings() {
 | 
					 | 
				
			||||||
  CT_TYPE="1"
 | 
					 | 
				
			||||||
  PW=""
 | 
					 | 
				
			||||||
  CT_ID=$NEXTID
 | 
					 | 
				
			||||||
  HN=$NSAPP
 | 
					 | 
				
			||||||
  DISK_SIZE="$var_disk"
 | 
					 | 
				
			||||||
  CORE_COUNT="$var_cpu"
 | 
					 | 
				
			||||||
  RAM_SIZE="$var_ram"
 | 
					 | 
				
			||||||
  BRG="vmbr0"
 | 
					 | 
				
			||||||
  NET="dhcp"
 | 
					 | 
				
			||||||
  GATE=""
 | 
					 | 
				
			||||||
  APT_CACHER=""
 | 
					 | 
				
			||||||
  APT_CACHER_IP=""
 | 
					 | 
				
			||||||
  DISABLEIP6="no"
 | 
					 | 
				
			||||||
  MTU=""
 | 
					 | 
				
			||||||
  SD=""
 | 
					 | 
				
			||||||
  NS=""
 | 
					 | 
				
			||||||
  MAC=""
 | 
					 | 
				
			||||||
  VLAN=""
 | 
					 | 
				
			||||||
  SSH="no"
 | 
					 | 
				
			||||||
  VERB="no"
 | 
					 | 
				
			||||||
  echo_default
 | 
					 | 
				
			||||||
}
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
function update_script() {
 | 
					function update_script() {
 | 
				
			||||||
header_info
 | 
					    header_info
 | 
				
			||||||
check_container_storage
 | 
					    check_container_storage
 | 
				
			||||||
check_container_resources
 | 
					    check_container_resources
 | 
				
			||||||
if [[ ! -d /var ]]; then msg_error "No ${APP} Installation Found!"; exit; fi
 | 
					    if [[ ! -d /var ]]; then
 | 
				
			||||||
msg_error "There is currently no update path available."
 | 
					        msg_error "No ${APP} Installation Found!"
 | 
				
			||||||
exit
 | 
					        exit
 | 
				
			||||||
 | 
					    fi
 | 
				
			||||||
 | 
					    msg_error "There is currently no update path available."
 | 
				
			||||||
 | 
					    exit
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
start
 | 
					start
 | 
				
			||||||
@@ -66,3 +41,4 @@ build_container
 | 
				
			|||||||
description
 | 
					description
 | 
				
			||||||
 | 
					
 | 
				
			||||||
msg_ok "Completed Successfully!\n"
 | 
					msg_ok "Completed Successfully!\n"
 | 
				
			||||||
 | 
					echo -e "${CREATING}${GN}${APP} setup has been successfully initialized!${CL}"
 | 
				
			||||||
							
								
								
									
										146
									
								
								ct/hoarder.sh
									
									
									
									
									
								
							
							
						
						
									
										146
									
								
								ct/hoarder.sh
									
									
									
									
									
								
							@@ -1,100 +1,75 @@
 | 
				
			|||||||
#!/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 tteck
 | 
					# Copyright (c) 2021-2025 tteck
 | 
				
			||||||
# Author: MickLesk (Canbiz) & vhsdream
 | 
					# Author: MickLesk (Canbiz) & vhsdream
 | 
				
			||||||
# License: MIT
 | 
					# License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE
 | 
				
			||||||
# https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE
 | 
					# Source: https://hoarder.app/
 | 
				
			||||||
 | 
					
 | 
				
			||||||
function header_info {
 | 
					# App Default Values
 | 
				
			||||||
clear
 | 
					 | 
				
			||||||
cat <<"EOF"
 | 
					 | 
				
			||||||
    __  __                     __
 | 
					 | 
				
			||||||
   / / / /___  ____ __________/ /__  _____
 | 
					 | 
				
			||||||
  / /_/ / __ \/ __ `/ ___/ __  / _ \/ ___/
 | 
					 | 
				
			||||||
 / __  / /_/ / /_/ / /  / /_/ /  __/ /
 | 
					 | 
				
			||||||
/_/ /_/\____/\__,_/_/   \__,_/\___/_/
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
EOF
 | 
					 | 
				
			||||||
}
 | 
					 | 
				
			||||||
header_info
 | 
					 | 
				
			||||||
echo -e "Loading..."
 | 
					 | 
				
			||||||
APP="Hoarder"
 | 
					APP="Hoarder"
 | 
				
			||||||
var_disk="8"
 | 
					var_tags="bookmark"
 | 
				
			||||||
var_cpu="2"
 | 
					var_cpu="2"
 | 
				
			||||||
var_ram="4096"
 | 
					var_ram="4096"
 | 
				
			||||||
 | 
					var_disk="8"
 | 
				
			||||||
var_os="debian"
 | 
					var_os="debian"
 | 
				
			||||||
var_version="12"
 | 
					var_version="12"
 | 
				
			||||||
 | 
					var_unprivileged="1"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# App Output & Base Settings
 | 
				
			||||||
 | 
					header_info "$APP"
 | 
				
			||||||
 | 
					base_settings
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# Core
 | 
				
			||||||
variables
 | 
					variables
 | 
				
			||||||
color
 | 
					color
 | 
				
			||||||
catch_errors
 | 
					catch_errors
 | 
				
			||||||
 | 
					
 | 
				
			||||||
function default_settings() {
 | 
					 | 
				
			||||||
  CT_TYPE="1"
 | 
					 | 
				
			||||||
  PW=""
 | 
					 | 
				
			||||||
  CT_ID=$NEXTID
 | 
					 | 
				
			||||||
  HN=$NSAPP
 | 
					 | 
				
			||||||
  DISK_SIZE="$var_disk"
 | 
					 | 
				
			||||||
  CORE_COUNT="$var_cpu"
 | 
					 | 
				
			||||||
  RAM_SIZE="$var_ram"
 | 
					 | 
				
			||||||
  BRG="vmbr0"
 | 
					 | 
				
			||||||
  NET="dhcp"
 | 
					 | 
				
			||||||
  GATE=""
 | 
					 | 
				
			||||||
  APT_CACHER=""
 | 
					 | 
				
			||||||
  APT_CACHER_IP=""
 | 
					 | 
				
			||||||
  DISABLEIP6="no"
 | 
					 | 
				
			||||||
  MTU=""
 | 
					 | 
				
			||||||
  SD=""
 | 
					 | 
				
			||||||
  NS=""
 | 
					 | 
				
			||||||
  MAC=""
 | 
					 | 
				
			||||||
  VLAN=""
 | 
					 | 
				
			||||||
  SSH="no"
 | 
					 | 
				
			||||||
  VERB="no"
 | 
					 | 
				
			||||||
  echo_default
 | 
					 | 
				
			||||||
}
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
function update_script() {
 | 
					function update_script() {
 | 
				
			||||||
header_info
 | 
					  header_info
 | 
				
			||||||
check_container_storage
 | 
					  check_container_storage
 | 
				
			||||||
check_container_resources
 | 
					  check_container_resources
 | 
				
			||||||
if [[ ! -d /opt/hoarder ]]; then msg_error "No ${APP} Installation Found!"; exit; fi
 | 
					  if [[ ! -d /opt/hoarder ]]; then
 | 
				
			||||||
RELEASE=$(curl -s https://api.github.com/repos/hoarder-app/hoarder/releases/latest | grep "tag_name" | awk '{print substr($2, 3, length($2)-4) }')
 | 
					    msg_error "No ${APP} Installation Found!"
 | 
				
			||||||
PREV_RELEASE=$(cat /opt/${APP}_version.txt)
 | 
					    exit
 | 
				
			||||||
if [[ ! -f /opt/${APP}_version.txt ]] || [[ "${RELEASE}" != "${PREV_RELEASE}" ]]; then
 | 
					  fi
 | 
				
			||||||
  msg_info "Stopping Services"
 | 
					  RELEASE=$(curl -s https://api.github.com/repos/hoarder-app/hoarder/releases/latest | grep "tag_name" | awk '{print substr($2, 3, length($2)-4) }')
 | 
				
			||||||
  systemctl stop hoarder-web hoarder-workers hoarder-browser
 | 
					  PREV_RELEASE=$(cat /opt/${APP}_version.txt)
 | 
				
			||||||
  msg_ok "Stopped Services"
 | 
					  if [[ ! -f /opt/${APP}_version.txt ]] || [[ "${RELEASE}" != "${PREV_RELEASE}" ]]; then
 | 
				
			||||||
  msg_info "Updating ${APP} to v${RELEASE}"
 | 
					    msg_info "Stopping Services"
 | 
				
			||||||
  cd /opt
 | 
					    systemctl stop hoarder-web hoarder-workers hoarder-browser
 | 
				
			||||||
  mv /opt/hoarder/.env /opt/.env
 | 
					    msg_ok "Stopped Services"
 | 
				
			||||||
  rm -rf /opt/hoarder
 | 
					    msg_info "Updating ${APP} to v${RELEASE}"
 | 
				
			||||||
  wget -q "https://github.com/hoarder-app/hoarder/archive/refs/tags/v${RELEASE}.zip"
 | 
					    cd /opt
 | 
				
			||||||
  unzip -q v${RELEASE}.zip
 | 
					    mv /opt/hoarder/.env /opt/.env
 | 
				
			||||||
  mv hoarder-${RELEASE} /opt/hoarder
 | 
					    rm -rf /opt/hoarder
 | 
				
			||||||
  cd /opt/hoarder/apps/web
 | 
					    wget -q "https://github.com/hoarder-app/hoarder/archive/refs/tags/v${RELEASE}.zip"
 | 
				
			||||||
  pnpm install --frozen-lockfile &>/dev/null
 | 
					    unzip -q v${RELEASE}.zip
 | 
				
			||||||
  pnpm exec next build --experimental-build-mode compile &>/dev/null
 | 
					    mv hoarder-${RELEASE} /opt/hoarder
 | 
				
			||||||
  cp -r /opt/hoarder/apps/web/.next/standalone/apps/web/server.js /opt/hoarder/apps/web
 | 
					    cd /opt/hoarder/apps/web
 | 
				
			||||||
  cd /opt/hoarder/apps/workers
 | 
					    pnpm install --frozen-lockfile &>/dev/null
 | 
				
			||||||
  pnpm install --frozen-lockfile &>/dev/null
 | 
					    pnpm exec next build --experimental-build-mode compile &>/dev/null
 | 
				
			||||||
  export DATA_DIR=/opt/hoarder_data
 | 
					    cp -r /opt/hoarder/apps/web/.next/standalone/apps/web/server.js /opt/hoarder/apps/web
 | 
				
			||||||
  cd /opt/hoarder/packages/db
 | 
					    cd /opt/hoarder/apps/workers
 | 
				
			||||||
  pnpm migrate &>/dev/null
 | 
					    pnpm install --frozen-lockfile &>/dev/null
 | 
				
			||||||
  mv /opt/.env /opt/hoarder/.env
 | 
					    export DATA_DIR=/opt/hoarder_data
 | 
				
			||||||
  sed -i "s/SERVER_VERSION=${PREV_RELEASE}/SERVER_VERSION=${RELEASE}/" /opt/hoarder/.env
 | 
					    cd /opt/hoarder/packages/db
 | 
				
			||||||
  msg_ok "Updated ${APP} to v${RELEASE}"
 | 
					    pnpm migrate &>/dev/null
 | 
				
			||||||
  
 | 
					    mv /opt/.env /opt/hoarder/.env
 | 
				
			||||||
  msg_info "Starting Services"
 | 
					    sed -i "s/SERVER_VERSION=${PREV_RELEASE}/SERVER_VERSION=${RELEASE}/" /opt/hoarder/.env
 | 
				
			||||||
  systemctl start hoarder-browser hoarder-workers hoarder-web
 | 
					    msg_ok "Updated ${APP} to v${RELEASE}"
 | 
				
			||||||
  msg_ok "Started Services"
 | 
					
 | 
				
			||||||
  msg_info "Cleaning up"
 | 
					    msg_info "Starting Services"
 | 
				
			||||||
  rm -R /opt/v${RELEASE}.zip
 | 
					    systemctl start hoarder-browser hoarder-workers hoarder-web
 | 
				
			||||||
  echo "${RELEASE}" >/opt/${APP}_version.txt
 | 
					    msg_ok "Started Services"
 | 
				
			||||||
  msg_ok "Cleaned"
 | 
					    msg_info "Cleaning up"
 | 
				
			||||||
  msg_ok "Updated Successfully"
 | 
					    rm -R /opt/v${RELEASE}.zip
 | 
				
			||||||
else
 | 
					    echo "${RELEASE}" >/opt/${APP}_version.txt
 | 
				
			||||||
  msg_ok "No update required.  ${APP} is already at ${RELEASE}."
 | 
					    msg_ok "Cleaned"
 | 
				
			||||||
fi
 | 
					    msg_ok "Updated Successfully"
 | 
				
			||||||
exit
 | 
					  else
 | 
				
			||||||
 | 
					    msg_ok "No update required.  ${APP} is already at ${RELEASE}."
 | 
				
			||||||
 | 
					  fi
 | 
				
			||||||
 | 
					  exit
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
start
 | 
					start
 | 
				
			||||||
@@ -102,5 +77,6 @@ build_container
 | 
				
			|||||||
description
 | 
					description
 | 
				
			||||||
 | 
					
 | 
				
			||||||
msg_ok "Completed Successfully!\n"
 | 
					msg_ok "Completed Successfully!\n"
 | 
				
			||||||
echo -e "${APP} Setup should be reachable by going to the following URL.
 | 
					echo -e "${CREATING}${GN}${APP} setup has been successfully initialized!${CL}"
 | 
				
			||||||
         ${BL}http://${IP}:3000${CL} \n"
 | 
					echo -e "${INFO}${YW} Access it using the following URL:${CL}"
 | 
				
			||||||
 | 
					echo -e "${TAB}${GATEWAY}${BGN}http://${IP}:3000${CL}"
 | 
				
			||||||
							
								
								
									
										149
									
								
								ct/homarr.sh
									
									
									
									
									
								
							
							
						
						
									
										149
									
								
								ct/homarr.sh
									
									
									
									
									
								
							@@ -1,105 +1,79 @@
 | 
				
			|||||||
#!/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 tteck
 | 
					# Copyright (c) 2021-2025 tteck
 | 
				
			||||||
# Author: tteck (tteckster)
 | 
					# Author: tteck (tteckster) | Co-Author: MickLesk (Canbiz)
 | 
				
			||||||
# Co-Author: MickLesk (Canbiz)
 | 
					# License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE
 | 
				
			||||||
# License: MIT
 | 
					# Source: https://homarr.dev/
 | 
				
			||||||
# https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE
 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
function header_info {
 | 
					# App Default Values
 | 
				
			||||||
clear
 | 
					 | 
				
			||||||
cat <<"EOF"
 | 
					 | 
				
			||||||
    __  __
 | 
					 | 
				
			||||||
   / / / /___  ____ ___  ____ ___________
 | 
					 | 
				
			||||||
  / /_/ / __ \/ __ `__ \/ __ `/ ___/ ___/
 | 
					 | 
				
			||||||
 / __  / /_/ / / / / / / /_/ / /  / /
 | 
					 | 
				
			||||||
/_/ /_/\____/_/ /_/ /_/\__,_/_/  /_/
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
EOF
 | 
					 | 
				
			||||||
}
 | 
					 | 
				
			||||||
header_info
 | 
					 | 
				
			||||||
echo -e "Loading..."
 | 
					 | 
				
			||||||
APP="Homarr"
 | 
					APP="Homarr"
 | 
				
			||||||
var_disk="8"
 | 
					var_tags="arr;dashboard"
 | 
				
			||||||
var_cpu="2"
 | 
					var_cpu="2"
 | 
				
			||||||
var_ram="2048"
 | 
					var_ram="2048"
 | 
				
			||||||
 | 
					var_disk="8"
 | 
				
			||||||
var_os="debian"
 | 
					var_os="debian"
 | 
				
			||||||
var_version="12"
 | 
					var_version="12"
 | 
				
			||||||
 | 
					var_unprivileged="1"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# App Output & Base Settings
 | 
				
			||||||
 | 
					header_info "$APP"
 | 
				
			||||||
 | 
					base_settings
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# Core
 | 
				
			||||||
variables
 | 
					variables
 | 
				
			||||||
color
 | 
					color
 | 
				
			||||||
catch_errors
 | 
					catch_errors
 | 
				
			||||||
 | 
					
 | 
				
			||||||
function default_settings() {
 | 
					 | 
				
			||||||
  CT_TYPE="1"
 | 
					 | 
				
			||||||
  PW=""
 | 
					 | 
				
			||||||
  CT_ID=$NEXTID
 | 
					 | 
				
			||||||
  HN=$NSAPP
 | 
					 | 
				
			||||||
  DISK_SIZE="$var_disk"
 | 
					 | 
				
			||||||
  CORE_COUNT="$var_cpu"
 | 
					 | 
				
			||||||
  RAM_SIZE="$var_ram"
 | 
					 | 
				
			||||||
  BRG="vmbr0"
 | 
					 | 
				
			||||||
  NET="dhcp"
 | 
					 | 
				
			||||||
  GATE=""
 | 
					 | 
				
			||||||
  APT_CACHER=""
 | 
					 | 
				
			||||||
  APT_CACHER_IP=""
 | 
					 | 
				
			||||||
  DISABLEIP6="no"
 | 
					 | 
				
			||||||
  MTU=""
 | 
					 | 
				
			||||||
  SD=""
 | 
					 | 
				
			||||||
  NS=""
 | 
					 | 
				
			||||||
  MAC=""
 | 
					 | 
				
			||||||
  VLAN=""
 | 
					 | 
				
			||||||
  SSH="no"
 | 
					 | 
				
			||||||
  VERB="no"
 | 
					 | 
				
			||||||
  echo_default
 | 
					 | 
				
			||||||
}
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
function update_script() {
 | 
					function update_script() {
 | 
				
			||||||
header_info
 | 
					  header_info
 | 
				
			||||||
check_container_storage
 | 
					  check_container_storage
 | 
				
			||||||
check_container_resources
 | 
					  check_container_resources
 | 
				
			||||||
if [[ ! -d /opt/homarr ]]; then msg_error "No ${APP} Installation Found!"; exit; fi
 | 
					  if [[ ! -d /opt/homarr ]]; then
 | 
				
			||||||
RELEASE=$(curl -s https://api.github.com/repos/ajnart/homarr/releases/latest | grep "tag_name" | awk '{print substr($2, 3, length($2)-4) }')
 | 
					    msg_error "No ${APP} Installation Found!"
 | 
				
			||||||
if [[ ! -f /opt/${APP}_version.txt ]] || [[ "${RELEASE}" != "$(cat /opt/${APP}_version.txt)" ]]; then
 | 
					    exit
 | 
				
			||||||
  msg_info "Stopping Services"
 | 
					  fi
 | 
				
			||||||
  systemctl stop homarr
 | 
					  RELEASE=$(curl -s https://api.github.com/repos/ajnart/homarr/releases/latest | grep "tag_name" | awk '{print substr($2, 3, length($2)-4) }')
 | 
				
			||||||
  msg_ok "Services Stopped"
 | 
					  if [[ ! -f /opt/${APP}_version.txt ]] || [[ "${RELEASE}" != "$(cat /opt/${APP}_version.txt)" ]]; then
 | 
				
			||||||
 | 
					    msg_info "Stopping Services"
 | 
				
			||||||
 | 
					    systemctl stop homarr
 | 
				
			||||||
 | 
					    msg_ok "Services Stopped"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  msg_info "Backing up Data"
 | 
					    msg_info "Backing up Data"
 | 
				
			||||||
  mkdir -p /opt/homarr-data-backup
 | 
					    mkdir -p /opt/homarr-data-backup
 | 
				
			||||||
  cp /opt/homarr/.env /opt/homarr-data-backup/.env
 | 
					    cp /opt/homarr/.env /opt/homarr-data-backup/.env
 | 
				
			||||||
  cp /opt/homarr/database/db.sqlite /opt/homarr-data-backup/db.sqlite
 | 
					    cp /opt/homarr/database/db.sqlite /opt/homarr-data-backup/db.sqlite
 | 
				
			||||||
  cp -r /opt/homarr/data/configs /opt/homarr-data-backup/configs
 | 
					    cp -r /opt/homarr/data/configs /opt/homarr-data-backup/configs
 | 
				
			||||||
  msg_ok "Backed up Data"
 | 
					    msg_ok "Backed up Data"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  msg_info "Updating ${APP} to ${RELEASE}"
 | 
					    msg_info "Updating ${APP} to ${RELEASE}"
 | 
				
			||||||
  wget -q "https://github.com/ajnart/homarr/archive/refs/tags/v${RELEASE}.zip"
 | 
					    wget -q "https://github.com/ajnart/homarr/archive/refs/tags/v${RELEASE}.zip"
 | 
				
			||||||
  unzip -q v${RELEASE}.zip
 | 
					    unzip -q v${RELEASE}.zip
 | 
				
			||||||
  rm -rf v${RELEASE}.zip
 | 
					    rm -rf v${RELEASE}.zip
 | 
				
			||||||
  rm -rf /opt/homarr
 | 
					    rm -rf /opt/homarr
 | 
				
			||||||
  mv homarr-${RELEASE} /opt/homarr
 | 
					    mv homarr-${RELEASE} /opt/homarr
 | 
				
			||||||
  mv /opt/homarr-data-backup/.env /opt/homarr/.env
 | 
					    mv /opt/homarr-data-backup/.env /opt/homarr/.env
 | 
				
			||||||
  cd /opt/homarr
 | 
					    cd /opt/homarr
 | 
				
			||||||
  yarn install &>/dev/null
 | 
					    yarn install &>/dev/null
 | 
				
			||||||
  yarn build &>/dev/null
 | 
					    yarn build &>/dev/null
 | 
				
			||||||
  echo "${RELEASE}" >/opt/${APP}_version.txt
 | 
					    echo "${RELEASE}" >/opt/${APP}_version.txt
 | 
				
			||||||
  msg_ok "Updated ${APP}"
 | 
					    msg_ok "Updated ${APP}"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  msg_info "Restoring Data"
 | 
					    msg_info "Restoring Data"
 | 
				
			||||||
  rm -rf /opt/homarr/data/configs
 | 
					    rm -rf /opt/homarr/data/configs
 | 
				
			||||||
  mv /opt/homarr-data-backup/configs /opt/homarr/data/configs
 | 
					    mv /opt/homarr-data-backup/configs /opt/homarr/data/configs
 | 
				
			||||||
  mv /opt/homarr-data-backup/db.sqlite /opt/homarr/database/db.sqlite
 | 
					    mv /opt/homarr-data-backup/db.sqlite /opt/homarr/database/db.sqlite
 | 
				
			||||||
  yarn db:migrate &>/dev/null
 | 
					    yarn db:migrate &>/dev/null
 | 
				
			||||||
  rm -rf /opt/homarr-data-backup
 | 
					    rm -rf /opt/homarr-data-backup
 | 
				
			||||||
  msg_ok "Restored Data"
 | 
					    msg_ok "Restored Data"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  msg_info "Starting Services"
 | 
					    msg_info "Starting Services"
 | 
				
			||||||
  systemctl start homarr
 | 
					    systemctl start homarr
 | 
				
			||||||
  msg_ok "Started Services"
 | 
					    msg_ok "Started Services"
 | 
				
			||||||
  msg_ok "Updated Successfully"
 | 
					    msg_ok "Updated Successfully"
 | 
				
			||||||
else
 | 
					  else
 | 
				
			||||||
  msg_ok "No update required. ${APP} is already at ${RELEASE}"
 | 
					    msg_ok "No update required. ${APP} is already at ${RELEASE}"
 | 
				
			||||||
fi
 | 
					  fi
 | 
				
			||||||
exit
 | 
					  exit
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
start
 | 
					start
 | 
				
			||||||
@@ -107,5 +81,6 @@ build_container
 | 
				
			|||||||
description
 | 
					description
 | 
				
			||||||
 | 
					
 | 
				
			||||||
msg_ok "Completed Successfully!\n"
 | 
					msg_ok "Completed Successfully!\n"
 | 
				
			||||||
echo -e "${APP} should be reachable by going to the following URL.
 | 
					echo -e "${CREATING}${GN}${APP} setup has been successfully initialized!${CL}"
 | 
				
			||||||
         ${BL}http://${IP}:3000${CL} \n"
 | 
					echo -e "${INFO}${YW} Access it using the following URL:${CL}"
 | 
				
			||||||
 | 
					echo -e "${TAB}${GATEWAY}${BGN}http://${IP}:3000${CL}"
 | 
				
			||||||
@@ -1,57 +1,29 @@
 | 
				
			|||||||
#!/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 tteck
 | 
					# Copyright (c) 2021-2025 tteck
 | 
				
			||||||
# Author: tteck (tteckster)
 | 
					# Author: tteck (tteckster)
 | 
				
			||||||
# License: MIT
 | 
					# License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE
 | 
				
			||||||
# https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE
 | 
					# Source: https://www.home-assistant.io/
 | 
				
			||||||
 | 
					
 | 
				
			||||||
function header_info {
 | 
					# App Default Values
 | 
				
			||||||
  clear
 | 
					 | 
				
			||||||
  cat <<"EOF"
 | 
					 | 
				
			||||||
                                _           _     _              _       ___               
 | 
					 | 
				
			||||||
  /\  /\___  _ __ ___   ___    /_\  ___ ___(_)___| |_ __ _ _ __ | |_    / __\___  _ __ ___ 
 | 
					 | 
				
			||||||
 / /_/ / _ \| '_ ` _ \ / _ \  //_\\/ __/ __| / __| __/ _` | '_ \| __|  / /  / _ \| '__/ _ \
 | 
					 | 
				
			||||||
/ __  / (_) | | | | | |  __/ /  _  \__ \__ \ \__ \ || (_| | | | | |_  / /__| (_) | | |  __/
 | 
					 | 
				
			||||||
\/ /_/ \___/|_| |_| |_|\___| \_/ \_/___/___/_|___/\__\__,_|_| |_|\__| \____/\___/|_|  \___|
 | 
					 | 
				
			||||||
                                                                                           
 | 
					 | 
				
			||||||
EOF
 | 
					 | 
				
			||||||
}
 | 
					 | 
				
			||||||
header_info
 | 
					 | 
				
			||||||
echo -e "Loading..."
 | 
					 | 
				
			||||||
APP="Home Assistant-Core"
 | 
					APP="Home Assistant-Core"
 | 
				
			||||||
var_disk="8"
 | 
					var_tags="automation;smarthome"
 | 
				
			||||||
var_cpu="2"
 | 
					var_cpu="2"
 | 
				
			||||||
var_ram="1024"
 | 
					var_ram="1024"
 | 
				
			||||||
 | 
					var_disk="8"
 | 
				
			||||||
var_os="ubuntu"
 | 
					var_os="ubuntu"
 | 
				
			||||||
var_version="24.04"
 | 
					var_version="24.04"
 | 
				
			||||||
 | 
					var_unprivileged="1"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# App Output & Base Settings
 | 
				
			||||||
 | 
					header_info "$APP"
 | 
				
			||||||
 | 
					base_settings
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# Core
 | 
				
			||||||
variables
 | 
					variables
 | 
				
			||||||
color
 | 
					color
 | 
				
			||||||
catch_errors
 | 
					catch_errors
 | 
				
			||||||
 | 
					
 | 
				
			||||||
function default_settings() {
 | 
					 | 
				
			||||||
  CT_TYPE="1"
 | 
					 | 
				
			||||||
  PW=""
 | 
					 | 
				
			||||||
  CT_ID=$NEXTID
 | 
					 | 
				
			||||||
  HN=$NSAPP
 | 
					 | 
				
			||||||
  DISK_SIZE="$var_disk"
 | 
					 | 
				
			||||||
  CORE_COUNT="$var_cpu"
 | 
					 | 
				
			||||||
  RAM_SIZE="$var_ram"
 | 
					 | 
				
			||||||
  BRG="vmbr0"
 | 
					 | 
				
			||||||
  NET="dhcp"
 | 
					 | 
				
			||||||
  GATE=""
 | 
					 | 
				
			||||||
  APT_CACHER=""
 | 
					 | 
				
			||||||
  APT_CACHER_IP=""
 | 
					 | 
				
			||||||
  DISABLEIP6="no"
 | 
					 | 
				
			||||||
  MTU=""
 | 
					 | 
				
			||||||
  SD=""
 | 
					 | 
				
			||||||
  NS=""
 | 
					 | 
				
			||||||
  MAC=""
 | 
					 | 
				
			||||||
  VLAN=""
 | 
					 | 
				
			||||||
  SSH="no"
 | 
					 | 
				
			||||||
  VERB="no"
 | 
					 | 
				
			||||||
  echo_default
 | 
					 | 
				
			||||||
}
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
function update_script() {
 | 
					function update_script() {
 | 
				
			||||||
  header_info
 | 
					  header_info
 | 
				
			||||||
  check_container_storage
 | 
					  check_container_storage
 | 
				
			||||||
@@ -119,7 +91,7 @@ function update_script() {
 | 
				
			|||||||
      filebrowser config init -a '0.0.0.0' &>/dev/null
 | 
					      filebrowser config init -a '0.0.0.0' &>/dev/null
 | 
				
			||||||
      filebrowser config set -a '0.0.0.0' &>/dev/null
 | 
					      filebrowser config set -a '0.0.0.0' &>/dev/null
 | 
				
			||||||
      filebrowser config set --auth.method=noauth &>/dev/null
 | 
					      filebrowser config set --auth.method=noauth &>/dev/null
 | 
				
			||||||
      filebrowser users add ID 1 --perm.admin &>/dev/null  
 | 
					      filebrowser users add ID 1 --perm.admin &>/dev/null
 | 
				
			||||||
    else
 | 
					    else
 | 
				
			||||||
      filebrowser config init -a '0.0.0.0' &>/dev/null
 | 
					      filebrowser config init -a '0.0.0.0' &>/dev/null
 | 
				
			||||||
      filebrowser config set -a '0.0.0.0' &>/dev/null
 | 
					      filebrowser config set -a '0.0.0.0' &>/dev/null
 | 
				
			||||||
@@ -154,5 +126,6 @@ build_container
 | 
				
			|||||||
description
 | 
					description
 | 
				
			||||||
 | 
					
 | 
				
			||||||
msg_ok "Completed Successfully!\n"
 | 
					msg_ok "Completed Successfully!\n"
 | 
				
			||||||
echo -e "${APP} should be reachable by going to the following URL.
 | 
					echo -e "${CREATING}${GN}${APP} setup has been successfully initialized!${CL}"
 | 
				
			||||||
         ${BL}http://${IP}:8123${CL}"
 | 
					echo -e "${INFO}${YW} Access it using the following URL:${CL}"
 | 
				
			||||||
 | 
					echo -e "${TAB}${GATEWAY}${BGN}http://${IP}:8123${CL}"
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -1,57 +1,29 @@
 | 
				
			|||||||
#!/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 tteck
 | 
					# Copyright (c) 2021-2025 tteck
 | 
				
			||||||
# Author: tteck (tteckster)
 | 
					# Author: tteck (tteckster)
 | 
				
			||||||
# License: MIT
 | 
					# License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE
 | 
				
			||||||
# https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE
 | 
					# Source: https://www.home-assistant.io/
 | 
				
			||||||
 | 
					
 | 
				
			||||||
function header_info {
 | 
					# App Default Values
 | 
				
			||||||
  clear
 | 
					 | 
				
			||||||
  cat <<"EOF"
 | 
					 | 
				
			||||||
    __  __                        ___              _      __              __ 
 | 
					 | 
				
			||||||
   / / / /___  ____ ___  ___     /   |  __________(_)____/ /_____ _____  / /_
 | 
					 | 
				
			||||||
  / /_/ / __ \/ __  __ \/ _ \   / /| | / ___/ ___/ / ___/ __/ __  / __ \/ __/
 | 
					 | 
				
			||||||
 / __  / /_/ / / / / / /  __/  / ___ |(__  |__  ) (__  ) /_/ /_/ / / / / /_  
 | 
					 | 
				
			||||||
/_/ /_/\____/_/ /_/ /_/\___/  /_/  |_/____/____/_/____/\__/\__,_/_/ /_/\__/  
 | 
					 | 
				
			||||||
 
 | 
					 | 
				
			||||||
EOF
 | 
					 | 
				
			||||||
}
 | 
					 | 
				
			||||||
header_info
 | 
					 | 
				
			||||||
echo -e "Loading..."
 | 
					 | 
				
			||||||
APP="Home Assistant"
 | 
					APP="Home Assistant"
 | 
				
			||||||
var_disk="16"
 | 
					var_tags="automation;smarthome"
 | 
				
			||||||
var_cpu="2"
 | 
					var_cpu="2"
 | 
				
			||||||
var_ram="2048"
 | 
					var_ram="2048"
 | 
				
			||||||
 | 
					var_disk="16"
 | 
				
			||||||
var_os="debian"
 | 
					var_os="debian"
 | 
				
			||||||
var_version="12"
 | 
					var_version="12"
 | 
				
			||||||
 | 
					var_unprivileged="1"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# App Output & Base Settings
 | 
				
			||||||
 | 
					header_info "$APP"
 | 
				
			||||||
 | 
					base_settings
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# Core
 | 
				
			||||||
variables
 | 
					variables
 | 
				
			||||||
color
 | 
					color
 | 
				
			||||||
catch_errors
 | 
					catch_errors
 | 
				
			||||||
 | 
					
 | 
				
			||||||
function default_settings() {
 | 
					 | 
				
			||||||
  CT_TYPE="1"
 | 
					 | 
				
			||||||
  PW=""
 | 
					 | 
				
			||||||
  CT_ID=$NEXTID
 | 
					 | 
				
			||||||
  HN=$NSAPP
 | 
					 | 
				
			||||||
  DISK_SIZE="$var_disk"
 | 
					 | 
				
			||||||
  CORE_COUNT="$var_cpu"
 | 
					 | 
				
			||||||
  RAM_SIZE="$var_ram"
 | 
					 | 
				
			||||||
  BRG="vmbr0"
 | 
					 | 
				
			||||||
  NET="dhcp"
 | 
					 | 
				
			||||||
  GATE=""
 | 
					 | 
				
			||||||
  APT_CACHER=""
 | 
					 | 
				
			||||||
  APT_CACHER_IP=""
 | 
					 | 
				
			||||||
  DISABLEIP6="no"
 | 
					 | 
				
			||||||
  MTU=""
 | 
					 | 
				
			||||||
  SD=""
 | 
					 | 
				
			||||||
  NS=""
 | 
					 | 
				
			||||||
  MAC=""
 | 
					 | 
				
			||||||
  VLAN=""
 | 
					 | 
				
			||||||
  SSH="no"
 | 
					 | 
				
			||||||
  VERB="no"
 | 
					 | 
				
			||||||
  echo_default
 | 
					 | 
				
			||||||
}
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
function update_script() {
 | 
					function update_script() {
 | 
				
			||||||
  header_info
 | 
					  header_info
 | 
				
			||||||
  check_container_storage
 | 
					  check_container_storage
 | 
				
			||||||
@@ -138,7 +110,7 @@ build_container
 | 
				
			|||||||
description
 | 
					description
 | 
				
			||||||
 | 
					
 | 
				
			||||||
msg_ok "Completed Successfully!\n"
 | 
					msg_ok "Completed Successfully!\n"
 | 
				
			||||||
echo -e "${APP} should be reachable by going to the following URL.
 | 
					echo -e "${CREATING}${GN}${APP} setup has been successfully initialized!${CL}"
 | 
				
			||||||
         ${BL}http://${IP}:8123${CL}
 | 
					echo -e "${INFO}${YW} Access it using the following URL:${CL}"
 | 
				
			||||||
Portainer should be reachable by going to the following URL.
 | 
					echo -e "${TAB}${GATEWAY}${BGN}HA: http://${IP}:8123${CL}"
 | 
				
			||||||
         ${BL}https://${IP}:9443${CL}\n"
 | 
					echo -e "${TAB}${GATEWAY}${BGN}Portainer: http://${IP}:9443${CL}"
 | 
				
			||||||
							
								
								
									
										115
									
								
								ct/homebox.sh
									
									
									
									
									
								
							
							
						
						
									
										115
									
								
								ct/homebox.sh
									
									
									
									
									
								
							@@ -1,86 +1,60 @@
 | 
				
			|||||||
#!/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 tteck
 | 
					# Copyright (c) 2021-2025 tteck
 | 
				
			||||||
# Author: tteck
 | 
					# Author: tteck | Co-Author: MickLesk (Canbiz)
 | 
				
			||||||
# Co-Author: MickLesk (Canbiz)
 | 
					# License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE
 | 
				
			||||||
# License: MIT
 | 
					# Source: https://homebox.software/en/
 | 
				
			||||||
# https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE
 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
function header_info {
 | 
					# App Default Values
 | 
				
			||||||
clear
 | 
					 | 
				
			||||||
cat <<"EOF"
 | 
					 | 
				
			||||||
    __  __                     ____            
 | 
					 | 
				
			||||||
   / / / /___  ____ ___  ___  / __ )____  _  __
 | 
					 | 
				
			||||||
  / /_/ / __ \/ __ `__ \/ _ \/ __  / __ \| |/_/
 | 
					 | 
				
			||||||
 / __  / /_/ / / / / / /  __/ /_/ / /_/ />  <
 | 
					 | 
				
			||||||
/_/ /_/\____/_/ /_/ /_/\___/_____/\____/_/|_|
 | 
					 | 
				
			||||||
                                                   
 | 
					 | 
				
			||||||
EOF
 | 
					 | 
				
			||||||
}
 | 
					 | 
				
			||||||
header_info
 | 
					 | 
				
			||||||
echo -e "Loading..."
 | 
					 | 
				
			||||||
APP="HomeBox"
 | 
					APP="HomeBox"
 | 
				
			||||||
var_disk="4"
 | 
					var_tags="inventory;household"
 | 
				
			||||||
var_cpu="1"
 | 
					var_cpu="1"
 | 
				
			||||||
var_ram="1024"
 | 
					var_ram="1024"
 | 
				
			||||||
 | 
					var_disk="4"
 | 
				
			||||||
var_os="debian"
 | 
					var_os="debian"
 | 
				
			||||||
var_version="12"
 | 
					var_version="12"
 | 
				
			||||||
 | 
					var_unprivileged="1"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# App Output & Base Settings
 | 
				
			||||||
 | 
					header_info "$APP"
 | 
				
			||||||
 | 
					base_settings
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# Core
 | 
				
			||||||
variables
 | 
					variables
 | 
				
			||||||
color
 | 
					color
 | 
				
			||||||
catch_errors
 | 
					catch_errors
 | 
				
			||||||
 | 
					 | 
				
			||||||
function default_settings() {
 | 
					 | 
				
			||||||
  CT_TYPE="1"
 | 
					 | 
				
			||||||
  PW=""
 | 
					 | 
				
			||||||
  CT_ID=$NEXTID
 | 
					 | 
				
			||||||
  HN=$NSAPP
 | 
					 | 
				
			||||||
  DISK_SIZE="$var_disk"
 | 
					 | 
				
			||||||
  CORE_COUNT="$var_cpu"
 | 
					 | 
				
			||||||
  RAM_SIZE="$var_ram"
 | 
					 | 
				
			||||||
  BRG="vmbr0"
 | 
					 | 
				
			||||||
  NET="dhcp"
 | 
					 | 
				
			||||||
  GATE=""
 | 
					 | 
				
			||||||
  APT_CACHER=""
 | 
					 | 
				
			||||||
  APT_CACHER_IP=""
 | 
					 | 
				
			||||||
  DISABLEIP6="no"
 | 
					 | 
				
			||||||
  MTU=""
 | 
					 | 
				
			||||||
  SD=""
 | 
					 | 
				
			||||||
  NS=""
 | 
					 | 
				
			||||||
  MAC=""
 | 
					 | 
				
			||||||
  VLAN=""
 | 
					 | 
				
			||||||
  SSH="no"
 | 
					 | 
				
			||||||
  VERB="no"
 | 
					 | 
				
			||||||
  echo_default
 | 
					 | 
				
			||||||
}
 | 
					 | 
				
			||||||
function update_script() {
 | 
					function update_script() {
 | 
				
			||||||
header_info
 | 
					  header_info
 | 
				
			||||||
check_container_storage
 | 
					  check_container_storage
 | 
				
			||||||
check_container_resources
 | 
					  check_container_resources
 | 
				
			||||||
if [[ ! -f /opt/homebox ]]; then msg_error "No ${APP} Installation Found!"; exit; fi
 | 
					  if [[ ! -f /opt/homebox ]]; then
 | 
				
			||||||
RELEASE=$(curl -s https://api.github.com/repos/sysadminsmedia/homebox/releases/latest | grep "tag_name" | awk '{print substr($2, 2, length($2)-3) }')
 | 
					    msg_error "No ${APP} Installation Found!"
 | 
				
			||||||
if [[ ! -f /opt/${APP}_version.txt ]] || [[ "${RELEASE}" != "$(cat /opt/${APP}_version.txt)" ]]; then
 | 
					    exit
 | 
				
			||||||
  msg_info "Stopping ${APP}"
 | 
					  fi
 | 
				
			||||||
  systemctl stop homebox
 | 
					  RELEASE=$(curl -s https://api.github.com/repos/sysadminsmedia/homebox/releases/latest | grep "tag_name" | awk '{print substr($2, 2, length($2)-3) }')
 | 
				
			||||||
  msg_ok "${APP} Stopped"
 | 
					  if [[ ! -f /opt/${APP}_version.txt ]] || [[ "${RELEASE}" != "$(cat /opt/${APP}_version.txt)" ]]; then
 | 
				
			||||||
 | 
					    msg_info "Stopping ${APP}"
 | 
				
			||||||
 | 
					    systemctl stop homebox
 | 
				
			||||||
 | 
					    msg_ok "${APP} Stopped"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  msg_info "Updating ${APP} to ${RELEASE}"
 | 
					    msg_info "Updating ${APP} to ${RELEASE}"
 | 
				
			||||||
  cd /opt
 | 
					    cd /opt
 | 
				
			||||||
  rm -rf homebox_bak
 | 
					    rm -rf homebox_bak
 | 
				
			||||||
  mv homebox homebox_bak
 | 
					    mv homebox homebox_bak
 | 
				
			||||||
  wget -qO- https://github.com/sysadminsmedia/homebox/releases/download/${RELEASE}/homebox_Linux_x86_64.tar.gz | tar -xzf - -C /opt
 | 
					    wget -qO- https://github.com/sysadminsmedia/homebox/releases/download/${RELEASE}/homebox_Linux_x86_64.tar.gz | tar -xzf - -C /opt
 | 
				
			||||||
  chmod +x /opt/homebox
 | 
					    chmod +x /opt/homebox
 | 
				
			||||||
  echo "${RELEASE}" >/opt/${APP}_version.txt
 | 
					    echo "${RELEASE}" >/opt/${APP}_version.txt
 | 
				
			||||||
  msg_ok "Updated Homebox"
 | 
					    msg_ok "Updated Homebox"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  msg_info "Starting ${APP}"
 | 
					    msg_info "Starting ${APP}"
 | 
				
			||||||
  systemctl start homebox
 | 
					    systemctl start homebox
 | 
				
			||||||
  msg_ok "Started ${APP}"
 | 
					    msg_ok "Started ${APP}"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  msg_ok "Updated Successfully"
 | 
					    msg_ok "Updated Successfully"
 | 
				
			||||||
else
 | 
					  else
 | 
				
			||||||
  msg_ok "No update required. ${APP} is already at ${RELEASE}"
 | 
					    msg_ok "No update required. ${APP} is already at ${RELEASE}"
 | 
				
			||||||
fi
 | 
					  fi
 | 
				
			||||||
exit
 | 
					  exit
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
start
 | 
					start
 | 
				
			||||||
@@ -88,5 +62,6 @@ build_container
 | 
				
			|||||||
description
 | 
					description
 | 
				
			||||||
 | 
					
 | 
				
			||||||
msg_ok "Completed Successfully!\n"
 | 
					msg_ok "Completed Successfully!\n"
 | 
				
			||||||
echo -e "${APP} Setup should be reachable by going to the following URL.
 | 
					echo -e "${CREATING}${GN}${APP} setup has been successfully initialized!${CL}"
 | 
				
			||||||
         ${BL}http://${IP}:7745${CL} \n"
 | 
					echo -e "${INFO}${YW} Access it using the following URL:${CL}"
 | 
				
			||||||
 | 
					echo -e "${TAB}${GATEWAY}${BGN}http://${IP}:7745${CL}"
 | 
				
			||||||
@@ -1,67 +1,42 @@
 | 
				
			|||||||
#!/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 tteck
 | 
					# Copyright (c) 2021-2025 tteck
 | 
				
			||||||
# Author: tteck (tteckster)
 | 
					# Author: tteck (tteckster)
 | 
				
			||||||
# License: MIT
 | 
					# License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE
 | 
				
			||||||
# https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE
 | 
					# Source: https://homebridge.io/
 | 
				
			||||||
 | 
					
 | 
				
			||||||
function header_info {
 | 
					# App Default Values
 | 
				
			||||||
clear
 | 
					 | 
				
			||||||
cat <<"EOF"
 | 
					 | 
				
			||||||
    __  ______  __  _____________  ____  ________  ____________
 | 
					 | 
				
			||||||
   / / / / __ \/  |/  / ____/ __ )/ __ \/  _/ __ \/ ____/ ____/
 | 
					 | 
				
			||||||
  / /_/ / / / / /|_/ / __/ / __  / /_/ // // / / / / __/ __/   
 | 
					 | 
				
			||||||
 / __  / /_/ / /  / / /___/ /_/ / _, _// // /_/ / /_/ / /___   
 | 
					 | 
				
			||||||
/_/ /_/\____/_/  /_/_____/_____/_/ |_/___/_____/\____/_____/   
 | 
					 | 
				
			||||||
 
 | 
					 | 
				
			||||||
EOF
 | 
					 | 
				
			||||||
}
 | 
					 | 
				
			||||||
header_info
 | 
					 | 
				
			||||||
echo -e "Loading..."
 | 
					 | 
				
			||||||
APP="Homebridge"
 | 
					APP="Homebridge"
 | 
				
			||||||
var_disk="4"
 | 
					var_tags="smarthome;homekit"
 | 
				
			||||||
var_cpu="1"
 | 
					var_cpu="1"
 | 
				
			||||||
var_ram="1024"
 | 
					var_ram="1024"
 | 
				
			||||||
 | 
					var_disk="4"
 | 
				
			||||||
var_os="debian"
 | 
					var_os="debian"
 | 
				
			||||||
var_version="12"
 | 
					var_version="12"
 | 
				
			||||||
 | 
					var_unprivileged="1"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# App Output & Base Settings
 | 
				
			||||||
 | 
					header_info "$APP"
 | 
				
			||||||
 | 
					base_settings
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# Core
 | 
				
			||||||
variables
 | 
					variables
 | 
				
			||||||
color
 | 
					color
 | 
				
			||||||
catch_errors
 | 
					catch_errors
 | 
				
			||||||
 | 
					
 | 
				
			||||||
function default_settings() {
 | 
					 | 
				
			||||||
  CT_TYPE="1"
 | 
					 | 
				
			||||||
  PW=""
 | 
					 | 
				
			||||||
  CT_ID=$NEXTID
 | 
					 | 
				
			||||||
  HN=$NSAPP
 | 
					 | 
				
			||||||
  DISK_SIZE="$var_disk"
 | 
					 | 
				
			||||||
  CORE_COUNT="$var_cpu"
 | 
					 | 
				
			||||||
  RAM_SIZE="$var_ram"
 | 
					 | 
				
			||||||
  BRG="vmbr0"
 | 
					 | 
				
			||||||
  NET="dhcp"
 | 
					 | 
				
			||||||
  GATE=""
 | 
					 | 
				
			||||||
  APT_CACHER=""
 | 
					 | 
				
			||||||
  APT_CACHER_IP=""
 | 
					 | 
				
			||||||
  DISABLEIP6="no"
 | 
					 | 
				
			||||||
  MTU=""
 | 
					 | 
				
			||||||
  SD=""
 | 
					 | 
				
			||||||
  NS=""
 | 
					 | 
				
			||||||
  MAC=""
 | 
					 | 
				
			||||||
  VLAN=""
 | 
					 | 
				
			||||||
  SSH="no"
 | 
					 | 
				
			||||||
  VERB="no"
 | 
					 | 
				
			||||||
  echo_default
 | 
					 | 
				
			||||||
}
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
function update_script() {
 | 
					function update_script() {
 | 
				
			||||||
header_info
 | 
					    header_info
 | 
				
			||||||
check_container_storage
 | 
					    check_container_storage
 | 
				
			||||||
check_container_resources
 | 
					    check_container_resources
 | 
				
			||||||
if [[ ! -f /etc/apt/sources.list.d/homebridge.list ]]; then msg_error "No ${APP} Installation Found!"; exit; fi
 | 
					    if [[ ! -f /etc/apt/sources.list.d/homebridge.list ]]; then
 | 
				
			||||||
msg_info "Updating ${APP} LXC"
 | 
					        msg_error "No ${APP} Installation Found!"
 | 
				
			||||||
apt-get update &>/dev/null
 | 
					        exit
 | 
				
			||||||
apt-get install -y homebridge &>/dev/null
 | 
					    fi
 | 
				
			||||||
msg_ok "Updated Successfully"
 | 
					    msg_info "Updating ${APP} LXC"
 | 
				
			||||||
exit
 | 
					    apt-get update &>/dev/null
 | 
				
			||||||
 | 
					    apt-get install -y homebridge &>/dev/null
 | 
				
			||||||
 | 
					    msg_ok "Updated Successfully"
 | 
				
			||||||
 | 
					    exit
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
start
 | 
					start
 | 
				
			||||||
@@ -69,5 +44,6 @@ build_container
 | 
				
			|||||||
description
 | 
					description
 | 
				
			||||||
 | 
					
 | 
				
			||||||
msg_ok "Completed Successfully!\n"
 | 
					msg_ok "Completed Successfully!\n"
 | 
				
			||||||
echo -e "${APP} should be reachable by going to the following URL.
 | 
					echo -e "${CREATING}${GN}${APP} setup has been successfully initialized!${CL}"
 | 
				
			||||||
         ${BL}http://${IP}:8581${CL} \n"
 | 
					echo -e "${INFO}${YW} Access it using the following URL:${CL}"
 | 
				
			||||||
 | 
					echo -e "${TAB}${GATEWAY}${BGN}http://${IP}:8581${CL}"
 | 
				
			||||||
							
								
								
									
										126
									
								
								ct/homepage.sh
									
									
									
									
									
								
							
							
						
						
									
										126
									
								
								ct/homepage.sh
									
									
									
									
									
								
							@@ -1,90 +1,67 @@
 | 
				
			|||||||
#!/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 tteck
 | 
					# Copyright (c) 2021-2025 tteck
 | 
				
			||||||
# Author: tteck (tteckster)
 | 
					# Author: tteck (tteckster)
 | 
				
			||||||
# License: MIT
 | 
					# License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE
 | 
				
			||||||
# https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE
 | 
					# Source: https://gethomepage.dev/
 | 
				
			||||||
 | 
					
 | 
				
			||||||
function header_info {
 | 
					# App Default Values
 | 
				
			||||||
clear
 | 
					 | 
				
			||||||
cat <<"EOF"
 | 
					 | 
				
			||||||
    __  __                                          
 | 
					 | 
				
			||||||
   / / / /___  ____ ___  ___  ____  ____ _____ ____ 
 | 
					 | 
				
			||||||
  / /_/ / __ \/ __ `__ \/ _ \/ __ \/ __ `/ __ `/ _ \
 | 
					 | 
				
			||||||
 / __  / /_/ / / / / / /  __/ /_/ / /_/ / /_/ /  __/
 | 
					 | 
				
			||||||
/_/ /_/\____/_/ /_/ /_/\___/ .___/\__,_/\__, /\___/ 
 | 
					 | 
				
			||||||
                          /_/          /____/       
 | 
					 | 
				
			||||||
EOF
 | 
					 | 
				
			||||||
}
 | 
					 | 
				
			||||||
header_info
 | 
					 | 
				
			||||||
echo -e "Loading..."
 | 
					 | 
				
			||||||
APP="Homepage"
 | 
					APP="Homepage"
 | 
				
			||||||
var_disk="3"
 | 
					var_tags="dashboard"
 | 
				
			||||||
var_cpu="2"
 | 
					var_cpu="2"
 | 
				
			||||||
var_ram="1024"
 | 
					var_ram="1024"
 | 
				
			||||||
 | 
					var_disk="3"
 | 
				
			||||||
var_os="debian"
 | 
					var_os="debian"
 | 
				
			||||||
var_version="12"
 | 
					var_version="12"
 | 
				
			||||||
 | 
					var_unprivileged="1"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# App Output & Base Settings
 | 
				
			||||||
 | 
					header_info "$APP"
 | 
				
			||||||
 | 
					base_settings
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# Core
 | 
				
			||||||
variables
 | 
					variables
 | 
				
			||||||
color
 | 
					color
 | 
				
			||||||
catch_errors
 | 
					catch_errors
 | 
				
			||||||
 | 
					
 | 
				
			||||||
function default_settings() {
 | 
					 | 
				
			||||||
  CT_TYPE="1"
 | 
					 | 
				
			||||||
  PW=""
 | 
					 | 
				
			||||||
  CT_ID=$NEXTID
 | 
					 | 
				
			||||||
  HN=$NSAPP
 | 
					 | 
				
			||||||
  DISK_SIZE="$var_disk"
 | 
					 | 
				
			||||||
  CORE_COUNT="$var_cpu"
 | 
					 | 
				
			||||||
  RAM_SIZE="$var_ram"
 | 
					 | 
				
			||||||
  BRG="vmbr0"
 | 
					 | 
				
			||||||
  NET="dhcp"
 | 
					 | 
				
			||||||
  GATE=""
 | 
					 | 
				
			||||||
  APT_CACHER=""
 | 
					 | 
				
			||||||
  APT_CACHER_IP=""
 | 
					 | 
				
			||||||
  DISABLEIP6="no"
 | 
					 | 
				
			||||||
  MTU=""
 | 
					 | 
				
			||||||
  SD=""
 | 
					 | 
				
			||||||
  NS=""
 | 
					 | 
				
			||||||
  MAC=""
 | 
					 | 
				
			||||||
  VLAN=""
 | 
					 | 
				
			||||||
  SSH="no"
 | 
					 | 
				
			||||||
  VERB="no"
 | 
					 | 
				
			||||||
  echo_default
 | 
					 | 
				
			||||||
}
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
function update_script() {
 | 
					function update_script() {
 | 
				
			||||||
header_info
 | 
					  header_info
 | 
				
			||||||
check_container_storage
 | 
					  check_container_storage
 | 
				
			||||||
check_container_resources
 | 
					  check_container_resources
 | 
				
			||||||
if [[ ! -d /opt/homepage ]]; then msg_error "No ${APP} Installation Found!"; exit; fi
 | 
					  if [[ ! -d /opt/homepage ]]; then
 | 
				
			||||||
if [[ "$(node -v | cut -d 'v' -f 2)" == "18."* ]]; then
 | 
					    msg_error "No ${APP} Installation Found!"
 | 
				
			||||||
  if ! command -v npm >/dev/null 2>&1; then
 | 
					    exit
 | 
				
			||||||
    echo "Installing NPM..."
 | 
					 | 
				
			||||||
    apt-get install -y npm >/dev/null 2>&1
 | 
					 | 
				
			||||||
    npm install -g pnpm >/dev/null 2>&1
 | 
					 | 
				
			||||||
    echo "Installed NPM..."
 | 
					 | 
				
			||||||
  fi
 | 
					  fi
 | 
				
			||||||
fi
 | 
					  if [[ "$(node -v | cut -d 'v' -f 2)" == "18."* ]]; then
 | 
				
			||||||
RELEASE=$(curl -s https://api.github.com/repos/gethomepage/homepage/releases/latest | grep "tag_name" | awk '{print substr($2, 3, length($2)-4) }')
 | 
					    if ! command -v npm >/dev/null 2>&1; then
 | 
				
			||||||
if [[ "${RELEASE}" != "$(cat /opt/${APP}_version.txt)" ]] || [[ ! -f /opt/${APP}_version.txt ]]; then
 | 
					      echo "Installing NPM..."
 | 
				
			||||||
  msg_info "Updating Homepage to v${RELEASE} (Patience)"
 | 
					      apt-get install -y npm >/dev/null 2>&1
 | 
				
			||||||
  systemctl stop homepage
 | 
					      npm install -g pnpm >/dev/null 2>&1
 | 
				
			||||||
  wget -q https://github.com/gethomepage/homepage/archive/refs/tags/v${RELEASE}.tar.gz
 | 
					      echo "Installed NPM..."
 | 
				
			||||||
  tar -xzf v${RELEASE}.tar.gz
 | 
					    fi
 | 
				
			||||||
  rm -rf v${RELEASE}.tar.gz
 | 
					  fi
 | 
				
			||||||
  cp -r homepage-${RELEASE}/* /opt/homepage/
 | 
					  RELEASE=$(curl -s https://api.github.com/repos/gethomepage/homepage/releases/latest | grep "tag_name" | awk '{print substr($2, 3, length($2)-4) }')
 | 
				
			||||||
  rm -rf homepage-${RELEASE}
 | 
					  if [[ "${RELEASE}" != "$(cat /opt/${APP}_version.txt)" ]] || [[ ! -f /opt/${APP}_version.txt ]]; then
 | 
				
			||||||
  cd /opt/homepage
 | 
					    msg_info "Updating Homepage to v${RELEASE} (Patience)"
 | 
				
			||||||
  npx update-browserslist-db@latest
 | 
					    systemctl stop homepage
 | 
				
			||||||
  pnpm install
 | 
					    wget -q https://github.com/gethomepage/homepage/archive/refs/tags/v${RELEASE}.tar.gz
 | 
				
			||||||
  pnpm build
 | 
					    tar -xzf v${RELEASE}.tar.gz
 | 
				
			||||||
  systemctl start homepage
 | 
					    rm -rf v${RELEASE}.tar.gz
 | 
				
			||||||
  echo "${RELEASE}" >/opt/${APP}_version.txt
 | 
					    cp -r homepage-${RELEASE}/* /opt/homepage/
 | 
				
			||||||
  msg_ok "Updated Homepage to v${RELEASE}"
 | 
					    rm -rf homepage-${RELEASE}
 | 
				
			||||||
else
 | 
					    cd /opt/homepage
 | 
				
			||||||
  msg_ok "No update required. ${APP} is already at ${RELEASE}"
 | 
					    npx --yes update-browserslist-db@latest >/dev/null 2>&1
 | 
				
			||||||
fi
 | 
					    pnpm install >/dev/null 2>&1
 | 
				
			||||||
exit
 | 
					    export NEXT_PUBLIC_VERSION="v$RELEASE"
 | 
				
			||||||
 | 
					    export NEXT_PUBLIC_REVISION="source"
 | 
				
			||||||
 | 
					    pnpm build >/dev/null 2>&1
 | 
				
			||||||
 | 
					    systemctl start homepage
 | 
				
			||||||
 | 
					    echo "${RELEASE}" >/opt/${APP}_version.txt
 | 
				
			||||||
 | 
					    msg_ok "Updated Homepage to v${RELEASE}"
 | 
				
			||||||
 | 
					  else
 | 
				
			||||||
 | 
					    msg_ok "No update required. ${APP} is already at v${RELEASE}"
 | 
				
			||||||
 | 
					  fi
 | 
				
			||||||
 | 
					  exit
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
start
 | 
					start
 | 
				
			||||||
@@ -92,5 +69,6 @@ build_container
 | 
				
			|||||||
description
 | 
					description
 | 
				
			||||||
 | 
					
 | 
				
			||||||
msg_ok "Completed Successfully!\n"
 | 
					msg_ok "Completed Successfully!\n"
 | 
				
			||||||
echo -e "${APP} Setup should be reachable by going to the following URL.
 | 
					echo -e "${CREATING}${GN}${APP} setup has been successfully initialized!${CL}"
 | 
				
			||||||
         ${BL}http://${IP}:3000${CL} \n"
 | 
					echo -e "${INFO}${YW} Access it using the following URL:${CL}"
 | 
				
			||||||
 | 
					echo -e "${TAB}${GATEWAY}${BGN}http://${IP}:3000${CL}"
 | 
				
			||||||
 
 | 
				
			|||||||
							
								
								
									
										122
									
								
								ct/homer.sh
									
									
									
									
									
								
							
							
						
						
									
										122
									
								
								ct/homer.sh
									
									
									
									
									
								
							@@ -1,93 +1,68 @@
 | 
				
			|||||||
#!/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 tteck
 | 
					# Copyright (c) 2021-2025 tteck
 | 
				
			||||||
# Author: tteck (tteckster)
 | 
					# Author: tteck (tteckster)
 | 
				
			||||||
# License: MIT
 | 
					# License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE
 | 
				
			||||||
# https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE
 | 
					# Source: https://github.com/bastienwirtz/homer
 | 
				
			||||||
 | 
					
 | 
				
			||||||
function header_info {
 | 
					# App Default Values
 | 
				
			||||||
clear
 | 
					 | 
				
			||||||
cat <<"EOF"
 | 
					 | 
				
			||||||
    __  __                         
 | 
					 | 
				
			||||||
   / / / /___  ____ ___  ___  _____
 | 
					 | 
				
			||||||
  / /_/ / __ \/ __ `__ \/ _ \/ ___/
 | 
					 | 
				
			||||||
 / __  / /_/ / / / / / /  __/ /    
 | 
					 | 
				
			||||||
/_/ /_/\____/_/ /_/ /_/\___/_/     
 | 
					 | 
				
			||||||
                                   
 | 
					 | 
				
			||||||
EOF
 | 
					 | 
				
			||||||
}
 | 
					 | 
				
			||||||
header_info
 | 
					 | 
				
			||||||
echo -e "Loading..."
 | 
					 | 
				
			||||||
APP="Homer"
 | 
					APP="Homer"
 | 
				
			||||||
var_disk="2"
 | 
					var_tags="dashboard"
 | 
				
			||||||
var_cpu="1"
 | 
					var_cpu="1"
 | 
				
			||||||
var_ram="512"
 | 
					var_ram="512"
 | 
				
			||||||
 | 
					var_disk="2"
 | 
				
			||||||
var_os="debian"
 | 
					var_os="debian"
 | 
				
			||||||
var_version="12"
 | 
					var_version="12"
 | 
				
			||||||
 | 
					var_unprivileged="1"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# App Output & Base Settings
 | 
				
			||||||
 | 
					header_info "$APP"
 | 
				
			||||||
 | 
					base_settings
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# Core
 | 
				
			||||||
variables
 | 
					variables
 | 
				
			||||||
color
 | 
					color
 | 
				
			||||||
catch_errors
 | 
					catch_errors
 | 
				
			||||||
 | 
					
 | 
				
			||||||
function default_settings() {
 | 
					 | 
				
			||||||
  CT_TYPE="1"
 | 
					 | 
				
			||||||
  PW=""
 | 
					 | 
				
			||||||
  CT_ID=$NEXTID
 | 
					 | 
				
			||||||
  HN=$NSAPP
 | 
					 | 
				
			||||||
  DISK_SIZE="$var_disk"
 | 
					 | 
				
			||||||
  CORE_COUNT="$var_cpu"
 | 
					 | 
				
			||||||
  RAM_SIZE="$var_ram"
 | 
					 | 
				
			||||||
  BRG="vmbr0"
 | 
					 | 
				
			||||||
  NET="dhcp"
 | 
					 | 
				
			||||||
  GATE=""
 | 
					 | 
				
			||||||
  APT_CACHER=""
 | 
					 | 
				
			||||||
  APT_CACHER_IP=""
 | 
					 | 
				
			||||||
  DISABLEIP6="no"
 | 
					 | 
				
			||||||
  MTU=""
 | 
					 | 
				
			||||||
  SD=""
 | 
					 | 
				
			||||||
  NS=""
 | 
					 | 
				
			||||||
  MAC=""
 | 
					 | 
				
			||||||
  VLAN=""
 | 
					 | 
				
			||||||
  SSH="no"
 | 
					 | 
				
			||||||
  VERB="no"
 | 
					 | 
				
			||||||
  echo_default
 | 
					 | 
				
			||||||
}
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
function update_script() {
 | 
					function update_script() {
 | 
				
			||||||
header_info
 | 
					    header_info
 | 
				
			||||||
check_container_storage
 | 
					    check_container_storage
 | 
				
			||||||
check_container_resources
 | 
					    check_container_resources
 | 
				
			||||||
if [[ ! -d /opt/homer ]]; then msg_error "No ${APP} Installation Found!"; exit; fi
 | 
					    if [[ ! -d /opt/homer ]]; then
 | 
				
			||||||
msg_info "Stopping ${APP}"
 | 
					        msg_error "No ${APP} Installation Found!"
 | 
				
			||||||
systemctl stop homer
 | 
					        exit
 | 
				
			||||||
msg_ok "Stopped ${APP}"
 | 
					    fi
 | 
				
			||||||
 | 
					    msg_info "Stopping ${APP}"
 | 
				
			||||||
 | 
					    systemctl stop homer
 | 
				
			||||||
 | 
					    msg_ok "Stopped ${APP}"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
msg_info "Backing up assets directory"
 | 
					    msg_info "Backing up assets directory"
 | 
				
			||||||
cd ~
 | 
					    cd ~
 | 
				
			||||||
mkdir -p assets-backup
 | 
					    mkdir -p assets-backup
 | 
				
			||||||
cp -R /opt/homer/assets/. assets-backup
 | 
					    cp -R /opt/homer/assets/. assets-backup
 | 
				
			||||||
msg_ok "Backed up assets directory"
 | 
					    msg_ok "Backed up assets directory"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
msg_info "Updating ${APP}"
 | 
					    msg_info "Updating ${APP}"
 | 
				
			||||||
rm -rf /opt/homer/*
 | 
					    rm -rf /opt/homer/*
 | 
				
			||||||
cd /opt/homer
 | 
					    cd /opt/homer
 | 
				
			||||||
wget -q https://github.com/bastienwirtz/homer/releases/latest/download/homer.zip
 | 
					    wget -q https://github.com/bastienwirtz/homer/releases/latest/download/homer.zip
 | 
				
			||||||
unzip homer.zip &>/dev/null
 | 
					    unzip homer.zip &>/dev/null
 | 
				
			||||||
msg_ok "Updated ${APP}"
 | 
					    msg_ok "Updated ${APP}"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
msg_info "Restoring assets directory"
 | 
					    msg_info "Restoring assets directory"
 | 
				
			||||||
cd ~
 | 
					    cd ~
 | 
				
			||||||
cp -Rf assets-backup/. /opt/homer/assets/
 | 
					    cp -Rf assets-backup/. /opt/homer/assets/
 | 
				
			||||||
msg_ok "Restored assets directory"
 | 
					    msg_ok "Restored assets directory"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
msg_info "Cleaning"
 | 
					    msg_info "Cleaning"
 | 
				
			||||||
rm -rf assets-backup /opt/homer/homer.zip
 | 
					    rm -rf assets-backup /opt/homer/homer.zip
 | 
				
			||||||
msg_ok "Cleaned"
 | 
					    msg_ok "Cleaned"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
msg_info "Starting ${APP}"
 | 
					    msg_info "Starting ${APP}"
 | 
				
			||||||
systemctl start homer
 | 
					    systemctl start homer
 | 
				
			||||||
msg_ok "Started ${APP}"
 | 
					    msg_ok "Started ${APP}"
 | 
				
			||||||
msg_ok "Updated Successfully"
 | 
					    msg_ok "Updated Successfully"
 | 
				
			||||||
exit
 | 
					    exit
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
start
 | 
					start
 | 
				
			||||||
@@ -95,5 +70,6 @@ build_container
 | 
				
			|||||||
description
 | 
					description
 | 
				
			||||||
 | 
					
 | 
				
			||||||
msg_ok "Completed Successfully!\n"
 | 
					msg_ok "Completed Successfully!\n"
 | 
				
			||||||
echo -e "${APP} should be reachable by going to the following URL.
 | 
					echo -e "${CREATING}${GN}${APP} setup has been successfully initialized!${CL}"
 | 
				
			||||||
         ${BL}http://${IP}:8010${CL} \n"
 | 
					echo -e "${INFO}${YW} Access it using the following URL:${CL}"
 | 
				
			||||||
 | 
					echo -e "${TAB}${GATEWAY}${BGN}http://${IP}:8010${CL}"
 | 
				
			||||||
@@ -1,68 +1,42 @@
 | 
				
			|||||||
#!/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 tteck
 | 
					# Copyright (c) 2021-2025 tteck
 | 
				
			||||||
# Author: tteck (tteckster)
 | 
					# Author: tteck (tteckster)
 | 
				
			||||||
# License: MIT
 | 
					# License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE
 | 
				
			||||||
# https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE
 | 
					# Source: https://www.hyperhdr.eu/
 | 
				
			||||||
 | 
					
 | 
				
			||||||
function header_info {
 | 
					# App Default Values
 | 
				
			||||||
clear
 | 
					 | 
				
			||||||
cat <<"EOF"
 | 
					 | 
				
			||||||
    __  __                      __  ______  ____
 | 
					 | 
				
			||||||
   / / / /_  ______  ___  _____/ / / / __ \/ __ \
 | 
					 | 
				
			||||||
  / /_/ / / / / __ \/ _ \/ ___/ /_/ / / / / /_/ /
 | 
					 | 
				
			||||||
 / __  / /_/ / /_/ /  __/ /  / __  / /_/ / _, _/
 | 
					 | 
				
			||||||
/_/ /_/\__, / .___/\___/_/  /_/ /_/_____/_/ |_|
 | 
					 | 
				
			||||||
      /____/_/
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
EOF
 | 
					 | 
				
			||||||
}
 | 
					 | 
				
			||||||
header_info
 | 
					 | 
				
			||||||
echo -e "Loading..."
 | 
					 | 
				
			||||||
APP="HyperHDR"
 | 
					APP="HyperHDR"
 | 
				
			||||||
var_disk="4"
 | 
					var_tags="ambient lightning"
 | 
				
			||||||
var_cpu="2"
 | 
					var_cpu="2"
 | 
				
			||||||
var_ram="2048"
 | 
					var_ram="2048"
 | 
				
			||||||
 | 
					var_disk="4"
 | 
				
			||||||
var_os="debian"
 | 
					var_os="debian"
 | 
				
			||||||
var_version="12"
 | 
					var_version="12"
 | 
				
			||||||
 | 
					var_unprivileged="0"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# App Output & Base Settings
 | 
				
			||||||
 | 
					header_info "$APP"
 | 
				
			||||||
 | 
					base_settings
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# Core
 | 
				
			||||||
variables
 | 
					variables
 | 
				
			||||||
color
 | 
					color
 | 
				
			||||||
catch_errors
 | 
					catch_errors
 | 
				
			||||||
 | 
					
 | 
				
			||||||
function default_settings() {
 | 
					 | 
				
			||||||
  CT_TYPE="0"
 | 
					 | 
				
			||||||
  PW=""
 | 
					 | 
				
			||||||
  CT_ID=$NEXTID
 | 
					 | 
				
			||||||
  HN=$NSAPP
 | 
					 | 
				
			||||||
  DISK_SIZE="$var_disk"
 | 
					 | 
				
			||||||
  CORE_COUNT="$var_cpu"
 | 
					 | 
				
			||||||
  RAM_SIZE="$var_ram"
 | 
					 | 
				
			||||||
  BRG="vmbr0"
 | 
					 | 
				
			||||||
  NET="dhcp"
 | 
					 | 
				
			||||||
  GATE=""
 | 
					 | 
				
			||||||
  APT_CACHER=""
 | 
					 | 
				
			||||||
  APT_CACHER_IP=""
 | 
					 | 
				
			||||||
  DISABLEIP6="no"
 | 
					 | 
				
			||||||
  MTU=""
 | 
					 | 
				
			||||||
  SD=""
 | 
					 | 
				
			||||||
  NS=""
 | 
					 | 
				
			||||||
  MAC=""
 | 
					 | 
				
			||||||
  VLAN=""
 | 
					 | 
				
			||||||
  SSH="no"
 | 
					 | 
				
			||||||
  VERB="no"
 | 
					 | 
				
			||||||
  echo_default
 | 
					 | 
				
			||||||
}
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
function update_script() {
 | 
					function update_script() {
 | 
				
			||||||
header_info
 | 
					  header_info
 | 
				
			||||||
check_container_storage
 | 
					  check_container_storage
 | 
				
			||||||
check_container_resources
 | 
					  check_container_resources
 | 
				
			||||||
if [[ ! -d /var ]]; then msg_error "No ${APP} Installation Found!"; exit; fi
 | 
					  if [[ ! -d /var ]]; then
 | 
				
			||||||
msg_info "Updating $APP LXC"
 | 
					    msg_error "No ${APP} Installation Found!"
 | 
				
			||||||
apt-get update &>/dev/null
 | 
					    exit
 | 
				
			||||||
apt-get -y upgrade &>/dev/null
 | 
					  fi
 | 
				
			||||||
msg_ok "Updated $APP LXC"
 | 
					  msg_info "Updating $APP LXC"
 | 
				
			||||||
exit
 | 
					  apt-get update &>/dev/null
 | 
				
			||||||
 | 
					  apt-get -y upgrade &>/dev/null
 | 
				
			||||||
 | 
					  msg_ok "Updated $APP LXC"
 | 
				
			||||||
 | 
					  exit
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
start
 | 
					start
 | 
				
			||||||
@@ -70,5 +44,6 @@ build_container
 | 
				
			|||||||
description
 | 
					description
 | 
				
			||||||
 | 
					
 | 
				
			||||||
msg_ok "Completed Successfully!\n"
 | 
					msg_ok "Completed Successfully!\n"
 | 
				
			||||||
echo -e "${APP} should be reachable by going to the following URL.
 | 
					echo -e "${CREATING}${GN}${APP} setup has been successfully initialized!${CL}"
 | 
				
			||||||
         ${BL}http://${IP}:8090${CL} \n"
 | 
					echo -e "${INFO}${YW} Access it using the following URL:${CL}"
 | 
				
			||||||
 | 
					echo -e "${TAB}${GATEWAY}${BGN}http://${IP}:8090${CL}"
 | 
				
			||||||
@@ -1,68 +1,42 @@
 | 
				
			|||||||
#!/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 tteck
 | 
					# Copyright (c) 2021-2025 tteck
 | 
				
			||||||
# Author: tteck (tteckster)
 | 
					# Author: tteck (tteckster)
 | 
				
			||||||
# License: MIT
 | 
					# License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE
 | 
				
			||||||
# https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE
 | 
					# Source: https://hyperion-project.org/forum/
 | 
				
			||||||
 | 
					
 | 
				
			||||||
function header_info {
 | 
					# App Default Values
 | 
				
			||||||
clear
 | 
					 | 
				
			||||||
cat <<"EOF"
 | 
					 | 
				
			||||||
    __  __                      _           
 | 
					 | 
				
			||||||
   / / / /_  ______  ___  _____(_)___  ____ 
 | 
					 | 
				
			||||||
  / /_/ / / / / __ \/ _ \/ ___/ / __ \/ __ \
 | 
					 | 
				
			||||||
 / __  / /_/ / /_/ /  __/ /  / / /_/ / / / /
 | 
					 | 
				
			||||||
/_/ /_/\__, / .___/\___/_/  /_/\____/_/ /_/ 
 | 
					 | 
				
			||||||
      /____/_/                              
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
EOF
 | 
					 | 
				
			||||||
}
 | 
					 | 
				
			||||||
header_info
 | 
					 | 
				
			||||||
echo -e "Loading..."
 | 
					 | 
				
			||||||
APP="Hyperion"
 | 
					APP="Hyperion"
 | 
				
			||||||
var_disk="2"
 | 
					var_tags="ambient-lightning"
 | 
				
			||||||
var_cpu="1"
 | 
					var_cpu="1"
 | 
				
			||||||
var_ram="512"
 | 
					var_ram="512"
 | 
				
			||||||
 | 
					var_disk="2"
 | 
				
			||||||
var_os="debian"
 | 
					var_os="debian"
 | 
				
			||||||
var_version="12"
 | 
					var_version="12"
 | 
				
			||||||
 | 
					var_unprivileged="1"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# App Output & Base Settings
 | 
				
			||||||
 | 
					header_info "$APP"
 | 
				
			||||||
 | 
					base_settings
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# Core
 | 
				
			||||||
variables
 | 
					variables
 | 
				
			||||||
color
 | 
					color
 | 
				
			||||||
catch_errors
 | 
					catch_errors
 | 
				
			||||||
 | 
					
 | 
				
			||||||
function default_settings() {
 | 
					 | 
				
			||||||
  CT_TYPE="1"
 | 
					 | 
				
			||||||
  PW=""
 | 
					 | 
				
			||||||
  CT_ID=$NEXTID
 | 
					 | 
				
			||||||
  HN=$NSAPP
 | 
					 | 
				
			||||||
  DISK_SIZE="$var_disk"
 | 
					 | 
				
			||||||
  CORE_COUNT="$var_cpu"
 | 
					 | 
				
			||||||
  RAM_SIZE="$var_ram"
 | 
					 | 
				
			||||||
  BRG="vmbr0"
 | 
					 | 
				
			||||||
  NET="dhcp"
 | 
					 | 
				
			||||||
  GATE=""
 | 
					 | 
				
			||||||
  APT_CACHER=""
 | 
					 | 
				
			||||||
  APT_CACHER_IP=""
 | 
					 | 
				
			||||||
  DISABLEIP6="no"
 | 
					 | 
				
			||||||
  MTU=""
 | 
					 | 
				
			||||||
  SD=""
 | 
					 | 
				
			||||||
  NS=""
 | 
					 | 
				
			||||||
  MAC=""
 | 
					 | 
				
			||||||
  VLAN=""
 | 
					 | 
				
			||||||
  SSH="no"
 | 
					 | 
				
			||||||
  VERB="no"
 | 
					 | 
				
			||||||
  echo_default
 | 
					 | 
				
			||||||
}
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
function update_script() {
 | 
					function update_script() {
 | 
				
			||||||
header_info
 | 
					      header_info
 | 
				
			||||||
check_container_storage
 | 
					      check_container_storage
 | 
				
			||||||
check_container_resources
 | 
					      check_container_resources
 | 
				
			||||||
if [[ ! -f /etc/apt/sources.list.d/hyperion.list ]]; then msg_error "No ${APP} Installation Found!"; exit; fi
 | 
					      if [[ ! -f /etc/apt/sources.list.d/hyperion.list ]]; then
 | 
				
			||||||
msg_info "Updating ${APP} LXC"
 | 
					            msg_error "No ${APP} Installation Found!"
 | 
				
			||||||
apt-get update &>/dev/null
 | 
					            exit
 | 
				
			||||||
apt-get install -y hyperion &>/dev/null
 | 
					      fi
 | 
				
			||||||
msg_ok "Updated Successfully"
 | 
					      msg_info "Updating ${APP} LXC"
 | 
				
			||||||
exit
 | 
					      apt-get update &>/dev/null
 | 
				
			||||||
 | 
					      apt-get install -y hyperion &>/dev/null
 | 
				
			||||||
 | 
					      msg_ok "Updated Successfully"
 | 
				
			||||||
 | 
					      exit
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
start
 | 
					start
 | 
				
			||||||
@@ -70,5 +44,6 @@ build_container
 | 
				
			|||||||
description
 | 
					description
 | 
				
			||||||
 | 
					
 | 
				
			||||||
msg_ok "Completed Successfully!\n"
 | 
					msg_ok "Completed Successfully!\n"
 | 
				
			||||||
echo -e "${APP} should be reachable by going to the following URL.
 | 
					echo -e "${CREATING}${GN}${APP} setup has been successfully initialized!${CL}"
 | 
				
			||||||
         ${BL}http://${IP}:8090${CL} \n"
 | 
					echo -e "${INFO}${YW} Access it using the following URL:${CL}"
 | 
				
			||||||
 | 
					echo -e "${TAB}${GATEWAY}${BGN}http://${IP}:8090${CL}"
 | 
				
			||||||
@@ -1,67 +1,42 @@
 | 
				
			|||||||
#!/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 tteck
 | 
					# Copyright (c) 2021-2025 tteck
 | 
				
			||||||
# Author: tteck (tteckster)
 | 
					# Author: tteck (tteckster)
 | 
				
			||||||
# License: MIT
 | 
					# License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE
 | 
				
			||||||
# https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE
 | 
					# Source: https://www.influxdata.com/
 | 
				
			||||||
 | 
					
 | 
				
			||||||
function header_info {
 | 
					# App Default Values
 | 
				
			||||||
clear
 | 
					 | 
				
			||||||
cat <<"EOF"
 | 
					 | 
				
			||||||
    ____      ______           ____  ____ 
 | 
					 | 
				
			||||||
   /  _/___  / __/ /_  ___  __/ __ \/ __ )
 | 
					 | 
				
			||||||
   / // __ \/ /_/ / / / / |/_/ / / / __  |
 | 
					 | 
				
			||||||
 _/ // / / / __/ / /_/ />  </ /_/ / /_/ / 
 | 
					 | 
				
			||||||
/___/_/ /_/_/ /_/\__,_/_/|_/_____/_____/  
 | 
					 | 
				
			||||||
 
 | 
					 | 
				
			||||||
EOF
 | 
					 | 
				
			||||||
}
 | 
					 | 
				
			||||||
header_info
 | 
					 | 
				
			||||||
echo -e "Loading..."
 | 
					 | 
				
			||||||
APP="InfluxDB"
 | 
					APP="InfluxDB"
 | 
				
			||||||
var_disk="8"
 | 
					var_tags="database"
 | 
				
			||||||
var_cpu="2"
 | 
					var_cpu="2"
 | 
				
			||||||
var_ram="2048"
 | 
					var_ram="2048"
 | 
				
			||||||
 | 
					var_disk="8"
 | 
				
			||||||
var_os="debian"
 | 
					var_os="debian"
 | 
				
			||||||
var_version="12"
 | 
					var_version="12"
 | 
				
			||||||
 | 
					var_unprivileged="1"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# App Output & Base Settings
 | 
				
			||||||
 | 
					header_info "$APP"
 | 
				
			||||||
 | 
					base_settings
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# Core
 | 
				
			||||||
variables
 | 
					variables
 | 
				
			||||||
color
 | 
					color
 | 
				
			||||||
catch_errors
 | 
					catch_errors
 | 
				
			||||||
 | 
					
 | 
				
			||||||
function default_settings() {
 | 
					 | 
				
			||||||
  CT_TYPE="1"
 | 
					 | 
				
			||||||
  PW=""
 | 
					 | 
				
			||||||
  CT_ID=$NEXTID
 | 
					 | 
				
			||||||
  HN=$NSAPP
 | 
					 | 
				
			||||||
  DISK_SIZE="$var_disk"
 | 
					 | 
				
			||||||
  CORE_COUNT="$var_cpu"
 | 
					 | 
				
			||||||
  RAM_SIZE="$var_ram"
 | 
					 | 
				
			||||||
  BRG="vmbr0"
 | 
					 | 
				
			||||||
  NET="dhcp"
 | 
					 | 
				
			||||||
  GATE=""
 | 
					 | 
				
			||||||
  APT_CACHER=""
 | 
					 | 
				
			||||||
  APT_CACHER_IP=""
 | 
					 | 
				
			||||||
  DISABLEIP6="no"
 | 
					 | 
				
			||||||
  MTU=""
 | 
					 | 
				
			||||||
  SD=""
 | 
					 | 
				
			||||||
  NS=""
 | 
					 | 
				
			||||||
  MAC=""
 | 
					 | 
				
			||||||
  VLAN=""
 | 
					 | 
				
			||||||
  SSH="no"
 | 
					 | 
				
			||||||
  VERB="no"
 | 
					 | 
				
			||||||
  echo_default
 | 
					 | 
				
			||||||
}
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
function update_script() {
 | 
					function update_script() {
 | 
				
			||||||
header_info
 | 
					  header_info
 | 
				
			||||||
check_container_storage
 | 
					  check_container_storage
 | 
				
			||||||
check_container_resources
 | 
					  check_container_resources
 | 
				
			||||||
if [[ ! -f /etc/apt/sources.list.d/influxdata.list ]]; then msg_error "No ${APP} Installation Found!"; exit; fi
 | 
					  if [[ ! -f /etc/apt/sources.list.d/influxdata.list ]]; then
 | 
				
			||||||
msg_info "Updating ${APP}"
 | 
					    msg_error "No ${APP} Installation Found!"
 | 
				
			||||||
apt-get update &>/dev/null
 | 
					    exit
 | 
				
			||||||
apt-get -y upgrade &>/dev/null
 | 
					  fi
 | 
				
			||||||
msg_ok "Updated Successfully"
 | 
					  msg_info "Updating ${APP}"
 | 
				
			||||||
exit
 | 
					  apt-get update &>/dev/null
 | 
				
			||||||
 | 
					  apt-get -y upgrade &>/dev/null
 | 
				
			||||||
 | 
					  msg_ok "Updated Successfully"
 | 
				
			||||||
 | 
					  exit
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
start
 | 
					start
 | 
				
			||||||
@@ -69,3 +44,6 @@ build_container
 | 
				
			|||||||
description
 | 
					description
 | 
				
			||||||
 | 
					
 | 
				
			||||||
msg_ok "Completed Successfully!\n"
 | 
					msg_ok "Completed Successfully!\n"
 | 
				
			||||||
 | 
					echo -e "${CREATING}${GN}${APP} setup has been successfully initialized!${CL}"
 | 
				
			||||||
 | 
					echo -e "${INFO}${YW} Access it using the following URL:${CL}"
 | 
				
			||||||
 | 
					echo -e "${TAB}${GATEWAY}${BGN}http://${IP}:8086${CL}"
 | 
				
			||||||
@@ -1,61 +1,32 @@
 | 
				
			|||||||
#!/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: kristocopani
 | 
					# Author: kristocopani
 | 
				
			||||||
# License: MIT
 | 
					# License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE
 | 
				
			||||||
# https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE
 | 
					# Source: https://www.inspircd.org/
 | 
				
			||||||
 | 
					
 | 
				
			||||||
function header_info {
 | 
					# App Default Values
 | 
				
			||||||
clear
 | 
					 | 
				
			||||||
cat <<"EOF"
 | 
					 | 
				
			||||||
    ____                 ________  ______    __
 | 
					 | 
				
			||||||
   /  _/___  _________  /  _/ __ \/ ____/___/ /
 | 
					 | 
				
			||||||
   / // __ \/ ___/ __ \ / // /_/ / /   / __  / 
 | 
					 | 
				
			||||||
 _/ // / / (__  ) /_/ // // _, _/ /___/ /_/ /  
 | 
					 | 
				
			||||||
/___/_/ /_/____/ .___/___/_/ |_|\____/\__,_/   
 | 
					 | 
				
			||||||
              /_/                              
 | 
					 | 
				
			||||||
 
 | 
					 | 
				
			||||||
EOF
 | 
					 | 
				
			||||||
}
 | 
					 | 
				
			||||||
header_info
 | 
					 | 
				
			||||||
echo -e "Loading..."
 | 
					 | 
				
			||||||
APP="InspIRCd"
 | 
					APP="InspIRCd"
 | 
				
			||||||
var_disk="2"
 | 
					var_tags="IRC"
 | 
				
			||||||
var_cpu="1"
 | 
					var_cpu="1"
 | 
				
			||||||
var_ram="512"
 | 
					var_ram="512"
 | 
				
			||||||
 | 
					var_disk="2"
 | 
				
			||||||
var_os="debian"
 | 
					var_os="debian"
 | 
				
			||||||
var_version="12"
 | 
					var_version="12"
 | 
				
			||||||
 | 
					var_unprivileged="1"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# App Output & Base Settings
 | 
				
			||||||
 | 
					header_info "$APP"
 | 
				
			||||||
 | 
					base_settings
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# Core
 | 
				
			||||||
variables
 | 
					variables
 | 
				
			||||||
color
 | 
					color
 | 
				
			||||||
catch_errors
 | 
					catch_errors
 | 
				
			||||||
 | 
					 | 
				
			||||||
function default_settings() {
 | 
					 | 
				
			||||||
  CT_TYPE="1"
 | 
					 | 
				
			||||||
  PW=""
 | 
					 | 
				
			||||||
  CT_ID=$NEXTID
 | 
					 | 
				
			||||||
  HN=$NSAPP
 | 
					 | 
				
			||||||
  DISK_SIZE="$var_disk"
 | 
					 | 
				
			||||||
  CORE_COUNT="$var_cpu"
 | 
					 | 
				
			||||||
  RAM_SIZE="$var_ram"
 | 
					 | 
				
			||||||
  BRG="vmbr0"
 | 
					 | 
				
			||||||
  NET="dhcp"
 | 
					 | 
				
			||||||
  GATE=""
 | 
					 | 
				
			||||||
  APT_CACHER=""
 | 
					 | 
				
			||||||
  APT_CACHER_IP=""
 | 
					 | 
				
			||||||
  DISABLEIP6="no"
 | 
					 | 
				
			||||||
  MTU=""
 | 
					 | 
				
			||||||
  SD=""
 | 
					 | 
				
			||||||
  NS=""
 | 
					 | 
				
			||||||
  MAC=""
 | 
					 | 
				
			||||||
  VLAN=""
 | 
					 | 
				
			||||||
  SSH="no"
 | 
					 | 
				
			||||||
  VERB="no"
 | 
					 | 
				
			||||||
  echo_default
 | 
					 | 
				
			||||||
}
 | 
					 | 
				
			||||||
function update_script() {
 | 
					function update_script() {
 | 
				
			||||||
header_info
 | 
					  header_info
 | 
				
			||||||
check_container_storage
 | 
					  check_container_storage
 | 
				
			||||||
check_container_resources
 | 
					  check_container_resources
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  if [[ ! -f /lib/systemd/system/inspircd.service ]]; then
 | 
					  if [[ ! -f /lib/systemd/system/inspircd.service ]]; then
 | 
				
			||||||
    msg_error "No ${APP} Installation Found!"
 | 
					    msg_error "No ${APP} Installation Found!"
 | 
				
			||||||
@@ -93,5 +64,6 @@ build_container
 | 
				
			|||||||
description
 | 
					description
 | 
				
			||||||
 | 
					
 | 
				
			||||||
msg_ok "Completed Successfully!\n"
 | 
					msg_ok "Completed Successfully!\n"
 | 
				
			||||||
echo -e "${APP} server should be reachable by connecting to the following server.
 | 
					echo -e "${CREATING}${GN}${APP} setup has been successfully initialized!${CL}"
 | 
				
			||||||
         ${BL}Server Name:${IP} Port:6667${CL} \n"
 | 
					echo -e "${INFO}${YW} Server-Acces it using the following URL:${CL}"
 | 
				
			||||||
 | 
					echo -e "${TAB}${GATEWAY}${BGN}${IP}:6667${CL}"
 | 
				
			||||||
@@ -1,67 +1,42 @@
 | 
				
			|||||||
#!/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 tteck
 | 
					# Copyright (c) 2021-2025 tteck
 | 
				
			||||||
# Author: tteck (tteckster)
 | 
					# Author: tteck (tteckster)
 | 
				
			||||||
# License: MIT
 | 
					# License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE
 | 
				
			||||||
# https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE
 | 
					# Source: https://www.iobroker.net/#en/intro
 | 
				
			||||||
 | 
					
 | 
				
			||||||
function header_info {
 | 
					# App Default Values
 | 
				
			||||||
clear
 | 
					 | 
				
			||||||
cat <<"EOF"
 | 
					 | 
				
			||||||
    _       ____             __            
 | 
					 | 
				
			||||||
   (_)___  / __ )_________  / /_____  _____
 | 
					 | 
				
			||||||
  / / __ \/ __  / ___/ __ \/ //_/ _ \/ ___/
 | 
					 | 
				
			||||||
 / / /_/ / /_/ / /  / /_/ / ,< /  __/ /    
 | 
					 | 
				
			||||||
/_/\____/_____/_/   \____/_/|_|\___/_/     
 | 
					 | 
				
			||||||
 
 | 
					 | 
				
			||||||
EOF
 | 
					 | 
				
			||||||
}
 | 
					 | 
				
			||||||
header_info
 | 
					 | 
				
			||||||
echo -e "Loading..."
 | 
					 | 
				
			||||||
APP="ioBroker"
 | 
					APP="ioBroker"
 | 
				
			||||||
var_disk="8"
 | 
					var_tags="automtation"
 | 
				
			||||||
var_cpu="2"
 | 
					var_cpu="2"
 | 
				
			||||||
var_ram="2048"
 | 
					var_ram="2048"
 | 
				
			||||||
 | 
					var_disk="8"
 | 
				
			||||||
var_os="debian"
 | 
					var_os="debian"
 | 
				
			||||||
var_version="12"
 | 
					var_version="12"
 | 
				
			||||||
 | 
					var_unprivileged="1"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# App Output & Base Settings
 | 
				
			||||||
 | 
					header_info "$APP"
 | 
				
			||||||
 | 
					base_settings
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# Core
 | 
				
			||||||
variables
 | 
					variables
 | 
				
			||||||
color
 | 
					color
 | 
				
			||||||
catch_errors
 | 
					catch_errors
 | 
				
			||||||
 | 
					
 | 
				
			||||||
function default_settings() {
 | 
					 | 
				
			||||||
  CT_TYPE="1"
 | 
					 | 
				
			||||||
  PW=""
 | 
					 | 
				
			||||||
  CT_ID=$NEXTID
 | 
					 | 
				
			||||||
  HN=$NSAPP
 | 
					 | 
				
			||||||
  DISK_SIZE="$var_disk"
 | 
					 | 
				
			||||||
  CORE_COUNT="$var_cpu"
 | 
					 | 
				
			||||||
  RAM_SIZE="$var_ram"
 | 
					 | 
				
			||||||
  BRG="vmbr0"
 | 
					 | 
				
			||||||
  NET="dhcp"
 | 
					 | 
				
			||||||
  GATE=""
 | 
					 | 
				
			||||||
  APT_CACHER=""
 | 
					 | 
				
			||||||
  APT_CACHER_IP=""
 | 
					 | 
				
			||||||
  DISABLEIP6="no"
 | 
					 | 
				
			||||||
  MTU=""
 | 
					 | 
				
			||||||
  SD=""
 | 
					 | 
				
			||||||
  NS=""
 | 
					 | 
				
			||||||
  MAC=""
 | 
					 | 
				
			||||||
  VLAN=""
 | 
					 | 
				
			||||||
  SSH="no"
 | 
					 | 
				
			||||||
  VERB="no"
 | 
					 | 
				
			||||||
  echo_default
 | 
					 | 
				
			||||||
}
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
function update_script() {
 | 
					function update_script() {
 | 
				
			||||||
header_info
 | 
					    header_info
 | 
				
			||||||
check_container_storage
 | 
					    check_container_storage
 | 
				
			||||||
check_container_resources
 | 
					    check_container_resources
 | 
				
			||||||
if [[ ! -d /opt/iobroker ]]; then msg_error "No ${APP} Installation Found!"; exit; fi
 | 
					    if [[ ! -d /opt/iobroker ]]; then
 | 
				
			||||||
msg_info "Updating ${APP} LXC"
 | 
					        msg_error "No ${APP} Installation Found!"
 | 
				
			||||||
apt-get update &>/dev/null
 | 
					        exit
 | 
				
			||||||
apt-get -y upgrade &>/dev/null
 | 
					    fi
 | 
				
			||||||
msg_ok "Updated Successfully"
 | 
					    msg_info "Updating ${APP} LXC"
 | 
				
			||||||
exit
 | 
					    apt-get update &>/dev/null
 | 
				
			||||||
 | 
					    apt-get -y upgrade &>/dev/null
 | 
				
			||||||
 | 
					    msg_ok "Updated Successfully"
 | 
				
			||||||
 | 
					    exit
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
start
 | 
					start
 | 
				
			||||||
@@ -69,5 +44,6 @@ build_container
 | 
				
			|||||||
description
 | 
					description
 | 
				
			||||||
 | 
					
 | 
				
			||||||
msg_ok "Completed Successfully!\n"
 | 
					msg_ok "Completed Successfully!\n"
 | 
				
			||||||
echo -e "${APP} should be reachable by going to the following URL.
 | 
					echo -e "${CREATING}${GN}${APP} setup has been successfully initialized!${CL}"
 | 
				
			||||||
         ${BL}http://${IP}:8081${CL} \n"
 | 
					echo -e "${INFO}${YW} Access it using the following URL:${CL}"
 | 
				
			||||||
 | 
					echo -e "${TAB}${GATEWAY}${BGN}http://${IP}:8081${CL}"
 | 
				
			||||||
@@ -1,64 +1,39 @@
 | 
				
			|||||||
#!/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 tteck
 | 
					# Copyright (c) 2021-2025 tteck
 | 
				
			||||||
# Author: tteck (tteckster)
 | 
					# Author: tteck (tteckster)
 | 
				
			||||||
# License: MIT
 | 
					# License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE
 | 
				
			||||||
# https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE
 | 
					# Source: https://www.iventoy.com/en/index.html
 | 
				
			||||||
 | 
					
 | 
				
			||||||
function header_info {
 | 
					# App Default Values
 | 
				
			||||||
clear
 | 
					 | 
				
			||||||
cat <<"EOF"
 | 
					 | 
				
			||||||
    _ _    __           __             
 | 
					 | 
				
			||||||
   (_) |  / /__  ____  / /_____  __  __
 | 
					 | 
				
			||||||
  / /| | / / _ \/ __ \/ __/ __ \/ / / /
 | 
					 | 
				
			||||||
 / / | |/ /  __/ / / / /_/ /_/ / /_/ / 
 | 
					 | 
				
			||||||
/_/  |___/\___/_/ /_/\__/\____/\__, /  
 | 
					 | 
				
			||||||
                              /____/
 | 
					 | 
				
			||||||
EOF
 | 
					 | 
				
			||||||
}
 | 
					 | 
				
			||||||
header_info
 | 
					 | 
				
			||||||
echo -e "Loading..."
 | 
					 | 
				
			||||||
APP="iVentoy"
 | 
					APP="iVentoy"
 | 
				
			||||||
 | 
					var_tags="pxe-tool"
 | 
				
			||||||
var_disk="2"
 | 
					var_disk="2"
 | 
				
			||||||
var_cpu="1"
 | 
					var_cpu="1"
 | 
				
			||||||
var_ram="512"
 | 
					var_ram="512"
 | 
				
			||||||
var_os="debian"
 | 
					var_os="debian"
 | 
				
			||||||
var_version="12"
 | 
					var_version="12"
 | 
				
			||||||
 | 
					var_unprivileged="0"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# App Output & Base Settings
 | 
				
			||||||
 | 
					header_info "$APP"
 | 
				
			||||||
 | 
					base_settings
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# Core
 | 
				
			||||||
variables
 | 
					variables
 | 
				
			||||||
color
 | 
					color
 | 
				
			||||||
catch_errors
 | 
					catch_errors
 | 
				
			||||||
 | 
					
 | 
				
			||||||
function default_settings() {
 | 
					 | 
				
			||||||
  CT_TYPE="0"
 | 
					 | 
				
			||||||
  PW=""
 | 
					 | 
				
			||||||
  CT_ID=$NEXTID
 | 
					 | 
				
			||||||
  HN=$NSAPP
 | 
					 | 
				
			||||||
  DISK_SIZE="$var_disk"
 | 
					 | 
				
			||||||
  CORE_COUNT="$var_cpu"
 | 
					 | 
				
			||||||
  RAM_SIZE="$var_ram"
 | 
					 | 
				
			||||||
  BRG="vmbr0"
 | 
					 | 
				
			||||||
  NET="dhcp"
 | 
					 | 
				
			||||||
  GATE=""
 | 
					 | 
				
			||||||
  APT_CACHER=""
 | 
					 | 
				
			||||||
  APT_CACHER_IP=""
 | 
					 | 
				
			||||||
  DISABLEIP6="no"
 | 
					 | 
				
			||||||
  MTU=""
 | 
					 | 
				
			||||||
  SD=""
 | 
					 | 
				
			||||||
  NS=""
 | 
					 | 
				
			||||||
  MAC=""
 | 
					 | 
				
			||||||
  VLAN=""
 | 
					 | 
				
			||||||
  SSH="no"
 | 
					 | 
				
			||||||
  VERB="no"
 | 
					 | 
				
			||||||
  echo_default
 | 
					 | 
				
			||||||
}
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
function update_script() {
 | 
					function update_script() {
 | 
				
			||||||
header_info
 | 
					  header_info
 | 
				
			||||||
check_container_storage
 | 
					  check_container_storage
 | 
				
			||||||
check_container_resources
 | 
					  check_container_resources
 | 
				
			||||||
if [[ ! -d /opt/iventoy ]]; then msg_error "No ${APP} Installation Found!"; exit; fi
 | 
					  if [[ ! -d /opt/iventoy ]]; then
 | 
				
			||||||
msg_error "There is currently no update path available."
 | 
					    msg_error "No ${APP} Installation Found!"
 | 
				
			||||||
exit
 | 
					    exit
 | 
				
			||||||
 | 
					  fi
 | 
				
			||||||
 | 
					  msg_error "There is currently no update path available."
 | 
				
			||||||
 | 
					  exit
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
start
 | 
					start
 | 
				
			||||||
@@ -66,5 +41,6 @@ build_container
 | 
				
			|||||||
description
 | 
					description
 | 
				
			||||||
 | 
					
 | 
				
			||||||
msg_ok "Completed Successfully!\n"
 | 
					msg_ok "Completed Successfully!\n"
 | 
				
			||||||
echo -e "${APP} should be reachable by going to the following URL.
 | 
					echo -e "${CREATING}${GN}${APP} setup has been successfully initialized!${CL}"
 | 
				
			||||||
         ${BL}http://${IP}:26000/ ${CL} \n"
 | 
					echo -e "${INFO}${YW} Access it using the following URL:${CL}"
 | 
				
			||||||
 | 
					echo -e "${TAB}${GATEWAY}${BGN}http://${IP}:26000${CL}"
 | 
				
			||||||
							
								
								
									
										100
									
								
								ct/jackett.sh
									
									
									
									
									
								
							
							
						
						
									
										100
									
								
								ct/jackett.sh
									
									
									
									
									
								
							@@ -1,77 +1,52 @@
 | 
				
			|||||||
#!/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 tteck
 | 
					# Copyright (c) 2021-2025 tteck
 | 
				
			||||||
# Author: tteck (tteckster)
 | 
					# Author: tteck (tteckster)
 | 
				
			||||||
# License: MIT
 | 
					# License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE
 | 
				
			||||||
# https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE
 | 
					# Source: https://github.com/Jackett/Jackett
 | 
				
			||||||
 | 
					
 | 
				
			||||||
function header_info {
 | 
					# App Default Values
 | 
				
			||||||
clear
 | 
					 | 
				
			||||||
cat <<"EOF"
 | 
					 | 
				
			||||||
       __           __        __  __ 
 | 
					 | 
				
			||||||
      / /___ ______/ /_____  / /_/ /_
 | 
					 | 
				
			||||||
 __  / / __ `/ ___/ //_/ _ \/ __/ __/
 | 
					 | 
				
			||||||
/ /_/ / /_/ / /__/ ,< /  __/ /_/ /_  
 | 
					 | 
				
			||||||
\____/\__,_/\___/_/|_|\___/\__/\__/  
 | 
					 | 
				
			||||||
                                     
 | 
					 | 
				
			||||||
EOF
 | 
					 | 
				
			||||||
}
 | 
					 | 
				
			||||||
header_info
 | 
					 | 
				
			||||||
echo -e "Loading..."
 | 
					 | 
				
			||||||
APP="Jackett"
 | 
					APP="Jackett"
 | 
				
			||||||
var_disk="2"
 | 
					var_tags="torrent"
 | 
				
			||||||
var_cpu="1"
 | 
					var_cpu="1"
 | 
				
			||||||
var_ram="512"
 | 
					var_ram="512"
 | 
				
			||||||
 | 
					var_disk="2"
 | 
				
			||||||
var_os="debian"
 | 
					var_os="debian"
 | 
				
			||||||
var_version="12"
 | 
					var_version="12"
 | 
				
			||||||
 | 
					var_unprivileged="1"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# App Output & Base Settings
 | 
				
			||||||
 | 
					header_info "$APP"
 | 
				
			||||||
 | 
					base_settings
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# Core
 | 
				
			||||||
variables
 | 
					variables
 | 
				
			||||||
color
 | 
					color
 | 
				
			||||||
catch_errors
 | 
					catch_errors
 | 
				
			||||||
 | 
					
 | 
				
			||||||
function default_settings() {
 | 
					 | 
				
			||||||
  CT_TYPE="1"
 | 
					 | 
				
			||||||
  PW=""
 | 
					 | 
				
			||||||
  CT_ID=$NEXTID
 | 
					 | 
				
			||||||
  HN=$NSAPP
 | 
					 | 
				
			||||||
  DISK_SIZE="$var_disk"
 | 
					 | 
				
			||||||
  CORE_COUNT="$var_cpu"
 | 
					 | 
				
			||||||
  RAM_SIZE="$var_ram"
 | 
					 | 
				
			||||||
  BRG="vmbr0"
 | 
					 | 
				
			||||||
  NET="dhcp"
 | 
					 | 
				
			||||||
  GATE=""
 | 
					 | 
				
			||||||
  APT_CACHER=""
 | 
					 | 
				
			||||||
  APT_CACHER_IP=""
 | 
					 | 
				
			||||||
  DISABLEIP6="no"
 | 
					 | 
				
			||||||
  MTU=""
 | 
					 | 
				
			||||||
  SD=""
 | 
					 | 
				
			||||||
  NS=""
 | 
					 | 
				
			||||||
  MAC=""
 | 
					 | 
				
			||||||
  VLAN=""
 | 
					 | 
				
			||||||
  SSH="no"
 | 
					 | 
				
			||||||
  VERB="no"
 | 
					 | 
				
			||||||
  echo_default
 | 
					 | 
				
			||||||
}
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
function update_script() {
 | 
					function update_script() {
 | 
				
			||||||
header_info
 | 
					  header_info
 | 
				
			||||||
check_container_storage
 | 
					  check_container_storage
 | 
				
			||||||
check_container_resources
 | 
					  check_container_resources
 | 
				
			||||||
if [[ ! -f /etc/systemd/system/jackett.service ]]; then msg_error "No ${APP} Installation Found!"; exit; fi
 | 
					  if [[ ! -f /etc/systemd/system/jackett.service ]]; then
 | 
				
			||||||
RELEASE=$(wget -q https://github.com/Jackett/Jackett/releases/latest -O - | grep "title>Release" | cut -d " " -f 4)
 | 
					    msg_error "No ${APP} Installation Found!"
 | 
				
			||||||
if [[ ! -f /opt/${APP}_version.txt ]] || [[ "${RELEASE}" != "$(cat /opt/${APP}_version.txt)" ]]; then
 | 
					    exit
 | 
				
			||||||
  msg_info "Updating ${APP}"
 | 
					  fi
 | 
				
			||||||
  wget -q https://github.com/Jackett/Jackett/releases/download/$RELEASE/Jackett.Binaries.LinuxAMDx64.tar.gz
 | 
					  RELEASE=$(wget -q https://github.com/Jackett/Jackett/releases/latest -O - | grep "title>Release" | cut -d " " -f 4)
 | 
				
			||||||
  systemctl stop jackett
 | 
					  if [[ ! -f /opt/${APP}_version.txt ]] || [[ "${RELEASE}" != "$(cat /opt/${APP}_version.txt)" ]]; then
 | 
				
			||||||
  rm -rf /opt/Jackett
 | 
					    msg_info "Updating ${APP}"
 | 
				
			||||||
  tar -xzf Jackett.Binaries.LinuxAMDx64.tar.gz -C /opt
 | 
					    wget -q https://github.com/Jackett/Jackett/releases/download/$RELEASE/Jackett.Binaries.LinuxAMDx64.tar.gz
 | 
				
			||||||
  rm -rf Jackett.Binaries.LinuxAMDx64.tar.gz
 | 
					    systemctl stop jackett
 | 
				
			||||||
  systemctl start jackett
 | 
					    rm -rf /opt/Jackett
 | 
				
			||||||
  echo "${RELEASE}" >/opt/${APP}_version.txt
 | 
					    tar -xzf Jackett.Binaries.LinuxAMDx64.tar.gz -C /opt
 | 
				
			||||||
  msg_ok "Updated ${APP} to ${RELEASE}"
 | 
					    rm -rf Jackett.Binaries.LinuxAMDx64.tar.gz
 | 
				
			||||||
else
 | 
					    systemctl start jackett
 | 
				
			||||||
  msg_ok "No update required. ${APP} is already at ${RELEASE}"
 | 
					    echo "${RELEASE}" >/opt/${APP}_version.txt
 | 
				
			||||||
fi
 | 
					    msg_ok "Updated ${APP} to ${RELEASE}"
 | 
				
			||||||
exit
 | 
					  else
 | 
				
			||||||
 | 
					    msg_ok "No update required. ${APP} is already at ${RELEASE}"
 | 
				
			||||||
 | 
					  fi
 | 
				
			||||||
 | 
					  exit
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
start
 | 
					start
 | 
				
			||||||
@@ -79,5 +54,6 @@ build_container
 | 
				
			|||||||
description
 | 
					description
 | 
				
			||||||
 | 
					
 | 
				
			||||||
msg_ok "Completed Successfully!\n"
 | 
					msg_ok "Completed Successfully!\n"
 | 
				
			||||||
echo -e "${APP} should be reachable by going to the following URL.
 | 
					echo -e "${CREATING}${GN}${APP} setup has been successfully initialized!${CL}"
 | 
				
			||||||
         ${BL}http://${IP}:9117${CL}\n"
 | 
					echo -e "${INFO}${YW} Access it using the following URL:${CL}"
 | 
				
			||||||
 | 
					echo -e "${TAB}${GATEWAY}${BGN}http://${IP}:9117${CL}"
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -1,69 +1,43 @@
 | 
				
			|||||||
#!/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 tteck
 | 
					# Copyright (c) 2021-2025 tteck
 | 
				
			||||||
# Author: tteck (tteckster)
 | 
					# Author: tteck (tteckster)
 | 
				
			||||||
# License: MIT
 | 
					# License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE
 | 
				
			||||||
# https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE
 | 
					# Source: https://jellyfin.org/
 | 
				
			||||||
 | 
					
 | 
				
			||||||
function header_info {
 | 
					# App Default Values
 | 
				
			||||||
clear
 | 
					 | 
				
			||||||
cat <<"EOF"
 | 
					 | 
				
			||||||
       __     ____      _____     
 | 
					 | 
				
			||||||
      / /__  / / /_  __/ __(_)___ 
 | 
					 | 
				
			||||||
 __  / / _ \/ / / / / / /_/ / __ \
 | 
					 | 
				
			||||||
/ /_/ /  __/ / / /_/ / __/ / / / /
 | 
					 | 
				
			||||||
\____/\___/_/_/\__, /_/ /_/_/ /_/ 
 | 
					 | 
				
			||||||
              /____/              
 | 
					 | 
				
			||||||
 
 | 
					 | 
				
			||||||
EOF
 | 
					 | 
				
			||||||
}
 | 
					 | 
				
			||||||
header_info
 | 
					 | 
				
			||||||
echo -e "Loading..."
 | 
					 | 
				
			||||||
APP="Jellyfin"
 | 
					APP="Jellyfin"
 | 
				
			||||||
var_disk="8"
 | 
					var_tags="media"
 | 
				
			||||||
var_cpu="2"
 | 
					var_cpu="2"
 | 
				
			||||||
var_ram="2048"
 | 
					var_ram="2048"
 | 
				
			||||||
 | 
					var_disk="8"
 | 
				
			||||||
var_os="ubuntu"
 | 
					var_os="ubuntu"
 | 
				
			||||||
var_version="22.04"
 | 
					var_version="22.04"
 | 
				
			||||||
 | 
					var_unprivileged="1"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# App Output & Base Settings
 | 
				
			||||||
 | 
					header_info "$APP"
 | 
				
			||||||
 | 
					base_settings
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# Core
 | 
				
			||||||
variables
 | 
					variables
 | 
				
			||||||
color
 | 
					color
 | 
				
			||||||
catch_errors
 | 
					catch_errors
 | 
				
			||||||
 | 
					
 | 
				
			||||||
function default_settings() {
 | 
					 | 
				
			||||||
  CT_TYPE="1"
 | 
					 | 
				
			||||||
  PW=""
 | 
					 | 
				
			||||||
  CT_ID=$NEXTID
 | 
					 | 
				
			||||||
  HN=$NSAPP
 | 
					 | 
				
			||||||
  DISK_SIZE="$var_disk"
 | 
					 | 
				
			||||||
  CORE_COUNT="$var_cpu"
 | 
					 | 
				
			||||||
  RAM_SIZE="$var_ram"
 | 
					 | 
				
			||||||
  BRG="vmbr0"
 | 
					 | 
				
			||||||
  NET="dhcp"
 | 
					 | 
				
			||||||
  GATE=""
 | 
					 | 
				
			||||||
  APT_CACHER=""
 | 
					 | 
				
			||||||
  APT_CACHER_IP=""
 | 
					 | 
				
			||||||
  DISABLEIP6="no"
 | 
					 | 
				
			||||||
  MTU=""
 | 
					 | 
				
			||||||
  SD=""
 | 
					 | 
				
			||||||
  NS=""
 | 
					 | 
				
			||||||
  MAC=""
 | 
					 | 
				
			||||||
  VLAN=""
 | 
					 | 
				
			||||||
  SSH="no"
 | 
					 | 
				
			||||||
  VERB="no"
 | 
					 | 
				
			||||||
  echo_default
 | 
					 | 
				
			||||||
}
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
function update_script() {
 | 
					function update_script() {
 | 
				
			||||||
header_info
 | 
					     header_info
 | 
				
			||||||
check_container_storage
 | 
					     check_container_storage
 | 
				
			||||||
check_container_resources
 | 
					     check_container_resources
 | 
				
			||||||
if [[ ! -d /usr/lib/jellyfin ]]; then msg_error "No ${APP} Installation Found!"; exit; fi
 | 
					     if [[ ! -d /usr/lib/jellyfin ]]; then
 | 
				
			||||||
msg_info "Updating ${APP} LXC"
 | 
					          msg_error "No ${APP} Installation Found!"
 | 
				
			||||||
apt-get update &>/dev/null
 | 
					          exit
 | 
				
			||||||
apt-get -y upgrade &>/dev/null
 | 
					     fi
 | 
				
			||||||
apt-get -y --with-new-pkgs upgrade jellyfin jellyfin-server &>/dev/null
 | 
					     msg_info "Updating ${APP} LXC"
 | 
				
			||||||
msg_ok "Updated ${APP} LXC"
 | 
					     apt-get update &>/dev/null
 | 
				
			||||||
exit
 | 
					     apt-get -y upgrade &>/dev/null
 | 
				
			||||||
 | 
					     apt-get --with-new-pkgs upgrade jellyfin jellyfin-server &>/dev/null
 | 
				
			||||||
 | 
					     msg_ok "Updated ${APP} LXC"
 | 
				
			||||||
 | 
					     exit
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
start
 | 
					start
 | 
				
			||||||
@@ -71,5 +45,6 @@ build_container
 | 
				
			|||||||
description
 | 
					description
 | 
				
			||||||
 | 
					
 | 
				
			||||||
msg_ok "Completed Successfully!\n"
 | 
					msg_ok "Completed Successfully!\n"
 | 
				
			||||||
echo -e "${APP} should be reachable by going to the following URL.
 | 
					echo -e "${CREATING}${GN}${APP} setup has been successfully initialized!${CL}"
 | 
				
			||||||
             ${BL}http://${IP}:8096${CL}\n"
 | 
					echo -e "${INFO}${YW} Access it using the following URL:${CL}"
 | 
				
			||||||
 | 
					echo -e "${TAB}${GATEWAY}${BGN}http://${IP}:8096${CL}"
 | 
				
			||||||
 
 | 
				
			|||||||
							
								
								
									
										128
									
								
								ct/jellyseerr.sh
									
									
									
									
									
								
							
							
						
						
									
										128
									
								
								ct/jellyseerr.sh
									
									
									
									
									
								
							@@ -1,85 +1,63 @@
 | 
				
			|||||||
#!/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 tteck
 | 
					# Copyright (c) 2021-2025 tteck
 | 
				
			||||||
# Author: tteck (tteckster)
 | 
					# Author: tteck (tteckster)
 | 
				
			||||||
# License: MIT
 | 
					# License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE
 | 
				
			||||||
# https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE
 | 
					# Source: https://docs.jellyseerr.dev/
 | 
				
			||||||
 | 
					
 | 
				
			||||||
function header_info {
 | 
					# App Default Values
 | 
				
			||||||
clear
 | 
					 | 
				
			||||||
cat <<"EOF"
 | 
					 | 
				
			||||||
       __     ____
 | 
					 | 
				
			||||||
      / /__  / / /_  __________  ___  __________
 | 
					 | 
				
			||||||
 __  / / _ \/ / / / / / ___/ _ \/ _ \/ ___/ ___/
 | 
					 | 
				
			||||||
/ /_/ /  __/ / / /_/ (__  )  __/  __/ /  / /
 | 
					 | 
				
			||||||
\____/\___/_/_/\__, /____/\___/\___/_/  /_/
 | 
					 | 
				
			||||||
              /____/
 | 
					 | 
				
			||||||
EOF
 | 
					 | 
				
			||||||
}
 | 
					 | 
				
			||||||
header_info
 | 
					 | 
				
			||||||
echo -e "Loading..."
 | 
					 | 
				
			||||||
APP="Jellyseerr"
 | 
					APP="Jellyseerr"
 | 
				
			||||||
var_disk="8"
 | 
					var_tags="media"
 | 
				
			||||||
var_cpu="4"
 | 
					var_cpu="4"
 | 
				
			||||||
var_ram="4096"
 | 
					var_ram="4096"
 | 
				
			||||||
 | 
					var_disk="8"
 | 
				
			||||||
var_os="debian"
 | 
					var_os="debian"
 | 
				
			||||||
var_version="12"
 | 
					var_version="12"
 | 
				
			||||||
 | 
					var_unprivileged="1"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# App Output & Base Settings
 | 
				
			||||||
 | 
					header_info "$APP"
 | 
				
			||||||
 | 
					base_settings
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# Core 
 | 
				
			||||||
variables
 | 
					variables
 | 
				
			||||||
color
 | 
					color
 | 
				
			||||||
catch_errors
 | 
					catch_errors
 | 
				
			||||||
 | 
					
 | 
				
			||||||
function default_settings() {
 | 
					 | 
				
			||||||
  CT_TYPE="1"
 | 
					 | 
				
			||||||
  PW=""
 | 
					 | 
				
			||||||
  CT_ID=$NEXTID
 | 
					 | 
				
			||||||
  HN=$NSAPP
 | 
					 | 
				
			||||||
  DISK_SIZE="$var_disk"
 | 
					 | 
				
			||||||
  CORE_COUNT="$var_cpu"
 | 
					 | 
				
			||||||
  RAM_SIZE="$var_ram"
 | 
					 | 
				
			||||||
  BRG="vmbr0"
 | 
					 | 
				
			||||||
  NET="dhcp"
 | 
					 | 
				
			||||||
  GATE=""
 | 
					 | 
				
			||||||
  APT_CACHER=""
 | 
					 | 
				
			||||||
  APT_CACHER_IP=""
 | 
					 | 
				
			||||||
  DISABLEIP6="no"
 | 
					 | 
				
			||||||
  MTU=""
 | 
					 | 
				
			||||||
  SD=""
 | 
					 | 
				
			||||||
  NS=""
 | 
					 | 
				
			||||||
  MAC=""
 | 
					 | 
				
			||||||
  VLAN=""
 | 
					 | 
				
			||||||
  SSH="no"
 | 
					 | 
				
			||||||
  VERB="no"
 | 
					 | 
				
			||||||
  echo_default
 | 
					 | 
				
			||||||
}
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
function update_script() {
 | 
					function update_script() {
 | 
				
			||||||
header_info
 | 
					    header_info
 | 
				
			||||||
check_container_storage
 | 
					    check_container_storage
 | 
				
			||||||
check_container_resources
 | 
					    check_container_resources
 | 
				
			||||||
if [[ ! -d /opt/jellyseerr ]]; then msg_error "No ${APP} Installation Found!"; exit; fi
 | 
					
 | 
				
			||||||
if ! command -v pnpm &> /dev/null; then
 | 
					    if [[ ! -d /opt/jellyseerr ]]; then 
 | 
				
			||||||
    msg_error "pnpm not found. Installing..."
 | 
					        msg_error "No ${APP} Installation Found!"
 | 
				
			||||||
    npm install -g pnpm &>/dev/null
 | 
					        exit
 | 
				
			||||||
else
 | 
					    fi
 | 
				
			||||||
    msg_ok "pnpm is already installed."
 | 
					
 | 
				
			||||||
fi
 | 
					    if ! command -v pnpm &> /dev/null; then
 | 
				
			||||||
msg_info "Updating $APP"
 | 
					        msg_error "pnpm not found. Installing..."
 | 
				
			||||||
cd /opt/jellyseerr
 | 
					        npm install -g pnpm &>/dev/null
 | 
				
			||||||
output=$(git pull --no-rebase)
 | 
					    else
 | 
				
			||||||
if echo "$output" | grep -q "Already up to date."
 | 
					        msg_ok "pnpm is already installed."
 | 
				
			||||||
then
 | 
					    fi
 | 
				
			||||||
  msg_ok "$APP is already up to date."
 | 
					
 | 
				
			||||||
  exit
 | 
					    msg_info "Updating $APP"
 | 
				
			||||||
fi
 | 
					    cd /opt/jellyseerr
 | 
				
			||||||
systemctl stop jellyseerr
 | 
					    output=$(git pull --no-rebase)
 | 
				
			||||||
rm -rf dist
 | 
					    
 | 
				
			||||||
rm -rf .next 
 | 
					    if echo "$output" | grep -q "Already up to date."; then
 | 
				
			||||||
rm -rf node_modules 
 | 
					        msg_ok "$APP is already up to date."
 | 
				
			||||||
export CYPRESS_INSTALL_BINARY=0 
 | 
					        exit
 | 
				
			||||||
pnpm install --frozen-lockfile &>/dev/null
 | 
					    fi
 | 
				
			||||||
export NODE_OPTIONS="--max-old-space-size=3072"
 | 
					
 | 
				
			||||||
pnpm build &>/dev/null
 | 
					    systemctl stop jellyseerr
 | 
				
			||||||
cat <<EOF >/etc/systemd/system/jellyseerr.service
 | 
					    rm -rf dist .next node_modules
 | 
				
			||||||
 | 
					    export CYPRESS_INSTALL_BINARY=0
 | 
				
			||||||
 | 
					    pnpm install --frozen-lockfile &>/dev/null
 | 
				
			||||||
 | 
					    export NODE_OPTIONS="--max-old-space-size=3072"
 | 
				
			||||||
 | 
					    pnpm build &>/dev/null
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    cat <<EOF >/etc/systemd/system/jellyseerr.service
 | 
				
			||||||
[Unit]
 | 
					[Unit]
 | 
				
			||||||
Description=jellyseerr Service
 | 
					Description=jellyseerr Service
 | 
				
			||||||
After=network.target
 | 
					After=network.target
 | 
				
			||||||
@@ -94,10 +72,11 @@ ExecStart=/usr/bin/node dist/index.js
 | 
				
			|||||||
[Install]
 | 
					[Install]
 | 
				
			||||||
WantedBy=multi-user.target
 | 
					WantedBy=multi-user.target
 | 
				
			||||||
EOF
 | 
					EOF
 | 
				
			||||||
systemctl daemon-reload
 | 
					
 | 
				
			||||||
systemctl start jellyseerr
 | 
					    systemctl daemon-reload
 | 
				
			||||||
msg_ok "Updated $APP"
 | 
					    systemctl start jellyseerr
 | 
				
			||||||
exit
 | 
					    msg_ok "Updated $APP"
 | 
				
			||||||
 | 
					    exit
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
start
 | 
					start
 | 
				
			||||||
@@ -105,5 +84,6 @@ build_container
 | 
				
			|||||||
description
 | 
					description
 | 
				
			||||||
 | 
					
 | 
				
			||||||
msg_ok "Completed Successfully!\n"
 | 
					msg_ok "Completed Successfully!\n"
 | 
				
			||||||
echo -e "${APP} should be reachable by going to the following URL.
 | 
					echo -e "${CREATING}${GN}${APP} setup has been successfully initialized!${CL}"
 | 
				
			||||||
         ${BL}http://${IP}:5055${CL} \n"
 | 
					echo -e "${INFO}${YW} Access it using the following URL:${CL}"
 | 
				
			||||||
 | 
					echo -e "${TAB}${GATEWAY}${BGN}http://${IP}:5055${CL}"
 | 
				
			||||||
							
								
								
									
										50
									
								
								ct/jenkins.sh
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										50
									
								
								ct/jenkins.sh
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,50 @@
 | 
				
			|||||||
 | 
					#!/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: kristocopani
 | 
				
			||||||
 | 
					# License: MIT
 | 
				
			||||||
 | 
					# https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE
 | 
				
			||||||
 | 
					# Source: https://www.jenkins.io/
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# App Default Values
 | 
				
			||||||
 | 
					APP="Jenkins"
 | 
				
			||||||
 | 
					var_tags="automation"
 | 
				
			||||||
 | 
					var_cpu="2"
 | 
				
			||||||
 | 
					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 /var/lib/jenkins ]]; 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}:8080${CL}"
 | 
				
			||||||
							
								
								
									
										90
									
								
								ct/kavita.sh
									
									
									
									
									
								
							
							
						
						
									
										90
									
								
								ct/kavita.sh
									
									
									
									
									
								
							@@ -1,72 +1,47 @@
 | 
				
			|||||||
#!/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 tteck
 | 
					# Copyright (c) 2021-2025 tteck
 | 
				
			||||||
# Author: tteck (tteckster)
 | 
					# Author: tteck (tteckster)
 | 
				
			||||||
# License: MIT
 | 
					# License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE
 | 
				
			||||||
# https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE
 | 
					# Source: https://www.kavitareader.com/
 | 
				
			||||||
 | 
					
 | 
				
			||||||
function header_info {
 | 
					# App Default Values
 | 
				
			||||||
clear
 | 
					 | 
				
			||||||
cat <<"EOF"
 | 
					 | 
				
			||||||
    __ __            _ __       
 | 
					 | 
				
			||||||
   / //_/___ __   __(_) /_____ _
 | 
					 | 
				
			||||||
  / ,< / __ `/ | / / / __/ __ `/
 | 
					 | 
				
			||||||
 / /| / /_/ /| |/ / / /_/ /_/ / 
 | 
					 | 
				
			||||||
/_/ |_\__,_/ |___/_/\__/\__,_/  
 | 
					 | 
				
			||||||
                                
 | 
					 | 
				
			||||||
EOF
 | 
					 | 
				
			||||||
}
 | 
					 | 
				
			||||||
header_info
 | 
					 | 
				
			||||||
echo -e "Loading..."
 | 
					 | 
				
			||||||
APP="Kavita"
 | 
					APP="Kavita"
 | 
				
			||||||
var_disk="8"
 | 
					var_tags="reader"
 | 
				
			||||||
var_cpu="2"
 | 
					var_cpu="2"
 | 
				
			||||||
var_ram="2048"
 | 
					var_ram="2048"
 | 
				
			||||||
 | 
					var_disk="8"
 | 
				
			||||||
var_os="debian"
 | 
					var_os="debian"
 | 
				
			||||||
var_version="12"
 | 
					var_version="12"
 | 
				
			||||||
 | 
					var_unprivileged="1"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# App Output & Base Settings
 | 
				
			||||||
 | 
					header_info "$APP"
 | 
				
			||||||
 | 
					base_settings
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# Core
 | 
				
			||||||
variables
 | 
					variables
 | 
				
			||||||
color
 | 
					color
 | 
				
			||||||
catch_errors
 | 
					catch_errors
 | 
				
			||||||
 | 
					
 | 
				
			||||||
function default_settings() {
 | 
					 | 
				
			||||||
  CT_TYPE="1"
 | 
					 | 
				
			||||||
  PW=""
 | 
					 | 
				
			||||||
  CT_ID=$NEXTID
 | 
					 | 
				
			||||||
  HN=$NSAPP
 | 
					 | 
				
			||||||
  DISK_SIZE="$var_disk"
 | 
					 | 
				
			||||||
  CORE_COUNT="$var_cpu"
 | 
					 | 
				
			||||||
  RAM_SIZE="$var_ram"
 | 
					 | 
				
			||||||
  BRG="vmbr0"
 | 
					 | 
				
			||||||
  NET="dhcp"
 | 
					 | 
				
			||||||
  GATE=""
 | 
					 | 
				
			||||||
  APT_CACHER=""
 | 
					 | 
				
			||||||
  APT_CACHER_IP=""
 | 
					 | 
				
			||||||
  DISABLEIP6="no"
 | 
					 | 
				
			||||||
  MTU=""
 | 
					 | 
				
			||||||
  SD=""
 | 
					 | 
				
			||||||
  NS=""
 | 
					 | 
				
			||||||
  MAC=""
 | 
					 | 
				
			||||||
  VLAN=""
 | 
					 | 
				
			||||||
  SSH="no"
 | 
					 | 
				
			||||||
  VERB="no"
 | 
					 | 
				
			||||||
  echo_default
 | 
					 | 
				
			||||||
}
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
function update_script() {
 | 
					function update_script() {
 | 
				
			||||||
header_info
 | 
					    header_info
 | 
				
			||||||
check_container_storage
 | 
					    check_container_storage
 | 
				
			||||||
check_container_resources
 | 
					    check_container_resources
 | 
				
			||||||
if [[ ! -d /opt/Kavita ]]; then msg_error "No ${APP} Installation Found!"; exit; fi
 | 
					    if [[ ! -d /opt/Kavita ]]; then
 | 
				
			||||||
msg_info "Updating $APP LXC"
 | 
					        msg_error "No ${APP} Installation Found!"
 | 
				
			||||||
systemctl stop kavita
 | 
					        exit
 | 
				
			||||||
RELEASE=$(curl -s https://api.github.com/repos/Kareadita/Kavita/releases/latest | grep "tag_name" | awk '{print substr($2, 2, length($2)-3) }')
 | 
					    fi
 | 
				
			||||||
tar -xvzf <(curl -fsSL https://github.com/Kareadita/Kavita/releases/download/$RELEASE/kavita-linux-x64.tar.gz) --no-same-owner &>/dev/null
 | 
					    msg_info "Updating $APP LXC"
 | 
				
			||||||
rm -rf Kavita/config
 | 
					    systemctl stop kavita
 | 
				
			||||||
cp -r Kavita/* /opt/Kavita
 | 
					    RELEASE=$(curl -s https://api.github.com/repos/Kareadita/Kavita/releases/latest | grep "tag_name" | awk '{print substr($2, 2, length($2)-3) }')
 | 
				
			||||||
rm -rf Kavita
 | 
					    tar -xvzf <(curl -fsSL https://github.com/Kareadita/Kavita/releases/download/$RELEASE/kavita-linux-x64.tar.gz) --no-same-owner &>/dev/null
 | 
				
			||||||
systemctl start kavita
 | 
					    rm -rf Kavita/config
 | 
				
			||||||
msg_ok "Updated $APP LXC"
 | 
					    cp -r Kavita/* /opt/Kavita
 | 
				
			||||||
exit
 | 
					    rm -rf Kavita
 | 
				
			||||||
 | 
					    systemctl start kavita
 | 
				
			||||||
 | 
					    msg_ok "Updated $APP LXC"
 | 
				
			||||||
 | 
					    exit
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
start
 | 
					start
 | 
				
			||||||
@@ -74,5 +49,6 @@ build_container
 | 
				
			|||||||
description
 | 
					description
 | 
				
			||||||
 | 
					
 | 
				
			||||||
msg_ok "Completed Successfully!\n"
 | 
					msg_ok "Completed Successfully!\n"
 | 
				
			||||||
echo -e "${APP} should be reachable by going to the following URL.
 | 
					echo -e "${CREATING}${GN}${APP} setup has been successfully initialized!${CL}"
 | 
				
			||||||
         ${BL}http://${IP}:5000${CL} \n"
 | 
					echo -e "${INFO}${YW} Access it using the following URL:${CL}"
 | 
				
			||||||
 | 
					echo -e "${TAB}${GATEWAY}${BGN}http://${IP}:5000${CL}"
 | 
				
			||||||
							
								
								
									
										113
									
								
								ct/keycloak.sh
									
									
									
									
									
								
							
							
						
						
									
										113
									
								
								ct/keycloak.sh
									
									
									
									
									
								
							@@ -1,88 +1,62 @@
 | 
				
			|||||||
#!/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 tteck
 | 
					# Copyright (c) 2021-2025 tteck
 | 
				
			||||||
# Author: tteck (tteckster)
 | 
					# Author: tteck (tteckster)
 | 
				
			||||||
# License: MIT
 | 
					# License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE
 | 
				
			||||||
# https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE
 | 
					# Source: https://www.keycloak.org/
 | 
				
			||||||
 | 
					
 | 
				
			||||||
function header_info {
 | 
					# App Default Values
 | 
				
			||||||
clear
 | 
					 | 
				
			||||||
cat <<"EOF"
 | 
					 | 
				
			||||||
    __ __                __            __  
 | 
					 | 
				
			||||||
   / //_/__  __  _______/ /___  ____ _/ /__
 | 
					 | 
				
			||||||
  / ,< / _ \/ / / / ___/ / __ \/ __  / //_/
 | 
					 | 
				
			||||||
 / /| /  __/ /_/ / /__/ / /_/ / /_/ / ,<   
 | 
					 | 
				
			||||||
/_/ |_\___/\__, /\___/_/\____/\__,_/_/|_|  
 | 
					 | 
				
			||||||
          /____/                           
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
EOF
 | 
					 | 
				
			||||||
}
 | 
					 | 
				
			||||||
header_info
 | 
					 | 
				
			||||||
echo -e "Loading..."
 | 
					 | 
				
			||||||
APP="Keycloak"
 | 
					APP="Keycloak"
 | 
				
			||||||
var_disk="4"
 | 
					var_tags="access-management"
 | 
				
			||||||
var_cpu="2"
 | 
					var_cpu="2"
 | 
				
			||||||
var_ram="2048"
 | 
					var_ram="2048"
 | 
				
			||||||
 | 
					var_disk="4"
 | 
				
			||||||
var_os="debian"
 | 
					var_os="debian"
 | 
				
			||||||
var_version="12"
 | 
					var_version="12"
 | 
				
			||||||
 | 
					var_unprivileged="1"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# App Output & Base Settings
 | 
				
			||||||
 | 
					header_info "$APP"
 | 
				
			||||||
 | 
					base_settings
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# Core
 | 
				
			||||||
variables
 | 
					variables
 | 
				
			||||||
color
 | 
					color
 | 
				
			||||||
catch_errors
 | 
					catch_errors
 | 
				
			||||||
 | 
					
 | 
				
			||||||
function default_settings() {
 | 
					 | 
				
			||||||
  CT_TYPE="1"
 | 
					 | 
				
			||||||
  PW=""
 | 
					 | 
				
			||||||
  CT_ID=$NEXTID
 | 
					 | 
				
			||||||
  HN=$NSAPP
 | 
					 | 
				
			||||||
  DISK_SIZE="$var_disk"
 | 
					 | 
				
			||||||
  CORE_COUNT="$var_cpu"
 | 
					 | 
				
			||||||
  RAM_SIZE="$var_ram"
 | 
					 | 
				
			||||||
  BRG="vmbr0"
 | 
					 | 
				
			||||||
  NET="dhcp"
 | 
					 | 
				
			||||||
  GATE=""
 | 
					 | 
				
			||||||
  APT_CACHER=""
 | 
					 | 
				
			||||||
  APT_CACHER_IP=""
 | 
					 | 
				
			||||||
  DISABLEIP6="no"
 | 
					 | 
				
			||||||
  MTU=""
 | 
					 | 
				
			||||||
  SD=""
 | 
					 | 
				
			||||||
  NS=""
 | 
					 | 
				
			||||||
  MAC=""
 | 
					 | 
				
			||||||
  VLAN=""
 | 
					 | 
				
			||||||
  SSH="no"
 | 
					 | 
				
			||||||
  VERB="no"
 | 
					 | 
				
			||||||
  echo_default
 | 
					 | 
				
			||||||
}
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
function update_script() {
 | 
					function update_script() {
 | 
				
			||||||
header_info
 | 
					  header_info
 | 
				
			||||||
check_container_storage
 | 
					  check_container_storage
 | 
				
			||||||
check_container_resources
 | 
					  check_container_resources
 | 
				
			||||||
if [[ ! -f /etc/systemd/system/keycloak.service ]]; then msg_error "No ${APP} Installation Found!"; exit; fi
 | 
					  if [[ ! -f /etc/systemd/system/keycloak.service ]]; then
 | 
				
			||||||
msg_info "Updating ${APP} LXC"
 | 
					    msg_error "No ${APP} Installation Found!"
 | 
				
			||||||
 | 
					    exit
 | 
				
			||||||
 | 
					  fi
 | 
				
			||||||
 | 
					  msg_info "Updating ${APP} LXC"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
msg_info "Updating packages"
 | 
					  msg_info "Updating packages"
 | 
				
			||||||
apt-get update &>/dev/null
 | 
					  apt-get update &>/dev/null
 | 
				
			||||||
apt-get -y upgrade &>/dev/null
 | 
					  apt-get -y upgrade &>/dev/null
 | 
				
			||||||
 | 
					
 | 
				
			||||||
RELEASE=$(curl -s https://api.github.com/repos/keycloak/keycloak/releases/latest | grep "tag_name" | awk '{print substr($2, 2, length($2)-3) }')
 | 
					  RELEASE=$(curl -s https://api.github.com/repos/keycloak/keycloak/releases/latest | grep "tag_name" | awk '{print substr($2, 2, length($2)-3) }')
 | 
				
			||||||
msg_info "Updating Keycloak to v$RELEASE"
 | 
					  msg_info "Updating Keycloak to v$RELEASE"
 | 
				
			||||||
cd /opt
 | 
					  cd /opt
 | 
				
			||||||
wget -q https://github.com/keycloak/keycloak/releases/download/$RELEASE/keycloak-$RELEASE.tar.gz
 | 
					  wget -q https://github.com/keycloak/keycloak/releases/download/$RELEASE/keycloak-$RELEASE.tar.gz
 | 
				
			||||||
mv keycloak keycloak.old
 | 
					  mv keycloak keycloak.old
 | 
				
			||||||
tar -xzf keycloak-$RELEASE.tar.gz
 | 
					  tar -xzf keycloak-$RELEASE.tar.gz
 | 
				
			||||||
cp -r keycloak.old/conf keycloak-$RELEASE
 | 
					  cp -r keycloak.old/conf keycloak-$RELEASE
 | 
				
			||||||
cp -r keycloak.old/providers keycloak-$RELEASE
 | 
					  cp -r keycloak.old/providers keycloak-$RELEASE
 | 
				
			||||||
cp -r keycloak.old/themes keycloak-$RELEASE
 | 
					  cp -r keycloak.old/themes keycloak-$RELEASE
 | 
				
			||||||
mv keycloak-$RELEASE keycloak
 | 
					  mv keycloak-$RELEASE keycloak
 | 
				
			||||||
 | 
					
 | 
				
			||||||
msg_info "Delete temporary installation files"
 | 
					  msg_info "Delete temporary installation files"
 | 
				
			||||||
rm keycloak-$RELEASE.tar.gz
 | 
					  rm keycloak-$RELEASE.tar.gz
 | 
				
			||||||
rm -rf keycloak.old
 | 
					  rm -rf keycloak.old
 | 
				
			||||||
 | 
					
 | 
				
			||||||
msg_info "Restating Keycloak"
 | 
					  msg_info "Restating Keycloak"
 | 
				
			||||||
systemctl restart keycloak
 | 
					  systemctl restart keycloak
 | 
				
			||||||
msg_ok "Updated Successfully"
 | 
					  msg_ok "Updated Successfully"
 | 
				
			||||||
exit
 | 
					  exit
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
start
 | 
					start
 | 
				
			||||||
@@ -90,5 +64,6 @@ build_container
 | 
				
			|||||||
description
 | 
					description
 | 
				
			||||||
 | 
					
 | 
				
			||||||
msg_ok "Completed Successfully!\n"
 | 
					msg_ok "Completed Successfully!\n"
 | 
				
			||||||
echo -e "${APP} should be reachable by going to the following URL.
 | 
					echo -e "${CREATING}${GN}${APP} setup has been successfully initialized!${CL}"
 | 
				
			||||||
         ${BL}http://${IP}:8080/admin${CL} \n"
 | 
					echo -e "${INFO}${YW} Access it using the following URL:${CL}"
 | 
				
			||||||
 | 
					echo -e "${TAB}${GATEWAY}${BGN}http://${IP}:8080/admin${CL}"
 | 
				
			||||||
 
 | 
				
			|||||||
							
								
								
									
										136
									
								
								ct/kimai.sh
									
									
									
									
									
								
							
							
						
						
									
										136
									
								
								ct/kimai.sh
									
									
									
									
									
								
							@@ -1,98 +1,73 @@
 | 
				
			|||||||
#!/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: MickLesk (Canbiz)
 | 
					# Author: MickLesk (Canbiz)
 | 
				
			||||||
# License: MIT
 | 
					# License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE
 | 
				
			||||||
# https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE
 | 
					# Source: https://www.kimai.org/
 | 
				
			||||||
 | 
					
 | 
				
			||||||
function header_info {
 | 
					# App Default Values
 | 
				
			||||||
clear
 | 
					 | 
				
			||||||
cat <<"EOF"
 | 
					 | 
				
			||||||
    __ __ _                 _ 
 | 
					 | 
				
			||||||
   / //_/(_)___ ___  ____ _(_)
 | 
					 | 
				
			||||||
  / ,<  / / __ `__ \/ __ `/ / 
 | 
					 | 
				
			||||||
 / /| |/ / / / / / / /_/ / /  
 | 
					 | 
				
			||||||
/_/ |_/_/_/ /_/ /_/\__,_/_/   
 | 
					 | 
				
			||||||
                              
 | 
					 | 
				
			||||||
EOF
 | 
					 | 
				
			||||||
}
 | 
					 | 
				
			||||||
header_info
 | 
					 | 
				
			||||||
echo -e "Loading..."
 | 
					 | 
				
			||||||
APP="Kimai"
 | 
					APP="Kimai"
 | 
				
			||||||
var_disk="7"
 | 
					var_tags="time-tracking"
 | 
				
			||||||
var_cpu="2"
 | 
					var_cpu="2"
 | 
				
			||||||
var_ram="2048"
 | 
					var_ram="2048"
 | 
				
			||||||
 | 
					var_disk="7"
 | 
				
			||||||
var_os="debian"
 | 
					var_os="debian"
 | 
				
			||||||
var_version="12"
 | 
					var_version="12"
 | 
				
			||||||
 | 
					var_unprivileged="1"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# App Output & Base Settings
 | 
				
			||||||
 | 
					header_info "$APP"
 | 
				
			||||||
 | 
					base_settings
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# Core
 | 
				
			||||||
variables
 | 
					variables
 | 
				
			||||||
color
 | 
					color
 | 
				
			||||||
catch_errors
 | 
					catch_errors
 | 
				
			||||||
 | 
					
 | 
				
			||||||
function default_settings() {
 | 
					 | 
				
			||||||
  CT_TYPE="1"
 | 
					 | 
				
			||||||
  PW=""
 | 
					 | 
				
			||||||
  CT_ID=$NEXTID
 | 
					 | 
				
			||||||
  HN=$NSAPP
 | 
					 | 
				
			||||||
  DISK_SIZE="$var_disk"
 | 
					 | 
				
			||||||
  CORE_COUNT="$var_cpu"
 | 
					 | 
				
			||||||
  RAM_SIZE="$var_ram"
 | 
					 | 
				
			||||||
  BRG="vmbr0"
 | 
					 | 
				
			||||||
  NET="dhcp"
 | 
					 | 
				
			||||||
  GATE=""
 | 
					 | 
				
			||||||
  APT_CACHER=""
 | 
					 | 
				
			||||||
  APT_CACHER_IP=""
 | 
					 | 
				
			||||||
  DISABLEIP6="no"
 | 
					 | 
				
			||||||
  MTU=""
 | 
					 | 
				
			||||||
  SD=""
 | 
					 | 
				
			||||||
  NS=""
 | 
					 | 
				
			||||||
  MAC=""
 | 
					 | 
				
			||||||
  VLAN=""
 | 
					 | 
				
			||||||
  SSH="no"
 | 
					 | 
				
			||||||
  VERB="no"
 | 
					 | 
				
			||||||
  echo_default
 | 
					 | 
				
			||||||
}
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
function update_script() {
 | 
					function update_script() {
 | 
				
			||||||
header_info
 | 
					  header_info
 | 
				
			||||||
check_container_storage
 | 
					  check_container_storage
 | 
				
			||||||
check_container_resources
 | 
					  check_container_resources
 | 
				
			||||||
if [[ ! -d /opt/kimai ]]; then msg_error "No ${APP} Installation Found!"; exit; fi
 | 
					  if [[ ! -d /opt/kimai ]]; then
 | 
				
			||||||
RELEASE=$(curl -s https://api.github.com/repos/kimai/kimai/releases/latest | grep "tag_name" | awk '{print substr($2, 2, length($2)-3) }')
 | 
					    msg_error "No ${APP} Installation Found!"
 | 
				
			||||||
if [[ ! -f /opt/${APP}_version.txt ]] || [[ "${RELEASE}" != "$(cat /opt/${APP}_version.txt)" ]]; then
 | 
					    exit
 | 
				
			||||||
  msg_info "Stopping Apache2"
 | 
					  fi
 | 
				
			||||||
  systemctl stop apache2
 | 
					  RELEASE=$(curl -s https://api.github.com/repos/kimai/kimai/releases/latest | grep "tag_name" | awk '{print substr($2, 2, length($2)-3) }')
 | 
				
			||||||
  msg_ok "Stopped Apache2"
 | 
					  if [[ ! -f /opt/${APP}_version.txt ]] || [[ "${RELEASE}" != "$(cat /opt/${APP}_version.txt)" ]]; then
 | 
				
			||||||
 | 
					    msg_info "Stopping Apache2"
 | 
				
			||||||
 | 
					    systemctl stop apache2
 | 
				
			||||||
 | 
					    msg_ok "Stopped Apache2"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  msg_info "Updating ${APP} to ${RELEASE}"
 | 
					    msg_info "Updating ${APP} to ${RELEASE}"
 | 
				
			||||||
  cp /opt/kimai/.env /opt/.env
 | 
					    cp /opt/kimai/.env /opt/.env
 | 
				
			||||||
  rm -rf /opt/kimai
 | 
					    rm -rf /opt/kimai
 | 
				
			||||||
  wget -q "https://github.com/kimai/kimai/archive/refs/tags/${RELEASE}.zip"
 | 
					    wget -q "https://github.com/kimai/kimai/archive/refs/tags/${RELEASE}.zip"
 | 
				
			||||||
  unzip -q ${RELEASE}.zip
 | 
					    unzip -q ${RELEASE}.zip
 | 
				
			||||||
  mv kimai-${RELEASE} /opt/kimai
 | 
					    mv kimai-${RELEASE} /opt/kimai
 | 
				
			||||||
  mv /opt/.env /opt/kimai/.env
 | 
					    mv /opt/.env /opt/kimai/.env
 | 
				
			||||||
  cd /opt/kimai
 | 
					    cd /opt/kimai
 | 
				
			||||||
  composer install --no-dev --optimize-autoloader &>/dev/null
 | 
					    composer install --no-dev --optimize-autoloader &>/dev/null
 | 
				
			||||||
  bin/console kimai:update &>/dev/null
 | 
					    bin/console kimai:update &>/dev/null
 | 
				
			||||||
  chown -R :www-data .
 | 
					    chown -R :www-data .
 | 
				
			||||||
  chmod -R g+r .
 | 
					    chmod -R g+r .
 | 
				
			||||||
  chmod -R g+rw var/
 | 
					    chmod -R g+rw var/
 | 
				
			||||||
  sudo chown -R www-data:www-data /opt/kimai
 | 
					    sudo chown -R www-data:www-data /opt/kimai
 | 
				
			||||||
  sudo chmod -R 755 /opt/kimai
 | 
					    sudo chmod -R 755 /opt/kimai
 | 
				
			||||||
  echo "${RELEASE}" >/opt/${APP}_version.txt
 | 
					    echo "${RELEASE}" >/opt/${APP}_version.txt
 | 
				
			||||||
  msg_ok "Updated ${APP} to ${RELEASE}"
 | 
					    msg_ok "Updated ${APP} to ${RELEASE}"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  msg_info "Starting Apache2"
 | 
					    msg_info "Starting Apache2"
 | 
				
			||||||
  systemctl start apache2
 | 
					    systemctl start apache2
 | 
				
			||||||
  msg_ok "Started Apache2"
 | 
					    msg_ok "Started Apache2"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  msg_info "Cleaning Up"
 | 
					    msg_info "Cleaning Up"
 | 
				
			||||||
  rm -rf ${RELEASE}.zip
 | 
					    rm -rf ${RELEASE}.zip
 | 
				
			||||||
  msg_ok "Cleaned"
 | 
					    msg_ok "Cleaned"
 | 
				
			||||||
  msg_ok "Updated Successfully"
 | 
					    msg_ok "Updated Successfully"
 | 
				
			||||||
else
 | 
					  else
 | 
				
			||||||
  msg_ok "No update required. ${APP} is already at ${RELEASE}"
 | 
					    msg_ok "No update required. ${APP} is already at ${RELEASE}"
 | 
				
			||||||
fi
 | 
					  fi
 | 
				
			||||||
exit
 | 
					  exit
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
start
 | 
					start
 | 
				
			||||||
@@ -100,5 +75,6 @@ build_container
 | 
				
			|||||||
description
 | 
					description
 | 
				
			||||||
 | 
					
 | 
				
			||||||
msg_ok "Completed Successfully!\n"
 | 
					msg_ok "Completed Successfully!\n"
 | 
				
			||||||
echo -e "${APP} Setup should be reachable by going to the following URL.
 | 
					echo -e "${CREATING}${GN}${APP} setup has been successfully initialized!${CL}"
 | 
				
			||||||
         ${BL}http://${IP}${CL} \n"
 | 
					echo -e "${INFO}${YW} Access it using the following URL:${CL}"
 | 
				
			||||||
 | 
					echo -e "${TAB}${GATEWAY}${BGN}http://${IP}${CL}"
 | 
				
			||||||
							
								
								
									
										110
									
								
								ct/komga.sh
									
									
									
									
									
								
							
							
						
						
									
										110
									
								
								ct/komga.sh
									
									
									
									
									
								
							@@ -1,84 +1,59 @@
 | 
				
			|||||||
#!/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: madelyn (DysfunctionalProgramming)
 | 
					# Author: madelyn (DysfunctionalProgramming)
 | 
				
			||||||
# License: MIT
 | 
					# License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE
 | 
				
			||||||
# https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE
 | 
					# Source: https://komga.org/
 | 
				
			||||||
 | 
					
 | 
				
			||||||
function header_info {
 | 
					# App Default Values
 | 
				
			||||||
clear
 | 
					 | 
				
			||||||
cat <<"EOF"
 | 
					 | 
				
			||||||
    __ __                           
 | 
					 | 
				
			||||||
   / //_/___  ____ ___  ____ _____ _
 | 
					 | 
				
			||||||
  / ,< / __ \/ __ `__ \/ __ `/ __ `/
 | 
					 | 
				
			||||||
 / /| / /_/ / / / / / / /_/ / /_/ / 
 | 
					 | 
				
			||||||
/_/ |_\____/_/ /_/ /_/\__, /\__,_/  
 | 
					 | 
				
			||||||
                     /____/           
 | 
					 | 
				
			||||||
EOF
 | 
					 | 
				
			||||||
}
 | 
					 | 
				
			||||||
header_info
 | 
					 | 
				
			||||||
echo -e "Loading..."
 | 
					 | 
				
			||||||
APP="Komga"
 | 
					APP="Komga"
 | 
				
			||||||
var_disk="4"
 | 
					var_tags="media;eBook;comic"
 | 
				
			||||||
var_cpu="1"
 | 
					var_cpu="1"
 | 
				
			||||||
var_ram="2048"
 | 
					var_ram="2048"
 | 
				
			||||||
 | 
					var_disk="4"
 | 
				
			||||||
var_os="debian"
 | 
					var_os="debian"
 | 
				
			||||||
var_version="12"
 | 
					var_version="12"
 | 
				
			||||||
 | 
					var_unprivileged="1"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# App Output & Base Settings
 | 
				
			||||||
 | 
					header_info "$APP"
 | 
				
			||||||
 | 
					base_settings
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# Core
 | 
				
			||||||
variables
 | 
					variables
 | 
				
			||||||
color
 | 
					color
 | 
				
			||||||
catch_errors
 | 
					catch_errors
 | 
				
			||||||
 | 
					
 | 
				
			||||||
function default_settings() {
 | 
					 | 
				
			||||||
  CT_TYPE="1"
 | 
					 | 
				
			||||||
  PW=""
 | 
					 | 
				
			||||||
  CT_ID=$NEXTID
 | 
					 | 
				
			||||||
  HN=$NSAPP
 | 
					 | 
				
			||||||
  DISK_SIZE="$var_disk"
 | 
					 | 
				
			||||||
  CORE_COUNT="$var_cpu"
 | 
					 | 
				
			||||||
  RAM_SIZE="$var_ram"
 | 
					 | 
				
			||||||
  BRG="vmbr0"
 | 
					 | 
				
			||||||
  NET="dhcp"
 | 
					 | 
				
			||||||
  GATE=""
 | 
					 | 
				
			||||||
  APT_CACHER=""
 | 
					 | 
				
			||||||
  APT_CACHER_IP=""
 | 
					 | 
				
			||||||
  DISABLEIP6="no"
 | 
					 | 
				
			||||||
  MTU=""
 | 
					 | 
				
			||||||
  SD=""
 | 
					 | 
				
			||||||
  NS=""
 | 
					 | 
				
			||||||
  MAC=""
 | 
					 | 
				
			||||||
  VLAN=""
 | 
					 | 
				
			||||||
  SSH="no"
 | 
					 | 
				
			||||||
  VERB="no"
 | 
					 | 
				
			||||||
  echo_default
 | 
					 | 
				
			||||||
}
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
function update_script() {
 | 
					function update_script() {
 | 
				
			||||||
header_info
 | 
					  header_info
 | 
				
			||||||
check_container_storage
 | 
					  check_container_storage
 | 
				
			||||||
check_container_resources
 | 
					  check_container_resources
 | 
				
			||||||
if [[ ! -f /opt/komga/komga.jar ]]; then msg_error "No ${APP} Installation Found!"; exit; fi
 | 
					  if [[ ! -f /opt/komga/komga.jar ]]; then
 | 
				
			||||||
msg_info "Updating ${APP}"
 | 
					    msg_error "No ${APP} Installation Found!"
 | 
				
			||||||
RELEASE=$(curl -s https://api.github.com/repos/gotson/komga/releases/latest | grep "tag_name" | awk '{print substr($2, 2, length($2)-3) }')
 | 
					    exit
 | 
				
			||||||
if [[ ! -f /opt/${APP}_version.txt ]] || [[ "${RELEASE}" != "$(cat /opt/${APP}_version.txt)" ]]; then
 | 
					  fi
 | 
				
			||||||
  msg_info "Stopping ${APP}"
 | 
					  msg_info "Updating ${APP}"
 | 
				
			||||||
  systemctl stop komga
 | 
					  RELEASE=$(curl -s https://api.github.com/repos/gotson/komga/releases/latest | grep "tag_name" | awk '{print substr($2, 2, length($2)-3) }')
 | 
				
			||||||
  msg_ok "Stopped ${APP}"
 | 
					  if [[ ! -f /opt/${APP}_version.txt ]] || [[ "${RELEASE}" != "$(cat /opt/${APP}_version.txt)" ]]; then
 | 
				
			||||||
 | 
					    msg_info "Stopping ${APP}"
 | 
				
			||||||
 | 
					    systemctl stop komga
 | 
				
			||||||
 | 
					    msg_ok "Stopped ${APP}"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  msg_info "Updating ${APP} to ${RELEASE}"
 | 
					    msg_info "Updating ${APP} to ${RELEASE}"
 | 
				
			||||||
  wget -q "https://github.com/gotson/komga/releases/download/${RELEASE}/komga-${RELEASE}.jar"
 | 
					    wget -q "https://github.com/gotson/komga/releases/download/${RELEASE}/komga-${RELEASE}.jar"
 | 
				
			||||||
  rm -rf /opt/komga/komga.jar
 | 
					    rm -rf /opt/komga/komga.jar
 | 
				
			||||||
  mv -f komga-${RELEASE}.jar /opt/komga/komga.jar
 | 
					    mv -f komga-${RELEASE}.jar /opt/komga/komga.jar
 | 
				
			||||||
  echo "${RELEASE}" >/opt/${APP}_version.txt
 | 
					    echo "${RELEASE}" >/opt/${APP}_version.txt
 | 
				
			||||||
  msg_ok "Updated ${APP} to ${RELEASE}"
 | 
					    msg_ok "Updated ${APP} to ${RELEASE}"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  msg_info "Starting ${APP}"
 | 
					    msg_info "Starting ${APP}"
 | 
				
			||||||
  systemctl start komga
 | 
					    systemctl start komga
 | 
				
			||||||
  msg_ok "Started ${APP}"
 | 
					    msg_ok "Started ${APP}"
 | 
				
			||||||
  msg_ok "Updated Successfully"
 | 
					    msg_ok "Updated Successfully"
 | 
				
			||||||
else
 | 
					  else
 | 
				
			||||||
  msg_ok "No update required. ${APP} is already at ${RELEASE}."  
 | 
					    msg_ok "No update required. ${APP} is already at ${RELEASE}."
 | 
				
			||||||
fi
 | 
					  fi
 | 
				
			||||||
exit
 | 
					  exit
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
start
 | 
					start
 | 
				
			||||||
@@ -86,5 +61,6 @@ build_container
 | 
				
			|||||||
description
 | 
					description
 | 
				
			||||||
 | 
					
 | 
				
			||||||
msg_ok "Completed Successfully!\n"
 | 
					msg_ok "Completed Successfully!\n"
 | 
				
			||||||
echo -e "${APP} should be reachable by going to the following URL.
 | 
					echo -e "${CREATING}${GN}${APP} setup has been successfully initialized!${CL}"
 | 
				
			||||||
         ${BL}http://${IP}:25600 ${CL} \n"
 | 
					echo -e "${INFO}${YW} Access it using the following URL:${CL}"
 | 
				
			||||||
 | 
					echo -e "${TAB}${GATEWAY}${BGN}http://${IP}:25600${CL}"
 | 
				
			||||||
 
 | 
				
			|||||||
							
								
								
									
										73
									
								
								ct/komodo.sh
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										73
									
								
								ct/komodo.sh
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,73 @@
 | 
				
			|||||||
 | 
					#!/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: MickLesk
 | 
				
			||||||
 | 
					# License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE
 | 
				
			||||||
 | 
					# Source: https://komo.do
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# App Default Values
 | 
				
			||||||
 | 
					APP="Komodo"
 | 
				
			||||||
 | 
					var_tags="docker"
 | 
				
			||||||
 | 
					var_cpu="2"
 | 
				
			||||||
 | 
					var_ram="2048"
 | 
				
			||||||
 | 
					var_disk="10"
 | 
				
			||||||
 | 
					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/komodo ]]; then
 | 
				
			||||||
 | 
					        msg_error "No ${APP} Installation Found!"
 | 
				
			||||||
 | 
					        exit
 | 
				
			||||||
 | 
					    fi
 | 
				
			||||||
 | 
					    msg_info "Updating ${APP}"
 | 
				
			||||||
 | 
					    COMPOSE_FILE=""
 | 
				
			||||||
 | 
					    for file in *.compose.yaml; do
 | 
				
			||||||
 | 
					        if [[ "$file" != "compose.env" ]]; then
 | 
				
			||||||
 | 
					            COMPOSE_FILE="$file"
 | 
				
			||||||
 | 
					            break
 | 
				
			||||||
 | 
					        fi
 | 
				
			||||||
 | 
					    done
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    if [[ -z "$COMPOSE_FILE" ]]; then
 | 
				
			||||||
 | 
					        msg_error "No valid compose file found in /opt/komodo!"
 | 
				
			||||||
 | 
					        exit 1
 | 
				
			||||||
 | 
					    fi
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    BACKUP_FILE="${COMPOSE_FILE}.bak_$(date +%Y%m%d_%H%M%S)"
 | 
				
			||||||
 | 
					    mv "$COMPOSE_FILE" "$BACKUP_FILE" || {
 | 
				
			||||||
 | 
					        msg_error "Failed to create backup of $COMPOSE_FILE!"
 | 
				
			||||||
 | 
					        exit 1
 | 
				
			||||||
 | 
					    }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    GITHUB_URL="https://raw.githubusercontent.com/mbecker20/komodo/main/compose/$COMPOSE_FILE"
 | 
				
			||||||
 | 
					    wget -q -O "$COMPOSE_FILE" "$GITHUB_URL" || {
 | 
				
			||||||
 | 
					        msg_error "Failed to download $COMPOSE_FILE from GitHub!"
 | 
				
			||||||
 | 
					        mv "$BACKUP_FILE" "$COMPOSE_FILE" 
 | 
				
			||||||
 | 
					        exit 1
 | 
				
			||||||
 | 
					    }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    docker compose -p komodo -f "/opt/komodo/$COMPOSE_FILE" --env-file /opt/komodo/compose.env up -d &>/dev/null 
 | 
				
			||||||
 | 
					    msg_ok "Updated ${APP}"
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					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}:9120${CL}"
 | 
				
			||||||
							
								
								
									
										102
									
								
								ct/kubo.sh
									
									
									
									
									
								
							
							
						
						
									
										102
									
								
								ct/kubo.sh
									
									
									
									
									
								
							@@ -1,77 +1,52 @@
 | 
				
			|||||||
#!/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 tteck
 | 
					# Copyright (c) 2021-2025 tteck
 | 
				
			||||||
# Author: tteck (tteckster)
 | 
					# Author: tteck (tteckster) | Co-Author: ulmentflam
 | 
				
			||||||
# Co-Author: ulmentflam
 | 
					# License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE
 | 
				
			||||||
# License: MIT
 | 
					# Source: https://github.com/ipfs/kubo
 | 
				
			||||||
# https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE
 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
function header_info {
 | 
					# App Default Values
 | 
				
			||||||
clear
 | 
					 | 
				
			||||||
cat <<"EOF"
 | 
					 | 
				
			||||||
    __ __      __
 | 
					 | 
				
			||||||
   / //_/_  __/ /_  ____
 | 
					 | 
				
			||||||
  / ,< / / / / __ \/ __ \
 | 
					 | 
				
			||||||
 / /| / /_/ / /_/ / /_/ /
 | 
					 | 
				
			||||||
/_/ |_\__,_/_.___/\____/
 | 
					 | 
				
			||||||
EOF
 | 
					 | 
				
			||||||
}
 | 
					 | 
				
			||||||
header_info
 | 
					 | 
				
			||||||
echo -e "Loading..."
 | 
					 | 
				
			||||||
APP="Kubo"
 | 
					APP="Kubo"
 | 
				
			||||||
var_disk="4"
 | 
					var_tags="sharing"
 | 
				
			||||||
var_cpu="2"
 | 
					var_cpu="2"
 | 
				
			||||||
var_ram="4096"
 | 
					var_ram="4096"
 | 
				
			||||||
 | 
					var_disk="4"
 | 
				
			||||||
var_os="debian"
 | 
					var_os="debian"
 | 
				
			||||||
var_version="12"
 | 
					var_version="12"
 | 
				
			||||||
 | 
					var_unprivileged="1"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# App Output & Base Settings
 | 
				
			||||||
 | 
					header_info "$APP"
 | 
				
			||||||
 | 
					base_settings
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# Core
 | 
				
			||||||
variables
 | 
					variables
 | 
				
			||||||
color
 | 
					color
 | 
				
			||||||
catch_errors
 | 
					catch_errors
 | 
				
			||||||
 | 
					
 | 
				
			||||||
function default_settings() {
 | 
					 | 
				
			||||||
  CT_TYPE="1"
 | 
					 | 
				
			||||||
  PW=""
 | 
					 | 
				
			||||||
  CT_ID=$NEXTID
 | 
					 | 
				
			||||||
  HN=$NSAPP
 | 
					 | 
				
			||||||
  DISK_SIZE="$var_disk"
 | 
					 | 
				
			||||||
  CORE_COUNT="$var_cpu"
 | 
					 | 
				
			||||||
  RAM_SIZE="$var_ram"
 | 
					 | 
				
			||||||
  BRG="vmbr0"
 | 
					 | 
				
			||||||
  NET="dhcp"
 | 
					 | 
				
			||||||
  GATE=""
 | 
					 | 
				
			||||||
  APT_CACHER=""
 | 
					 | 
				
			||||||
  APT_CACHER_IP=""
 | 
					 | 
				
			||||||
  DISABLEIP6="no"
 | 
					 | 
				
			||||||
  MTU=""
 | 
					 | 
				
			||||||
  SD=""
 | 
					 | 
				
			||||||
  NS=""
 | 
					 | 
				
			||||||
  MAC=""
 | 
					 | 
				
			||||||
  VLAN=""
 | 
					 | 
				
			||||||
  SSH="no"
 | 
					 | 
				
			||||||
  VERB="no"
 | 
					 | 
				
			||||||
  echo_default
 | 
					 | 
				
			||||||
}
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
function update_script() {
 | 
					function update_script() {
 | 
				
			||||||
header_info
 | 
					  header_info
 | 
				
			||||||
check_container_storage
 | 
					  check_container_storage
 | 
				
			||||||
check_container_resources
 | 
					  check_container_resources
 | 
				
			||||||
if [[ ! -f /usr/local/kubo ]]; then msg_error "No ${APP} Installation Found!"; exit; fi
 | 
					  if [[ ! -f /usr/local/kubo ]]; then
 | 
				
			||||||
RELEASE=$(wget -q https://github.com/ipfs/kubo/releases/latest -O - | grep "title>Release" | cut -d " " -f 4)
 | 
					    msg_error "No ${APP} Installation Found!"
 | 
				
			||||||
if [[ "${RELEASE}" != "$(cat /opt/${APP}_version.txt)" ]] || [[ ! -f /opt/${APP}_version.txt ]]; then
 | 
					    exit
 | 
				
			||||||
  msg_info "Updating $APP LXC"
 | 
					  fi
 | 
				
			||||||
  apt-get update &>/dev/null
 | 
					  RELEASE=$(wget -q https://github.com/ipfs/kubo/releases/latest -O - | grep "title>Release" | cut -d " " -f 4)
 | 
				
			||||||
  apt-get -y upgrade &>/dev/null
 | 
					  if [[ "${RELEASE}" != "$(cat /opt/${APP}_version.txt)" ]] || [[ ! -f /opt/${APP}_version.txt ]]; then
 | 
				
			||||||
  wget -q "https://github.com/ipfs/kubo/releases/download/${RELEASE}/kubo_${RELEASE}_linux-amd64.tar.gz"
 | 
					    msg_info "Updating $APP LXC"
 | 
				
			||||||
  tar -xzf "kubo_${RELEASE}_linux-amd64.tar.gz" -C /usr/local
 | 
					    apt-get update &>/dev/null
 | 
				
			||||||
  systemctl restart ipfs.service
 | 
					    apt-get -y upgrade &>/dev/null
 | 
				
			||||||
  echo "${RELEASE}" >/opt/${APP}_version.txt
 | 
					    wget -q "https://github.com/ipfs/kubo/releases/download/${RELEASE}/kubo_${RELEASE}_linux-amd64.tar.gz"
 | 
				
			||||||
  rm "kubo_${RELEASE}_linux-amd64.tar.gz"
 | 
					    tar -xzf "kubo_${RELEASE}_linux-amd64.tar.gz" -C /usr/local
 | 
				
			||||||
  msg_ok "Updated $APP LXC"
 | 
					    systemctl restart ipfs.service
 | 
				
			||||||
else
 | 
					    echo "${RELEASE}" >/opt/${APP}_version.txt
 | 
				
			||||||
  msg_ok "No update required. ${APP} is already at ${RELEASE}"
 | 
					    rm "kubo_${RELEASE}_linux-amd64.tar.gz"
 | 
				
			||||||
fi
 | 
					    msg_ok "Updated $APP LXC"
 | 
				
			||||||
exit
 | 
					  else
 | 
				
			||||||
 | 
					    msg_ok "No update required. ${APP} is already at ${RELEASE}"
 | 
				
			||||||
 | 
					  fi
 | 
				
			||||||
 | 
					  exit
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
start
 | 
					start
 | 
				
			||||||
@@ -79,5 +54,6 @@ build_container
 | 
				
			|||||||
description
 | 
					description
 | 
				
			||||||
 | 
					
 | 
				
			||||||
msg_ok "Completed Successfully!\n"
 | 
					msg_ok "Completed Successfully!\n"
 | 
				
			||||||
echo -e "${APP} should be reachable by going to the following URL.
 | 
					echo -e "${CREATING}${GN}${APP} setup has been successfully initialized!${CL}"
 | 
				
			||||||
         ${BL}http://${IP}:5001/webui ${CL} \n"
 | 
					echo -e "${INFO}${YW} Access it using the following URL:${CL}"
 | 
				
			||||||
 | 
					echo -e "${TAB}${GATEWAY}${BGN}http://${IP}:5001/webui${CL}"
 | 
				
			||||||
@@ -1,77 +1,51 @@
 | 
				
			|||||||
#!/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 tteck
 | 
					# Copyright (c) 2021-2025 tteck
 | 
				
			||||||
# Author: tteck
 | 
					# Author: tteck | Co-Author: MountyMapleSyrup (MountyMapleSyrup)
 | 
				
			||||||
# Co-Author: MountyMapleSyrup (MountyMapleSyrup)
 | 
					# License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE
 | 
				
			||||||
# License: MIT
 | 
					# Source: https://gitlab.com/LazyLibrarian/LazyLibrarian
 | 
				
			||||||
# https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE
 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
function header_info {
 | 
					# App Default Values
 | 
				
			||||||
clear
 | 
					 | 
				
			||||||
cat <<"EOF"
 | 
					 | 
				
			||||||
    __                      __    _ __                    _           
 | 
					 | 
				
			||||||
   / /   ____ _____  __  __/ /   (_) /_  _________ ______(_)___ _____ 
 | 
					 | 
				
			||||||
  / /   / __ `/_  / / / / / /   / / __ \/ ___/ __ `/ ___/ / __ `/ __ \
 | 
					 | 
				
			||||||
 / /___/ /_/ / / /_/ /_/ / /___/ / /_/ / /  / /_/ / /  / / /_/ / / / /
 | 
					 | 
				
			||||||
/_____/\__,_/ /___/\__, /_____/_/_.___/_/   \__,_/_/  /_/\__,_/_/ /_/ 
 | 
					 | 
				
			||||||
                  /____/                                                                                   
 | 
					 | 
				
			||||||
EOF
 | 
					 | 
				
			||||||
}
 | 
					 | 
				
			||||||
header_info
 | 
					 | 
				
			||||||
echo -e "Loading..."
 | 
					 | 
				
			||||||
APP="LazyLibrarian"
 | 
					APP="LazyLibrarian"
 | 
				
			||||||
var_disk="4"
 | 
					var_tags="eBook"
 | 
				
			||||||
var_cpu="2"
 | 
					var_cpu="2"
 | 
				
			||||||
var_ram="1024"
 | 
					var_ram="1024"
 | 
				
			||||||
 | 
					var_disk="4"
 | 
				
			||||||
var_os="debian"
 | 
					var_os="debian"
 | 
				
			||||||
var_version="12"
 | 
					var_version="12"
 | 
				
			||||||
 | 
					var_unprivileged="1"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# App Output & Base Settings
 | 
				
			||||||
 | 
					header_info "$APP"
 | 
				
			||||||
 | 
					base_settings
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# Core
 | 
				
			||||||
variables
 | 
					variables
 | 
				
			||||||
color
 | 
					color
 | 
				
			||||||
catch_errors
 | 
					catch_errors
 | 
				
			||||||
 | 
					
 | 
				
			||||||
function default_settings() {
 | 
					 | 
				
			||||||
  CT_TYPE="1"
 | 
					 | 
				
			||||||
  PW=""
 | 
					 | 
				
			||||||
  CT_ID=$NEXTID
 | 
					 | 
				
			||||||
  HN=$NSAPP
 | 
					 | 
				
			||||||
  DISK_SIZE="$var_disk"
 | 
					 | 
				
			||||||
  CORE_COUNT="$var_cpu"
 | 
					 | 
				
			||||||
  RAM_SIZE="$var_ram"
 | 
					 | 
				
			||||||
  BRG="vmbr0"
 | 
					 | 
				
			||||||
  NET="dhcp"
 | 
					 | 
				
			||||||
  GATE=""
 | 
					 | 
				
			||||||
  APT_CACHER=""
 | 
					 | 
				
			||||||
  APT_CACHER_IP=""
 | 
					 | 
				
			||||||
  DISABLEIP6="no"
 | 
					 | 
				
			||||||
  MTU=""
 | 
					 | 
				
			||||||
  SD=""
 | 
					 | 
				
			||||||
  NS=""
 | 
					 | 
				
			||||||
  MAC=""
 | 
					 | 
				
			||||||
  VLAN=""
 | 
					 | 
				
			||||||
  SSH="no"
 | 
					 | 
				
			||||||
  VERB="no"
 | 
					 | 
				
			||||||
  echo_default
 | 
					 | 
				
			||||||
}
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
function update_script() {
 | 
					function update_script() {
 | 
				
			||||||
header_info
 | 
					    header_info
 | 
				
			||||||
check_container_storage
 | 
					    check_container_storage
 | 
				
			||||||
check_container_resources
 | 
					    check_container_resources
 | 
				
			||||||
if [[ ! -d /opt/LazyLibrarian/ ]]; then msg_error "No ${APP} Installation Found!"; exit; fi
 | 
					    if [[ ! -d /opt/LazyLibrarian/ ]]; then
 | 
				
			||||||
msg_info "Stopping LazyLibrarian"
 | 
					        msg_error "No ${APP} Installation Found!"
 | 
				
			||||||
systemctl stop lazylibrarian
 | 
					        exit
 | 
				
			||||||
msg_ok "LazyLibrarian Stopped"
 | 
					    fi
 | 
				
			||||||
 | 
					    msg_info "Stopping LazyLibrarian"
 | 
				
			||||||
 | 
					    systemctl stop lazylibrarian
 | 
				
			||||||
 | 
					    msg_ok "LazyLibrarian Stopped"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
msg_info "Updating $APP LXC"
 | 
					    msg_info "Updating $APP LXC"
 | 
				
			||||||
git -C /opt/LazyLibrarian pull origin master &>/dev/null
 | 
					    git -C /opt/LazyLibrarian pull origin master &>/dev/null
 | 
				
			||||||
msg_ok "Updated $APP LXC"
 | 
					    msg_ok "Updated $APP LXC"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
msg_info "Starting LazyLibrarian"
 | 
					    msg_info "Starting LazyLibrarian"
 | 
				
			||||||
systemctl start lazylibrarian
 | 
					    systemctl start lazylibrarian
 | 
				
			||||||
msg_ok "Started LazyLibrarian"
 | 
					    msg_ok "Started LazyLibrarian"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
msg_ok "Updated Successfully"
 | 
					    msg_ok "Updated Successfully"
 | 
				
			||||||
exit
 | 
					    exit
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
start
 | 
					start
 | 
				
			||||||
@@ -79,5 +53,6 @@ build_container
 | 
				
			|||||||
description
 | 
					description
 | 
				
			||||||
 | 
					
 | 
				
			||||||
msg_ok "Completed Successfully!\n"
 | 
					msg_ok "Completed Successfully!\n"
 | 
				
			||||||
echo -e "${APP} should be reachable by going to the following URL.
 | 
					echo -e "${CREATING}${GN}${APP} setup has been successfully initialized!${CL}"
 | 
				
			||||||
         ${BL}http://${IP}:5299${CL} \n"
 | 
					echo -e "${INFO}${YW} Access it using the following URL:${CL}"
 | 
				
			||||||
 | 
					echo -e "${TAB}${GATEWAY}${BGN}http://${IP}:5299${CL}"
 | 
				
			||||||
							
								
								
									
										80
									
								
								ct/lidarr.sh
									
									
									
									
									
								
							
							
						
						
									
										80
									
								
								ct/lidarr.sh
									
									
									
									
									
								
							@@ -1,67 +1,42 @@
 | 
				
			|||||||
#!/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 tteck
 | 
					# Copyright (c) 2021-2025 tteck
 | 
				
			||||||
# Author: tteck (tteckster)
 | 
					# Author: tteck (tteckster)
 | 
				
			||||||
# License: MIT
 | 
					# License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE
 | 
				
			||||||
# https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE
 | 
					# Source: https://lidarr.audio/
 | 
				
			||||||
 | 
					
 | 
				
			||||||
function header_info {
 | 
					# App Default Values
 | 
				
			||||||
clear
 | 
					 | 
				
			||||||
cat <<"EOF"
 | 
					 | 
				
			||||||
    __    _     __               
 | 
					 | 
				
			||||||
   / /   (_)___/ /___  __________
 | 
					 | 
				
			||||||
  / /   / / __  / __ `/ ___/ ___/
 | 
					 | 
				
			||||||
 / /___/ / /_/ / /_/ / /  / /    
 | 
					 | 
				
			||||||
/_____/_/\__,_/\__,_/_/  /_/     
 | 
					 | 
				
			||||||
                                 
 | 
					 | 
				
			||||||
EOF
 | 
					 | 
				
			||||||
}
 | 
					 | 
				
			||||||
header_info
 | 
					 | 
				
			||||||
echo -e "Loading..."
 | 
					 | 
				
			||||||
APP="Lidarr"
 | 
					APP="Lidarr"
 | 
				
			||||||
var_disk="4"
 | 
					var_tags="arr;torrent;usenet"
 | 
				
			||||||
var_cpu="2"
 | 
					var_cpu="2"
 | 
				
			||||||
var_ram="1024"
 | 
					var_ram="1024"
 | 
				
			||||||
 | 
					var_disk="4"
 | 
				
			||||||
var_os="debian"
 | 
					var_os="debian"
 | 
				
			||||||
var_version="12"
 | 
					var_version="12"
 | 
				
			||||||
 | 
					var_unprivileged="1"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# App Output & Base Settings
 | 
				
			||||||
 | 
					header_info "$APP"
 | 
				
			||||||
 | 
					base_settings
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# Core
 | 
				
			||||||
variables
 | 
					variables
 | 
				
			||||||
color
 | 
					color
 | 
				
			||||||
catch_errors
 | 
					catch_errors
 | 
				
			||||||
 | 
					
 | 
				
			||||||
function default_settings() {
 | 
					 | 
				
			||||||
  CT_TYPE="1"
 | 
					 | 
				
			||||||
  PW=""
 | 
					 | 
				
			||||||
  CT_ID=$NEXTID
 | 
					 | 
				
			||||||
  HN=$NSAPP
 | 
					 | 
				
			||||||
  DISK_SIZE="$var_disk"
 | 
					 | 
				
			||||||
  CORE_COUNT="$var_cpu"
 | 
					 | 
				
			||||||
  RAM_SIZE="$var_ram"
 | 
					 | 
				
			||||||
  BRG="vmbr0"
 | 
					 | 
				
			||||||
  NET="dhcp"
 | 
					 | 
				
			||||||
  GATE=""
 | 
					 | 
				
			||||||
  APT_CACHER=""
 | 
					 | 
				
			||||||
  APT_CACHER_IP=""
 | 
					 | 
				
			||||||
  DISABLEIP6="no"
 | 
					 | 
				
			||||||
  MTU=""
 | 
					 | 
				
			||||||
  SD=""
 | 
					 | 
				
			||||||
  NS=""
 | 
					 | 
				
			||||||
  MAC=""
 | 
					 | 
				
			||||||
  VLAN=""
 | 
					 | 
				
			||||||
  SSH="no"
 | 
					 | 
				
			||||||
  VERB="no"
 | 
					 | 
				
			||||||
  echo_default
 | 
					 | 
				
			||||||
}
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
function update_script() {
 | 
					function update_script() {
 | 
				
			||||||
header_info
 | 
					    header_info
 | 
				
			||||||
check_container_storage
 | 
					    check_container_storage
 | 
				
			||||||
check_container_resources
 | 
					    check_container_resources
 | 
				
			||||||
if [[ ! -d /var/lib/lidarr/ ]]; then msg_error "No ${APP} Installation Found!"; exit; fi
 | 
					    if [[ ! -d /var/lib/lidarr/ ]]; then
 | 
				
			||||||
msg_info "Updating $APP LXC"
 | 
					        msg_error "No ${APP} Installation Found!"
 | 
				
			||||||
apt-get update &>/dev/null
 | 
					        exit
 | 
				
			||||||
apt-get -y upgrade &>/dev/null
 | 
					    fi
 | 
				
			||||||
msg_ok "Updated $APP LXC"
 | 
					    msg_info "Updating $APP LXC"
 | 
				
			||||||
exit
 | 
					    apt-get update &>/dev/null
 | 
				
			||||||
 | 
					    apt-get -y upgrade &>/dev/null
 | 
				
			||||||
 | 
					    msg_ok "Updated $APP LXC"
 | 
				
			||||||
 | 
					    exit
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
start
 | 
					start
 | 
				
			||||||
@@ -69,5 +44,6 @@ build_container
 | 
				
			|||||||
description
 | 
					description
 | 
				
			||||||
 | 
					
 | 
				
			||||||
msg_ok "Completed Successfully!\n"
 | 
					msg_ok "Completed Successfully!\n"
 | 
				
			||||||
echo -e "${APP} should be reachable by going to the following URL.
 | 
					echo -e "${CREATING}${GN}${APP} setup has been successfully initialized!${CL}"
 | 
				
			||||||
         ${BL}http://${IP}:8686${CL} \n"
 | 
					echo -e "${INFO}${YW} Access it using the following URL:${CL}"
 | 
				
			||||||
 | 
					echo -e "${TAB}${GATEWAY}${BGN}http://${IP}:8686${CL}"
 | 
				
			||||||
							
								
								
									
										135
									
								
								ct/linkwarden.sh
									
									
									
									
									
								
							
							
						
						
									
										135
									
								
								ct/linkwarden.sh
									
									
									
									
									
								
							@@ -1,97 +1,71 @@
 | 
				
			|||||||
#!/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 tteck
 | 
					# Copyright (c) 2021-2025 tteck
 | 
				
			||||||
# Author: tteck (tteckster)
 | 
					# Author: tteck (tteckster)
 | 
				
			||||||
# License: MIT
 | 
					# License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE
 | 
				
			||||||
# https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE
 | 
					# Source: https://linkwarden.app/
 | 
				
			||||||
 | 
					
 | 
				
			||||||
function header_info {
 | 
					# App Default Values
 | 
				
			||||||
clear
 | 
					 | 
				
			||||||
cat <<"EOF"
 | 
					 | 
				
			||||||
    __    _       __                           __
 | 
					 | 
				
			||||||
   / /   (_)___  / /___      ______ __________/ /__  ____
 | 
					 | 
				
			||||||
  / /   / / __ \/ //_/ | /| / / __ `/ ___/ __  / _ \/ __ \
 | 
					 | 
				
			||||||
 / /___/ / / / / ,<  | |/ |/ / /_/ / /  / /_/ /  __/ / / /
 | 
					 | 
				
			||||||
/_____/_/_/ /_/_/|_| |__/|__/\__,_/_/   \__,_/\___/_/ /_/
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
EOF
 | 
					 | 
				
			||||||
}
 | 
					 | 
				
			||||||
header_info
 | 
					 | 
				
			||||||
echo -e "Loading..."
 | 
					 | 
				
			||||||
APP="Linkwarden"
 | 
					APP="Linkwarden"
 | 
				
			||||||
var_disk="12"
 | 
					var_tags="bookmark"
 | 
				
			||||||
var_cpu="2"
 | 
					var_cpu="2"
 | 
				
			||||||
var_ram="2048"
 | 
					var_ram="2048"
 | 
				
			||||||
 | 
					var_disk="12"
 | 
				
			||||||
var_os="ubuntu"
 | 
					var_os="ubuntu"
 | 
				
			||||||
var_version="22.04"
 | 
					var_version="22.04"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# App Output & Base Settings
 | 
				
			||||||
 | 
					header_info "$APP"
 | 
				
			||||||
 | 
					base_settings
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# Core
 | 
				
			||||||
variables
 | 
					variables
 | 
				
			||||||
color
 | 
					color
 | 
				
			||||||
catch_errors
 | 
					catch_errors
 | 
				
			||||||
 | 
					
 | 
				
			||||||
function default_settings() {
 | 
					 | 
				
			||||||
  CT_TYPE="1"
 | 
					 | 
				
			||||||
  PW=""
 | 
					 | 
				
			||||||
  CT_ID=$NEXTID
 | 
					 | 
				
			||||||
  HN=$NSAPP
 | 
					 | 
				
			||||||
  DISK_SIZE="$var_disk"
 | 
					 | 
				
			||||||
  CORE_COUNT="$var_cpu"
 | 
					 | 
				
			||||||
  RAM_SIZE="$var_ram"
 | 
					 | 
				
			||||||
  BRG="vmbr0"
 | 
					 | 
				
			||||||
  NET="dhcp"
 | 
					 | 
				
			||||||
  GATE=""
 | 
					 | 
				
			||||||
  APT_CACHER=""
 | 
					 | 
				
			||||||
  APT_CACHER_IP=""
 | 
					 | 
				
			||||||
  DISABLEIP6="no"
 | 
					 | 
				
			||||||
  MTU=""
 | 
					 | 
				
			||||||
  SD=""
 | 
					 | 
				
			||||||
  NS=""
 | 
					 | 
				
			||||||
  MAC=""
 | 
					 | 
				
			||||||
  VLAN=""
 | 
					 | 
				
			||||||
  SSH="no"
 | 
					 | 
				
			||||||
  VERB="no"
 | 
					 | 
				
			||||||
  echo_default
 | 
					 | 
				
			||||||
}
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
function update_script() {
 | 
					function update_script() {
 | 
				
			||||||
header_info
 | 
					  header_info
 | 
				
			||||||
check_container_storage
 | 
					  check_container_storage
 | 
				
			||||||
check_container_resources
 | 
					  check_container_resources
 | 
				
			||||||
if [[ ! -d /opt/linkwarden ]]; then msg_error "No ${APP} Installation Found!"; exit; fi
 | 
					  if [[ ! -d /opt/linkwarden ]]; then
 | 
				
			||||||
RELEASE=$(curl -s https://api.github.com/repos/linkwarden/linkwarden/releases/latest | grep "tag_name" | awk '{print substr($2, 2, length($2)-3) }')
 | 
					    msg_error "No ${APP} Installation Found!"
 | 
				
			||||||
if [[ "${RELEASE}" != "$(cat /opt/${APP}_version.txt)" ]] || [[ ! -f /opt/${APP}_version.txt ]]; then
 | 
					    exit
 | 
				
			||||||
  msg_info "Stopping ${APP}"
 | 
					  fi
 | 
				
			||||||
  systemctl stop linkwarden
 | 
					 | 
				
			||||||
  msg_ok "Stopped ${APP}"
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
  msg_info "Updating ${APP} to ${RELEASE}"
 | 
					 | 
				
			||||||
  cd /opt
 | 
					 | 
				
			||||||
  mv /opt/linkwarden/.env /opt/.env
 | 
					 | 
				
			||||||
  RELEASE=$(curl -s https://api.github.com/repos/linkwarden/linkwarden/releases/latest | grep "tag_name" | awk '{print substr($2, 2, length($2)-3) }')
 | 
					  RELEASE=$(curl -s https://api.github.com/repos/linkwarden/linkwarden/releases/latest | grep "tag_name" | awk '{print substr($2, 2, length($2)-3) }')
 | 
				
			||||||
  wget -q "https://github.com/linkwarden/linkwarden/archive/refs/tags/${RELEASE}.zip"
 | 
					  if [[ "${RELEASE}" != "$(cat /opt/${APP}_version.txt)" ]] || [[ ! -f /opt/${APP}_version.txt ]]; then
 | 
				
			||||||
  unzip -q ${RELEASE}.zip
 | 
					    msg_info "Stopping ${APP}"
 | 
				
			||||||
  mv linkwarden-${RELEASE:1} /opt/linkwarden
 | 
					    systemctl stop linkwarden
 | 
				
			||||||
  cd /opt/linkwarden
 | 
					    msg_ok "Stopped ${APP}"
 | 
				
			||||||
  yarn &>/dev/null
 | 
					 | 
				
			||||||
  npx playwright install-deps &>/dev/null
 | 
					 | 
				
			||||||
  yarn playwright install &>/dev/null
 | 
					 | 
				
			||||||
  cp /opt/.env /opt/linkwarden/.env
 | 
					 | 
				
			||||||
  yarn build &>/dev/null
 | 
					 | 
				
			||||||
  yarn prisma migrate deploy &>/dev/null
 | 
					 | 
				
			||||||
  echo "${RELEASE}" >/opt/${APP}_version.txt
 | 
					 | 
				
			||||||
  msg_ok "Updated ${APP} to ${RELEASE}"
 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
  msg_info "Starting ${APP}"
 | 
					    msg_info "Updating ${APP} to ${RELEASE}"
 | 
				
			||||||
  systemctl start linkwarden
 | 
					    cd /opt
 | 
				
			||||||
  msg_ok "Started ${APP}"
 | 
					    mv /opt/linkwarden/.env /opt/.env
 | 
				
			||||||
  msg_info "Cleaning up"
 | 
					    RELEASE=$(curl -s https://api.github.com/repos/linkwarden/linkwarden/releases/latest | grep "tag_name" | awk '{print substr($2, 2, length($2)-3) }')
 | 
				
			||||||
  rm -rf /opt/${RELEASE}.zip
 | 
					    wget -q "https://github.com/linkwarden/linkwarden/archive/refs/tags/${RELEASE}.zip"
 | 
				
			||||||
  rm -rf /opt/linkwarden_bak
 | 
					    unzip -q ${RELEASE}.zip
 | 
				
			||||||
  msg_ok "Cleaned"
 | 
					    mv linkwarden-${RELEASE:1} /opt/linkwarden
 | 
				
			||||||
  msg_ok "Updated Successfully"
 | 
					    cd /opt/linkwarden
 | 
				
			||||||
else
 | 
					    yarn &>/dev/null
 | 
				
			||||||
  msg_ok "No update required.  ${APP} is already at ${RELEASE}."
 | 
					    npx playwright install-deps &>/dev/null
 | 
				
			||||||
fi
 | 
					    yarn playwright install &>/dev/null
 | 
				
			||||||
exit
 | 
					    cp /opt/.env /opt/linkwarden/.env
 | 
				
			||||||
 | 
					    yarn build &>/dev/null
 | 
				
			||||||
 | 
					    yarn prisma migrate deploy &>/dev/null
 | 
				
			||||||
 | 
					    echo "${RELEASE}" >/opt/${APP}_version.txt
 | 
				
			||||||
 | 
					    msg_ok "Updated ${APP} to ${RELEASE}"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    msg_info "Starting ${APP}"
 | 
				
			||||||
 | 
					    systemctl start linkwarden
 | 
				
			||||||
 | 
					    msg_ok "Started ${APP}"
 | 
				
			||||||
 | 
					    msg_info "Cleaning up"
 | 
				
			||||||
 | 
					    rm -rf /opt/${RELEASE}.zip
 | 
				
			||||||
 | 
					    rm -rf /opt/linkwarden_bak
 | 
				
			||||||
 | 
					    msg_ok "Cleaned"
 | 
				
			||||||
 | 
					    msg_ok "Updated Successfully"
 | 
				
			||||||
 | 
					  else
 | 
				
			||||||
 | 
					    msg_ok "No update required.  ${APP} is already at ${RELEASE}."
 | 
				
			||||||
 | 
					  fi
 | 
				
			||||||
 | 
					  exit
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
start
 | 
					start
 | 
				
			||||||
@@ -99,5 +73,6 @@ build_container
 | 
				
			|||||||
description
 | 
					description
 | 
				
			||||||
 | 
					
 | 
				
			||||||
msg_ok "Completed Successfully!\n"
 | 
					msg_ok "Completed Successfully!\n"
 | 
				
			||||||
echo -e "${APP}${CL} should be reachable by going to the following URL.
 | 
					echo -e "${CREATING}${GN}${APP} setup has been successfully initialized!${CL}"
 | 
				
			||||||
         ${BL}http://${IP}:3000${CL} \n"
 | 
					echo -e "${INFO}${YW} Access it using the following URL:${CL}"
 | 
				
			||||||
 | 
					echo -e "${TAB}${GATEWAY}${BGN}http://${IP}:3000${CL}"
 | 
				
			||||||
							
								
								
									
										126
									
								
								ct/listmonk.sh
									
									
									
									
									
								
							
							
						
						
									
										126
									
								
								ct/listmonk.sh
									
									
									
									
									
								
							@@ -1,95 +1,70 @@
 | 
				
			|||||||
#!/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: bvdberg01
 | 
					# Author: bvdberg01
 | 
				
			||||||
# License: MIT
 | 
					# License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE
 | 
				
			||||||
# https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE
 | 
					# Source: https://listmonk.app/
 | 
				
			||||||
 | 
					
 | 
				
			||||||
function header_info {
 | 
					# App Default Values
 | 
				
			||||||
clear
 | 
					 | 
				
			||||||
cat <<"EOF"
 | 
					 | 
				
			||||||
    ___      __                        __  
 | 
					 | 
				
			||||||
   / (_)____/ /_____ ___  ____  ____  / /__
 | 
					 | 
				
			||||||
  / / / ___/ __/ __ `__ \/ __ \/ __ \/ //_/
 | 
					 | 
				
			||||||
 / / (__  ) /_/ / / / / / /_/ / / / / ,<   
 | 
					 | 
				
			||||||
/_/_/____/\__/_/ /_/ /_/\____/_/ /_/_/|_|  
 | 
					 | 
				
			||||||
                                           
 | 
					 | 
				
			||||||
EOF
 | 
					 | 
				
			||||||
}
 | 
					 | 
				
			||||||
header_info
 | 
					 | 
				
			||||||
echo -e "Loading..."
 | 
					 | 
				
			||||||
APP="listmonk"
 | 
					APP="listmonk"
 | 
				
			||||||
var_disk="4"
 | 
					var_tags="newsletter"
 | 
				
			||||||
var_cpu="1"
 | 
					var_cpu="1"
 | 
				
			||||||
var_ram="512"
 | 
					var_ram="512"
 | 
				
			||||||
 | 
					var_disk="4"
 | 
				
			||||||
var_os="debian"
 | 
					var_os="debian"
 | 
				
			||||||
var_version="12"
 | 
					var_version="12"
 | 
				
			||||||
 | 
					var_unprivileged="1"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# App Output & Base Settings
 | 
				
			||||||
 | 
					header_info "$APP"
 | 
				
			||||||
 | 
					base_settings
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# Core
 | 
				
			||||||
variables
 | 
					variables
 | 
				
			||||||
color
 | 
					color
 | 
				
			||||||
catch_errors
 | 
					catch_errors
 | 
				
			||||||
 | 
					
 | 
				
			||||||
function default_settings() {
 | 
					 | 
				
			||||||
  CT_TYPE="1"
 | 
					 | 
				
			||||||
  PW=""
 | 
					 | 
				
			||||||
  CT_ID=$NEXTID
 | 
					 | 
				
			||||||
  HN=$NSAPP
 | 
					 | 
				
			||||||
  DISK_SIZE="$var_disk"
 | 
					 | 
				
			||||||
  CORE_COUNT="$var_cpu"
 | 
					 | 
				
			||||||
  RAM_SIZE="$var_ram"
 | 
					 | 
				
			||||||
  BRG="vmbr0"
 | 
					 | 
				
			||||||
  NET="dhcp"
 | 
					 | 
				
			||||||
  GATE=""
 | 
					 | 
				
			||||||
  APT_CACHER=""
 | 
					 | 
				
			||||||
  APT_CACHER_IP=""
 | 
					 | 
				
			||||||
  DISABLEIP6="no"
 | 
					 | 
				
			||||||
  MTU=""
 | 
					 | 
				
			||||||
  SD=""
 | 
					 | 
				
			||||||
  NS=""
 | 
					 | 
				
			||||||
  MAC=""
 | 
					 | 
				
			||||||
  VLAN=""
 | 
					 | 
				
			||||||
  SSH="no"
 | 
					 | 
				
			||||||
  VERB="no"
 | 
					 | 
				
			||||||
  echo_default
 | 
					 | 
				
			||||||
}
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
function update_script() {
 | 
					function update_script() {
 | 
				
			||||||
header_info
 | 
					  header_info
 | 
				
			||||||
check_container_storage
 | 
					  check_container_storage
 | 
				
			||||||
check_container_resources
 | 
					  check_container_resources
 | 
				
			||||||
if [[ ! -f /etc/systemd/system/listmonk.service ]]; then msg_error "No ${APP} Installation Found!"; exit; fi
 | 
					  if [[ ! -f /etc/systemd/system/listmonk.service ]]; then
 | 
				
			||||||
 | 
					    msg_error "No ${APP} Installation Found!"
 | 
				
			||||||
 | 
					    exit
 | 
				
			||||||
 | 
					  fi
 | 
				
			||||||
 | 
					
 | 
				
			||||||
RELEASE=$(curl -s https://api.github.com/repos/knadh/listmonk/releases/latest | grep "tag_name" | awk '{print substr($2, 3, length($2)-4) }')
 | 
					  RELEASE=$(curl -s https://api.github.com/repos/knadh/listmonk/releases/latest | grep "tag_name" | awk '{print substr($2, 3, length($2)-4) }')
 | 
				
			||||||
if [[ ! -f /opt/${APP}_version.txt ]] || [[ "${RELEASE}" != "$(cat /opt/${APP}_version.txt)" ]]; then
 | 
					  if [[ ! -f /opt/${APP}_version.txt ]] || [[ "${RELEASE}" != "$(cat /opt/${APP}_version.txt)" ]]; then
 | 
				
			||||||
  msg_info "Stopping ${APP}"
 | 
					    msg_info "Stopping ${APP}"
 | 
				
			||||||
  systemctl stop listmonk
 | 
					    systemctl stop listmonk
 | 
				
			||||||
  msg_ok "Stopped ${APP}"
 | 
					    msg_ok "Stopped ${APP}"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  msg_info "Updating ${APP} to v${RELEASE}"
 | 
					    msg_info "Updating ${APP} to v${RELEASE}"
 | 
				
			||||||
  cd /opt
 | 
					    cd /opt
 | 
				
			||||||
  mv /opt/listmonk/ /opt/listmonk-backup
 | 
					    mv /opt/listmonk/ /opt/listmonk-backup
 | 
				
			||||||
  mkdir /opt/listmonk/
 | 
					    mkdir /opt/listmonk/
 | 
				
			||||||
  wget -q "https://github.com/knadh/listmonk/releases/download/v${RELEASE}/listmonk_${RELEASE}_linux_amd64.tar.gz"
 | 
					    wget -q "https://github.com/knadh/listmonk/releases/download/v${RELEASE}/listmonk_${RELEASE}_linux_amd64.tar.gz"
 | 
				
			||||||
  tar -xzf "listmonk_${RELEASE}_linux_amd64.tar.gz" -C /opt/listmonk
 | 
					    tar -xzf "listmonk_${RELEASE}_linux_amd64.tar.gz" -C /opt/listmonk
 | 
				
			||||||
  mv /opt/listmonk-backup/config.toml /opt/listmonk/config.toml
 | 
					    mv /opt/listmonk-backup/config.toml /opt/listmonk/config.toml
 | 
				
			||||||
  mv /opt/listmonk-backup/uploads /opt/listmonk/uploads
 | 
					    mv /opt/listmonk-backup/uploads /opt/listmonk/uploads
 | 
				
			||||||
  /opt/listmonk/listmonk --upgrade --yes --config /opt/listmonk/config.toml &>/dev/null
 | 
					    /opt/listmonk/listmonk --upgrade --yes --config /opt/listmonk/config.toml &>/dev/null
 | 
				
			||||||
  echo "${RELEASE}" >/opt/${APP}_version.txt
 | 
					    echo "${RELEASE}" >/opt/${APP}_version.txt
 | 
				
			||||||
  msg_ok "Updated $APP to v${RELEASE}"
 | 
					    msg_ok "Updated $APP to v${RELEASE}"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  msg_info "Starting ${APP}"
 | 
					    msg_info "Starting ${APP}"
 | 
				
			||||||
  systemctl start listmonk
 | 
					    systemctl start listmonk
 | 
				
			||||||
  msg_ok "Started ${APP}"
 | 
					    msg_ok "Started ${APP}"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  msg_info "Cleaning up"
 | 
					    msg_info "Cleaning up"
 | 
				
			||||||
  rm -rf "/opt/listmonk_${RELEASE}_linux_amd64.tar.gz"
 | 
					    rm -rf "/opt/listmonk_${RELEASE}_linux_amd64.tar.gz"
 | 
				
			||||||
  rm -rf /opt/listmonk-backup/
 | 
					    rm -rf /opt/listmonk-backup/
 | 
				
			||||||
  msg_ok "Cleaned"
 | 
					    msg_ok "Cleaned"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  msg_ok "Updated Successfully"
 | 
					    msg_ok "Updated Successfully"
 | 
				
			||||||
else
 | 
					  else
 | 
				
			||||||
  msg_ok "No update required. ${APP} is already at v${RELEASE}"
 | 
					    msg_ok "No update required. ${APP} is already at v${RELEASE}"
 | 
				
			||||||
fi
 | 
					  fi
 | 
				
			||||||
exit
 | 
					  exit
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
start
 | 
					start
 | 
				
			||||||
@@ -97,5 +72,6 @@ build_container
 | 
				
			|||||||
description
 | 
					description
 | 
				
			||||||
 | 
					
 | 
				
			||||||
msg_ok "Completed Successfully!\n"
 | 
					msg_ok "Completed Successfully!\n"
 | 
				
			||||||
echo -e "${APP} should be reachable by going to the following URL.
 | 
					echo -e "${CREATING}${GN}${APP} setup has been successfully initialized!${CL}"
 | 
				
			||||||
         ${BL}http://${IP}:9000${CL} \n"
 | 
					echo -e "${INFO}${YW} Access it using the following URL:${CL}"
 | 
				
			||||||
 | 
					echo -e "${TAB}${GATEWAY}${BGN}http://${IP}:9000${CL}"
 | 
				
			||||||
							
								
								
									
										84
									
								
								ct/lldap.sh
									
									
									
									
									
								
							
							
						
						
									
										84
									
								
								ct/lldap.sh
									
									
									
									
									
								
							@@ -1,69 +1,42 @@
 | 
				
			|||||||
#!/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 tteck
 | 
					# Copyright (c) 2021-2025 tteck
 | 
				
			||||||
# Author: tteck (tteckster)
 | 
					# Author: tteck (tteckster) | Co-Author: remz1337
 | 
				
			||||||
# Co-Author: remz1337
 | 
					# License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE
 | 
				
			||||||
# License: MIT
 | 
					# Source: https://github.com/lldap/lldap
 | 
				
			||||||
# https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE
 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
function header_info {
 | 
					# App Default Values
 | 
				
			||||||
clear
 | 
					 | 
				
			||||||
cat <<"EOF"
 | 
					 | 
				
			||||||
    ____    __          
 | 
					 | 
				
			||||||
   / / /___/ /___ _____ 
 | 
					 | 
				
			||||||
  / / / __  / __ `/ __ \
 | 
					 | 
				
			||||||
 / / / /_/ / /_/ / /_/ /
 | 
					 | 
				
			||||||
/_/_/\__,_/\__,_/ .___/ 
 | 
					 | 
				
			||||||
               /_/      
 | 
					 | 
				
			||||||
 
 | 
					 | 
				
			||||||
EOF
 | 
					 | 
				
			||||||
}
 | 
					 | 
				
			||||||
header_info
 | 
					 | 
				
			||||||
echo -e "Loading..."
 | 
					 | 
				
			||||||
APP="lldap"
 | 
					APP="lldap"
 | 
				
			||||||
var_disk="4"
 | 
					var_tags="ldap"
 | 
				
			||||||
var_cpu="1"
 | 
					var_cpu="1"
 | 
				
			||||||
var_ram="512"
 | 
					var_ram="512"
 | 
				
			||||||
 | 
					var_disk="4"
 | 
				
			||||||
var_os="debian"
 | 
					var_os="debian"
 | 
				
			||||||
var_version="12"
 | 
					var_version="12"
 | 
				
			||||||
 | 
					var_unprivileged="1"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# App Output & Base Settings
 | 
				
			||||||
 | 
					header_info "$APP"
 | 
				
			||||||
 | 
					base_settings
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# Core
 | 
				
			||||||
variables
 | 
					variables
 | 
				
			||||||
color
 | 
					color
 | 
				
			||||||
catch_errors
 | 
					catch_errors
 | 
				
			||||||
 | 
					
 | 
				
			||||||
function default_settings() {
 | 
					 | 
				
			||||||
  CT_TYPE="1"
 | 
					 | 
				
			||||||
  PW=""
 | 
					 | 
				
			||||||
  CT_ID=$NEXTID
 | 
					 | 
				
			||||||
  HN=$NSAPP
 | 
					 | 
				
			||||||
  DISK_SIZE="$var_disk"
 | 
					 | 
				
			||||||
  CORE_COUNT="$var_cpu"
 | 
					 | 
				
			||||||
  RAM_SIZE="$var_ram"
 | 
					 | 
				
			||||||
  BRG="vmbr0"
 | 
					 | 
				
			||||||
  NET="dhcp"
 | 
					 | 
				
			||||||
  GATE=""
 | 
					 | 
				
			||||||
  APT_CACHER=""
 | 
					 | 
				
			||||||
  APT_CACHER_IP=""
 | 
					 | 
				
			||||||
  DISABLEIP6="no"
 | 
					 | 
				
			||||||
  MTU=""
 | 
					 | 
				
			||||||
  SD=""
 | 
					 | 
				
			||||||
  NS=""
 | 
					 | 
				
			||||||
  MAC=""
 | 
					 | 
				
			||||||
  VLAN=""
 | 
					 | 
				
			||||||
  SSH="no"
 | 
					 | 
				
			||||||
  VERB="no"
 | 
					 | 
				
			||||||
  echo_default
 | 
					 | 
				
			||||||
}
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
function update_script() {
 | 
					function update_script() {
 | 
				
			||||||
header_info
 | 
					    header_info
 | 
				
			||||||
check_container_storage
 | 
					    check_container_storage
 | 
				
			||||||
check_container_resources
 | 
					    check_container_resources
 | 
				
			||||||
if [[ ! -f /etc/systemd/system/lldap.service ]]; then msg_error "No ${APP} Installation Found!"; exit; fi
 | 
					    if [[ ! -f /etc/systemd/system/lldap.service ]]; then
 | 
				
			||||||
msg_info "Updating $APP"
 | 
					        msg_error "No ${APP} Installation Found!"
 | 
				
			||||||
apt update
 | 
					        exit
 | 
				
			||||||
apt upgrade -y lldap
 | 
					    fi
 | 
				
			||||||
msg_ok "Updated $APP"
 | 
					    msg_info "Updating $APP"
 | 
				
			||||||
exit
 | 
					    apt update
 | 
				
			||||||
 | 
					    apt upgrade -y lldap
 | 
				
			||||||
 | 
					    msg_ok "Updated $APP"
 | 
				
			||||||
 | 
					    exit
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
start
 | 
					start
 | 
				
			||||||
@@ -71,5 +44,6 @@ build_container
 | 
				
			|||||||
description
 | 
					description
 | 
				
			||||||
 | 
					
 | 
				
			||||||
msg_ok "Completed Successfully!\n"
 | 
					msg_ok "Completed Successfully!\n"
 | 
				
			||||||
echo -e "${APP} should be reachable by going to the following URL.
 | 
					echo -e "${CREATING}${GN}${APP} setup has been successfully initialized!${CL}"
 | 
				
			||||||
         ${BL}http://${IP}:17170${CL} \n"
 | 
					echo -e "${INFO}${YW} Access it using the following URL:${CL}"
 | 
				
			||||||
 | 
					echo -e "${TAB}${GATEWAY}${BGN}http://${IP}:17170${CL}"
 | 
				
			||||||
Some files were not shown because too many files have changed in this diff Show More
		Reference in New Issue
	
	Block a user