mirror of
				https://github.com/community-scripts/ProxmoxVE.git
				synced 2025-11-04 10:22:50 +00:00 
			
		
		
		
	Compare commits
	
		
			115 Commits
		
	
	
		
			2025-09-29
			...
			2025-10-07
		
	
	| Author | SHA1 | Date | |
|---|---|---|---|
| 
						 | 
					a127124080 | ||
| 
						 | 
					cce58c281d | ||
| 
						 | 
					888dbd6061 | ||
| 
						 | 
					bfcda5d07a | ||
| 
						 | 
					2e4ea927ea | ||
| 
						 | 
					78a66c3612 | ||
| 
						 | 
					86e67fc5cf | ||
| 
						 | 
					c75be209e2 | ||
| 
						 | 
					ad1650ddc2 | ||
| 
						 | 
					637e66d79d | ||
| 
						 | 
					a2774ea013 | ||
| 
						 | 
					6027811e4a | ||
| 
						 | 
					2e42b6d752 | ||
| 
						 | 
					71a40f17ea | ||
| 
						 | 
					f2b98890d6 | ||
| 
						 | 
					b9d4fa6bb4 | ||
| 
						 | 
					beeed04666 | ||
| 
						 | 
					f618e207c1 | ||
| 
						 | 
					7670c7402c | ||
| 
						 | 
					ecef9a346e | ||
| 
						 | 
					dcb3bfe763 | ||
| 
						 | 
					1bd231752e | ||
| 
						 | 
					abc95db08a | ||
| 
						 | 
					a475eff11e | ||
| 
						 | 
					7245af7208 | ||
| 
						 | 
					c3a75d8a5d | ||
| 
						 | 
					3b81c36e75 | ||
| 
						 | 
					588cebad26 | ||
| 
						 | 
					830b2d9e37 | ||
| 
						 | 
					2092c5bdce | ||
| 
						 | 
					e87dc5dbbc | ||
| 
						 | 
					479ce977e6 | ||
| 
						 | 
					a2057d4302 | ||
| 
						 | 
					bbe509c334 | ||
| 
						 | 
					563a69e68b | ||
| 
						 | 
					7ab2bcbb40 | ||
| 
						 | 
					57031bdaad | ||
| 
						 | 
					833a369f61 | ||
| 
						 | 
					8f8eb7aba5 | ||
| 
						 | 
					942ff02d37 | ||
| 
						 | 
					3e1753b3c7 | ||
| 
						 | 
					6863c774fa | ||
| 
						 | 
					965b8cb33e | ||
| 
						 | 
					0768456b2c | ||
| 
						 | 
					9f531ef4a7 | ||
| 
						 | 
					6491ec3f09 | ||
| 
						 | 
					9b5fa050c7 | ||
| 
						 | 
					efb8e0f2f3 | ||
| 
						 | 
					07eda340ea | ||
| 
						 | 
					1a37c759c3 | ||
| 
						 | 
					e39dd5ffa3 | ||
| 
						 | 
					aded2cbd56 | ||
| 
						 | 
					2c791b9e41 | ||
| 
						 | 
					d1786241ec | ||
| 
						 | 
					73cf6c66e3 | ||
| 
						 | 
					efc9153926 | ||
| 
						 | 
					1f4b446788 | ||
| 
						 | 
					aeafbb1047 | ||
| 
						 | 
					938609d5eb | ||
| 
						 | 
					ae6ca4de23 | ||
| 
						 | 
					dfdf8c0ddb | ||
| 
						 | 
					4136f5e7e3 | ||
| 
						 | 
					51302d516e | ||
| 
						 | 
					ab995bd493 | ||
| 
						 | 
					ac12051057 | ||
| 
						 | 
					c3cca616a4 | ||
| 
						 | 
					b1bca924b9 | ||
| 
						 | 
					1909e35e62 | ||
| 
						 | 
					237349ef47 | ||
| 
						 | 
					e4cf50dfcd | ||
| 
						 | 
					0c30d8e3e7 | ||
| 
						 | 
					92999b4db3 | ||
| 
						 | 
					4a02986de1 | ||
| 
						 | 
					d06299685f | ||
| 
						 | 
					71f71fbca9 | ||
| 
						 | 
					938fb6dc58 | ||
| 
						 | 
					03d36a6c10 | ||
| 
						 | 
					8e25b70a25 | ||
| 
						 | 
					1840cce15f | ||
| 
						 | 
					1d0ac4ca10 | ||
| 
						 | 
					deb85bd264 | ||
| 
						 | 
					348f8863a8 | ||
| 
						 | 
					74b332b7ec | ||
| 
						 | 
					2fe3ee667b | ||
| 
						 | 
					48e3b66342 | ||
| 
						 | 
					e93dccb0d5 | ||
| 
						 | 
					168e7b7c2b | ||
| 
						 | 
					3f54d0d7f4 | ||
| 
						 | 
					9477677385 | ||
| 
						 | 
					e58d1dc3d2 | ||
| 
						 | 
					2a765f58f0 | ||
| 
						 | 
					8dfb632a4d | ||
| 
						 | 
					42ae2a4cdc | ||
| 
						 | 
					36e41aca22 | ||
| 
						 | 
					6b1141f9de | ||
| 
						 | 
					97f891d53b | ||
| 
						 | 
					0c63e64662 | ||
| 
						 | 
					d83a378af4 | ||
| 
						 | 
					6820bdcade | ||
| 
						 | 
					8ff82d0c3c | ||
| 
						 | 
					9e39c6cd2b | ||
| 
						 | 
					0bea24888e | ||
| 
						 | 
					70d2be62e9 | ||
| 
						 | 
					fe30e06a48 | ||
| 
						 | 
					193a2ea2df | ||
| 
						 | 
					ffbe0feee1 | ||
| 
						 | 
					107865b06d | ||
| 
						 | 
					0d33b38e29 | ||
| 
						 | 
					11ae7450c7 | ||
| 
						 | 
					598bfd291f | ||
| 
						 | 
					1a38df4c12 | ||
| 
						 | 
					cfc85c1b79 | ||
| 
						 | 
					e7d41fecdc | ||
| 
						 | 
					34ef80ac87 | ||
| 
						 | 
					b18d45631f | 
							
								
								
									
										132
									
								
								CHANGELOG.md
									
									
									
									
									
								
							
							
						
						
									
										132
									
								
								CHANGELOG.md
									
									
									
									
									
								
							@@ -10,8 +10,140 @@
 | 
			
		||||
> [!CAUTION]
 | 
			
		||||
Exercise vigilance regarding copycat or coat-tailing sites that seek to exploit the project's popularity for potentially malicious purposes.
 | 
			
		||||
 | 
			
		||||
## 2025-10-08
 | 
			
		||||
 | 
			
		||||
## 2025-10-07
 | 
			
		||||
 | 
			
		||||
### 🚀 Updated Scripts
 | 
			
		||||
 | 
			
		||||
  - #### 🐞 Bug Fixes
 | 
			
		||||
 | 
			
		||||
    - Alpine-Caddy: remove functions [@MickLesk](https://github.com/MickLesk) ([#8177](https://github.com/community-scripts/ProxmoxVE/pull/8177))
 | 
			
		||||
    - Palmr: Fix NodeJS setup [@tremor021](https://github.com/tremor021) ([#8173](https://github.com/community-scripts/ProxmoxVE/pull/8173))
 | 
			
		||||
    - GLPI: Fix UNBOUND variable [@tremor021](https://github.com/tremor021) ([#8167](https://github.com/community-scripts/ProxmoxVE/pull/8167))
 | 
			
		||||
    - BookLore: upgrade to Java 25/Gradle 9 [@vhsdream](https://github.com/vhsdream) ([#8165](https://github.com/community-scripts/ProxmoxVE/pull/8165))
 | 
			
		||||
    - Alpine-Wireguard: Fix for update failing in normal mode [@tremor021](https://github.com/tremor021) ([#8160](https://github.com/community-scripts/ProxmoxVE/pull/8160))
 | 
			
		||||
 | 
			
		||||
  - #### ✨ New Features
 | 
			
		||||
 | 
			
		||||
    - Bump W-V Scripts to Debian 13 [@MickLesk](https://github.com/MickLesk) ([#8176](https://github.com/community-scripts/ProxmoxVE/pull/8176))
 | 
			
		||||
    - Bump Z-Y Scripts to Debian 13 [@MickLesk](https://github.com/MickLesk) ([#8174](https://github.com/community-scripts/ProxmoxVE/pull/8174))
 | 
			
		||||
    - Docmost: Fixes and updates [@tremor021](https://github.com/tremor021) ([#8158](https://github.com/community-scripts/ProxmoxVE/pull/8158))
 | 
			
		||||
 | 
			
		||||
## 2025-10-06
 | 
			
		||||
 | 
			
		||||
### 🚀 Updated Scripts
 | 
			
		||||
 | 
			
		||||
  - #### 🐞 Bug Fixes
 | 
			
		||||
 | 
			
		||||
    - GLPI: Revert fix for v11 [@tremor021](https://github.com/tremor021) ([#8148](https://github.com/community-scripts/ProxmoxVE/pull/8148))
 | 
			
		||||
 | 
			
		||||
  - #### ✨ New Features
 | 
			
		||||
 | 
			
		||||
    - Node-Red: bump to Debian 13 [@MickLesk](https://github.com/MickLesk) ([#8141](https://github.com/community-scripts/ProxmoxVE/pull/8141))
 | 
			
		||||
    - NocoDB: bump to Debian 13 [@MickLesk](https://github.com/MickLesk) ([#8140](https://github.com/community-scripts/ProxmoxVE/pull/8140))
 | 
			
		||||
    - Navidrome: bump to Debian 13 [@MickLesk](https://github.com/MickLesk) ([#8139](https://github.com/community-scripts/ProxmoxVE/pull/8139))
 | 
			
		||||
    - pve-scripts-local: add update function [@MickLesk](https://github.com/MickLesk) ([#8138](https://github.com/community-scripts/ProxmoxVE/pull/8138))
 | 
			
		||||
 | 
			
		||||
### 🌐 Website
 | 
			
		||||
 | 
			
		||||
  - #### 📝 Script Information
 | 
			
		||||
 | 
			
		||||
    - Update config_path for Zigbee2MQTT configuration [@MickLesk](https://github.com/MickLesk) ([#8153](https://github.com/community-scripts/ProxmoxVE/pull/8153))
 | 
			
		||||
 | 
			
		||||
## 2025-10-05
 | 
			
		||||
 | 
			
		||||
### 🚀 Updated Scripts
 | 
			
		||||
 | 
			
		||||
  - #### ✨ New Features
 | 
			
		||||
 | 
			
		||||
    - ActualBudget: bump to debian 13 [@MickLesk](https://github.com/MickLesk) ([#8124](https://github.com/community-scripts/ProxmoxVE/pull/8124))
 | 
			
		||||
    - 2fauth: bump to debian 13 [@MickLesk](https://github.com/MickLesk) ([#8123](https://github.com/community-scripts/ProxmoxVE/pull/8123))
 | 
			
		||||
    - AdventureLog: bump to debian 13 [@MickLesk](https://github.com/MickLesk) ([#8125](https://github.com/community-scripts/ProxmoxVE/pull/8125))
 | 
			
		||||
    - Update cockpit to Debian 13 [@burgerga](https://github.com/burgerga) ([#8119](https://github.com/community-scripts/ProxmoxVE/pull/8119))
 | 
			
		||||
 | 
			
		||||
## 2025-10-04
 | 
			
		||||
 | 
			
		||||
### 🚀 Updated Scripts
 | 
			
		||||
 | 
			
		||||
  - immich: guard /dev/dri permissions so CPU-only installs don’t fail [@mlongwell](https://github.com/mlongwell) ([#8094](https://github.com/community-scripts/ProxmoxVE/pull/8094))
 | 
			
		||||
 | 
			
		||||
  - #### ✨ New Features
 | 
			
		||||
 | 
			
		||||
    - PosgreSQL: Add version choice [@tremor021](https://github.com/tremor021) ([#8103](https://github.com/community-scripts/ProxmoxVE/pull/8103))
 | 
			
		||||
 | 
			
		||||
## 2025-10-03
 | 
			
		||||
 | 
			
		||||
### 🆕 New Scripts
 | 
			
		||||
 | 
			
		||||
  - pve-scripts-local ([#8083](https://github.com/community-scripts/ProxmoxVE/pull/8083))
 | 
			
		||||
 | 
			
		||||
### 🚀 Updated Scripts
 | 
			
		||||
 | 
			
		||||
  - #### 🐞 Bug Fixes
 | 
			
		||||
 | 
			
		||||
    - GLPI: Pin version to v10.0.20 [@tremor021](https://github.com/tremor021) ([#8092](https://github.com/community-scripts/ProxmoxVE/pull/8092))
 | 
			
		||||
    - GLPI: Fix database setup [@tremor021](https://github.com/tremor021) ([#8074](https://github.com/community-scripts/ProxmoxVE/pull/8074))
 | 
			
		||||
    - Overseerr: Increase resources [@tremor021](https://github.com/tremor021) ([#8086](https://github.com/community-scripts/ProxmoxVE/pull/8086))
 | 
			
		||||
    - FIX: post-pve-install.sh just quitting [@michelroegl-brunner](https://github.com/michelroegl-brunner) ([#8070](https://github.com/community-scripts/ProxmoxVE/pull/8070))
 | 
			
		||||
    - fix: ensure /etc/pulse exists before chown in update script [@rcourtman](https://github.com/rcourtman) ([#8068](https://github.com/community-scripts/ProxmoxVE/pull/8068))
 | 
			
		||||
    - grist: remove unneeded var [@MickLesk](https://github.com/MickLesk) ([#8060](https://github.com/community-scripts/ProxmoxVE/pull/8060))
 | 
			
		||||
 | 
			
		||||
  - #### 🔧 Refactor
 | 
			
		||||
 | 
			
		||||
    - Immich: bump version to 2.0.1 [@vhsdream](https://github.com/vhsdream) ([#8090](https://github.com/community-scripts/ProxmoxVE/pull/8090))
 | 
			
		||||
 | 
			
		||||
### 🌐 Website
 | 
			
		||||
 | 
			
		||||
  - #### 🐞 Bug Fixes
 | 
			
		||||
 | 
			
		||||
    - Adjust navbar layout for large screen [@BramSuurdje](https://github.com/BramSuurdje) ([#8087](https://github.com/community-scripts/ProxmoxVE/pull/8087))
 | 
			
		||||
 | 
			
		||||
## 2025-10-02
 | 
			
		||||
 | 
			
		||||
### 🚀 Updated Scripts
 | 
			
		||||
 | 
			
		||||
  - #### 🐞 Bug Fixes
 | 
			
		||||
 | 
			
		||||
    - EMQX: removal logic in emqx update [@MickLesk](https://github.com/MickLesk) ([#8050](https://github.com/community-scripts/ProxmoxVE/pull/8050))
 | 
			
		||||
    - fix FlareSolverr version check to v3.3.25 [@MickLesk](https://github.com/MickLesk) ([#8051](https://github.com/community-scripts/ProxmoxVE/pull/8051))
 | 
			
		||||
 | 
			
		||||
## 2025-10-01
 | 
			
		||||
 | 
			
		||||
### 🆕 New Scripts
 | 
			
		||||
 | 
			
		||||
  - New Script: PhpMyAdmin (Addon) [@MickLesk](https://github.com/MickLesk) ([#8030](https://github.com/community-scripts/ProxmoxVE/pull/8030))
 | 
			
		||||
 | 
			
		||||
### 🚀 Updated Scripts
 | 
			
		||||
 | 
			
		||||
  - #### 🐞 Bug Fixes
 | 
			
		||||
 | 
			
		||||
    - openwrt: Add conditional logic for EFI disk allocation [@MickLesk](https://github.com/MickLesk) ([#8024](https://github.com/community-scripts/ProxmoxVE/pull/8024))
 | 
			
		||||
    - Plant-IT: Pin version to v0.10.0 [@tremor021](https://github.com/tremor021) ([#8023](https://github.com/community-scripts/ProxmoxVE/pull/8023))
 | 
			
		||||
 | 
			
		||||
  - #### ✨ New Features
 | 
			
		||||
 | 
			
		||||
    - Immich: bump version to 2.0.0 stable [@vhsdream](https://github.com/vhsdream) ([#8041](https://github.com/community-scripts/ProxmoxVE/pull/8041))
 | 
			
		||||
 | 
			
		||||
  - #### 🔧 Refactor
 | 
			
		||||
 | 
			
		||||
    - Immich: bump version to 1.144.1 [@vhsdream](https://github.com/vhsdream) ([#7994](https://github.com/community-scripts/ProxmoxVE/pull/7994))
 | 
			
		||||
 | 
			
		||||
## 2025-09-30
 | 
			
		||||
 | 
			
		||||
### 🚀 Updated Scripts
 | 
			
		||||
 | 
			
		||||
  - #### 🐞 Bug Fixes
 | 
			
		||||
 | 
			
		||||
    - caddy: fix typo for setup_go [@MickLesk](https://github.com/MickLesk) ([#8017](https://github.com/community-scripts/ProxmoxVE/pull/8017))
 | 
			
		||||
    - Changedetection: Fix Browserless installation and update process [@h-stoyanov](https://github.com/h-stoyanov) ([#8011](https://github.com/community-scripts/ProxmoxVE/pull/8011))
 | 
			
		||||
    - n8n: Update procedure workaround [@tremor021](https://github.com/tremor021) ([#8004](https://github.com/community-scripts/ProxmoxVE/pull/8004))
 | 
			
		||||
    - Changedetection: Bump nodejs to 24 [@MickLesk](https://github.com/MickLesk) ([#8002](https://github.com/community-scripts/ProxmoxVE/pull/8002))
 | 
			
		||||
 | 
			
		||||
  - #### ✨ New Features
 | 
			
		||||
 | 
			
		||||
    - Bump Guacamole to Debian 13 [@burgerga](https://github.com/burgerga) ([#8010](https://github.com/community-scripts/ProxmoxVE/pull/8010))
 | 
			
		||||
 | 
			
		||||
## 2025-09-29
 | 
			
		||||
 | 
			
		||||
### 🆕 New Scripts
 | 
			
		||||
 
 | 
			
		||||
							
								
								
									
										13
									
								
								ct/2fauth.sh
									
									
									
									
									
								
							
							
						
						
									
										13
									
								
								ct/2fauth.sh
									
									
									
									
									
								
							@@ -11,7 +11,7 @@ var_cpu="${var_cpu:-1}"
 | 
			
		||||
var_ram="${var_ram:-512}"
 | 
			
		||||
var_disk="${var_disk:-2}"
 | 
			
		||||
var_os="${var_os:-debian}"
 | 
			
		||||
var_version="${var_version:-12}"
 | 
			
		||||
var_version="${var_version:-13}"
 | 
			
		||||
var_unprivileged="${var_unprivileged:-1}"
 | 
			
		||||
 | 
			
		||||
header_info "$APP"
 | 
			
		||||
@@ -29,8 +29,8 @@ function update_script() {
 | 
			
		||||
    exit
 | 
			
		||||
  fi
 | 
			
		||||
  if check_for_gh_release "2fauth" "Bubka/2FAuth"; then
 | 
			
		||||
    $STD apt-get update
 | 
			
		||||
    $STD apt-get -y upgrade
 | 
			
		||||
    $STD apt update
 | 
			
		||||
    $STD apt -y upgrade
 | 
			
		||||
 | 
			
		||||
    msg_info "Creating Backup"
 | 
			
		||||
    mv "/opt/2fauth" "/opt/2fauth-backup"
 | 
			
		||||
@@ -60,10 +60,11 @@ function update_script() {
 | 
			
		||||
 | 
			
		||||
    msg_info "Cleaning Up"
 | 
			
		||||
    if dpkg -l | grep -q 'php8.2'; then
 | 
			
		||||
      $STD apt-get remove --purge -y php8.2*
 | 
			
		||||
      $STD apt remove --purge -y php8.2*
 | 
			
		||||
    fi
 | 
			
		||||
    $STD apt-get -y autoremove
 | 
			
		||||
    $STD apt-get -y autoclean
 | 
			
		||||
    $STD apt -y autoremove
 | 
			
		||||
    $STD apt -y autoclean
 | 
			
		||||
    $STD apt -y clean
 | 
			
		||||
    msg_ok "Cleanup Completed"
 | 
			
		||||
    msg_ok "Updated Successfully"
 | 
			
		||||
  fi
 | 
			
		||||
 
 | 
			
		||||
@@ -11,7 +11,7 @@ var_cpu="${var_cpu:-2}"
 | 
			
		||||
var_ram="${var_ram:-2048}"
 | 
			
		||||
var_disk="${var_disk:-4}"
 | 
			
		||||
var_os="${var_os:-debian}"
 | 
			
		||||
var_version="${var_version:-12}"
 | 
			
		||||
var_version="${var_version:-13}"
 | 
			
		||||
var_unprivileged="${var_unprivileged:-1}"
 | 
			
		||||
 | 
			
		||||
header_info "$APP"
 | 
			
		||||
@@ -28,8 +28,7 @@ function update_script() {
 | 
			
		||||
    msg_error "No ${APP} Installation Found!"
 | 
			
		||||
    exit
 | 
			
		||||
  fi
 | 
			
		||||
  NODE_VERSION="22"
 | 
			
		||||
  setup_nodejs
 | 
			
		||||
  NODE_VERSION="22" setup_nodejs
 | 
			
		||||
  RELEASE=$(curl -fsSL https://api.github.com/repos/actualbudget/actual/releases/latest | grep "tag_name" | awk '{print substr($2, 3, length($2)-4) }')
 | 
			
		||||
  if [[ -f /opt/actualbudget-data/config.json ]]; then
 | 
			
		||||
    if [[ ! -f /opt/actualbudget_version.txt ]] || [[ "${RELEASE}" != "$(cat /opt/actualbudget_version.txt)" ]]; then
 | 
			
		||||
 
 | 
			
		||||
@@ -11,7 +11,7 @@ var_disk="${var_disk:-7}"
 | 
			
		||||
var_cpu="${var_cpu:-2}"
 | 
			
		||||
var_ram="${var_ram:-2048}"
 | 
			
		||||
var_os="${var_os:-debian}"
 | 
			
		||||
var_version="${var_version:-12}"
 | 
			
		||||
var_version="${var_version:-13}"
 | 
			
		||||
var_unprivileged="${var_unprivileged:-1}"
 | 
			
		||||
 | 
			
		||||
header_info "$APP"
 | 
			
		||||
@@ -28,8 +28,8 @@ function update_script() {
 | 
			
		||||
    exit
 | 
			
		||||
  fi
 | 
			
		||||
  if ! command -v memcached >/dev/null 2>&1; then
 | 
			
		||||
    $STD apt-get update
 | 
			
		||||
    $STD apt-get install -y memcached libmemcached-tools
 | 
			
		||||
    $STD apt update
 | 
			
		||||
    $STD apt install -y memcached libmemcached-tools
 | 
			
		||||
  fi
 | 
			
		||||
  if check_for_gh_release "adventurelog" "seanmorley15/adventurelog"; then
 | 
			
		||||
    msg_info "Stopping Services"
 | 
			
		||||
@@ -43,12 +43,12 @@ function update_script() {
 | 
			
		||||
    msg_ok "Backup done"
 | 
			
		||||
 | 
			
		||||
    fetch_and_deploy_gh_release "adventurelog" "seanmorley15/adventurelog"
 | 
			
		||||
    PYTHON_VERSION="3.12" setup_uv
 | 
			
		||||
    PYTHON_VERSION="3.13" setup_uv
 | 
			
		||||
 | 
			
		||||
    msg_info "Updating ${APP}"
 | 
			
		||||
    cp /opt/adventurelog-backup/backend/server/.env /opt/adventurelog/backend/server/.env
 | 
			
		||||
    cp -r /opt/adventurelog-backup/backend/server/media /opt/adventurelog/backend/server/media
 | 
			
		||||
    cd /opt/adventurelog/backend/server
 | 
			
		||||
    cd /opt/adventurelog/backend/server || exit
 | 
			
		||||
    if [[ ! -x .venv/bin/python ]]; then
 | 
			
		||||
      $STD uv venv .venv
 | 
			
		||||
      $STD .venv/bin/python -m ensurepip --upgrade
 | 
			
		||||
@@ -59,7 +59,7 @@ function update_script() {
 | 
			
		||||
    $STD .venv/bin/python -m manage migrate
 | 
			
		||||
 | 
			
		||||
    cp /opt/adventurelog-backup/frontend/.env /opt/adventurelog/frontend/.env
 | 
			
		||||
    cd /opt/adventurelog/frontend
 | 
			
		||||
    cd /opt/adventurelog/frontend || exit
 | 
			
		||||
    $STD pnpm i
 | 
			
		||||
    $STD pnpm build
 | 
			
		||||
    msg_ok "Updated ${APP}"
 | 
			
		||||
 
 | 
			
		||||
@@ -21,8 +21,6 @@ catch_errors
 | 
			
		||||
 | 
			
		||||
function update_script() {
 | 
			
		||||
  header_info
 | 
			
		||||
  check_container_storage
 | 
			
		||||
  check_container_resources
 | 
			
		||||
  if [[ ! -d /etc/caddy ]]; then
 | 
			
		||||
    msg_error "No ${APP} Installation Found!"
 | 
			
		||||
    exit
 | 
			
		||||
 
 | 
			
		||||
@@ -32,7 +32,7 @@ function update_script() {
 | 
			
		||||
  if [[ -d /etc/wgdashboard/src ]]; then
 | 
			
		||||
    msg_info "update WGDashboard"
 | 
			
		||||
    cd /etc/wgdashboard/src
 | 
			
		||||
    $STD echo "y" | ./wgd.sh update
 | 
			
		||||
    echo "y" | ./wgd.sh update >/dev/null 2>&1
 | 
			
		||||
    $STD ./wgd.sh start
 | 
			
		||||
    msg_ok "WGDashboard updated"
 | 
			
		||||
  fi
 | 
			
		||||
 
 | 
			
		||||
@@ -11,7 +11,7 @@ var_disk="${var_disk:-4}"
 | 
			
		||||
var_cpu="${var_cpu:-1}"
 | 
			
		||||
var_ram="${var_ram:-2048}"
 | 
			
		||||
var_os="${var_os:-debian}"
 | 
			
		||||
var_version="${var_version:-12}"
 | 
			
		||||
var_version="${var_version:-13}"
 | 
			
		||||
var_unprivileged="${var_unprivileged:-1}"
 | 
			
		||||
 | 
			
		||||
header_info "$APP"
 | 
			
		||||
@@ -38,4 +38,4 @@ description
 | 
			
		||||
msg_ok "Completed Successfully!\n"
 | 
			
		||||
echo -e "${CREATING}${GN}${APP} setup has been successfully initialized!${CL}"
 | 
			
		||||
echo -e "${INFO}${YW} Access it using the following URL:${CL}"
 | 
			
		||||
echo -e "${TAB}${GATEWAY}${BGN}http://${IP}:8080/guacamole${CL}"
 | 
			
		||||
echo -e "${TAB}${GATEWAY}${BGN}http://${IP}:8080/guacamole${CL}"
 | 
			
		||||
 
 | 
			
		||||
@@ -45,6 +45,8 @@ function update_script() {
 | 
			
		||||
    $STD npm run build --configuration=production
 | 
			
		||||
    msg_ok "Built Frontend"
 | 
			
		||||
 | 
			
		||||
    JAVA_VERSION="25" setup_java
 | 
			
		||||
 | 
			
		||||
    msg_info "Building Backend"
 | 
			
		||||
    cd /opt/booklore/booklore-api
 | 
			
		||||
    APP_VERSION=$(curl -fsSL https://api.github.com/repos/booklore-app/BookLore/releases/latest | yq '.tag_name' | sed 's/^v//')
 | 
			
		||||
 
 | 
			
		||||
@@ -33,7 +33,7 @@ function update_script() {
 | 
			
		||||
   msg_ok "Updated $APP LXC"
 | 
			
		||||
 | 
			
		||||
    if command -v xcaddy >/dev/null 2>&1; then
 | 
			
		||||
      install_go
 | 
			
		||||
      setup_go
 | 
			
		||||
      msg_info "Updating xCaddy"
 | 
			
		||||
      cd /opt
 | 
			
		||||
      RELEASE=$(curl -fsSL https://api.github.com/repos/caddyserver/xcaddy/releases/latest | grep "tag_name" | awk -F '"' '{print $4}')
 | 
			
		||||
 
 | 
			
		||||
@@ -36,6 +36,8 @@ function update_script() {
 | 
			
		||||
    msg_ok "Updated Dependencies"
 | 
			
		||||
  fi
 | 
			
		||||
 | 
			
		||||
  NODE_VERSION="24" setup_nodejs
 | 
			
		||||
 | 
			
		||||
  msg_info "Updating ${APP}"
 | 
			
		||||
  $STD pip3 install changedetection.io --upgrade
 | 
			
		||||
  msg_ok "Updated ${APP}"
 | 
			
		||||
@@ -49,6 +51,7 @@ function update_script() {
 | 
			
		||||
    $STD git -C /opt/browserless/ fetch --all
 | 
			
		||||
    $STD git -C /opt/browserless/ reset --hard origin/main
 | 
			
		||||
    $STD npm update --prefix /opt/browserless
 | 
			
		||||
    $STD npm ci --include=optional --include=dev --prefix /opt/browserless
 | 
			
		||||
    $STD /opt/browserless/node_modules/playwright-core/cli.js install --with-deps
 | 
			
		||||
    # Update Chrome separately, as it has to be done with the force option. Otherwise the installation of other browsers will not be done if Chrome is already installed.
 | 
			
		||||
    $STD /opt/browserless/node_modules/playwright-core/cli.js install --force chrome
 | 
			
		||||
 
 | 
			
		||||
@@ -11,7 +11,7 @@ var_cpu="${var_cpu:-2}"
 | 
			
		||||
var_ram="${var_ram:-1024}"
 | 
			
		||||
var_disk="${var_disk:-4}"
 | 
			
		||||
var_os="${var_os:-debian}"
 | 
			
		||||
var_version="${var_version:-12}"
 | 
			
		||||
var_version="${var_version:-13}"
 | 
			
		||||
var_unprivileged="${var_unprivileged:-1}"
 | 
			
		||||
 | 
			
		||||
header_info "$APP"
 | 
			
		||||
@@ -36,15 +36,15 @@ function update_script() {
 | 
			
		||||
 | 
			
		||||
  if [ "$UPD" == "1" ]; then
 | 
			
		||||
    msg_info "Updating ${APP} LXC"
 | 
			
		||||
    $STD apt-get update
 | 
			
		||||
    $STD apt-get -y upgrade
 | 
			
		||||
    $STD apt update
 | 
			
		||||
    $STD apt -y upgrade
 | 
			
		||||
    msg_ok "Updated ${APP} LXC"
 | 
			
		||||
    exit
 | 
			
		||||
  fi
 | 
			
		||||
 | 
			
		||||
  if [ "$UPD" == "2" ]; then
 | 
			
		||||
    msg_info "Installing dependencies (patience)"
 | 
			
		||||
    $STD apt-get install -y \
 | 
			
		||||
    $STD apt install -y \
 | 
			
		||||
      attr \
 | 
			
		||||
      nfs-kernel-server \
 | 
			
		||||
      samba \
 | 
			
		||||
@@ -56,7 +56,7 @@ function update_script() {
 | 
			
		||||
    URL=$(curl -fsSL https://api.github.com/repos/45Drives/cockpit-file-sharing/releases/latest | grep download | grep focal_all.deb | cut -d\" -f4)
 | 
			
		||||
    FILE=$(basename "$URL")
 | 
			
		||||
    curl -fsSL "$URL" -o "$FILE"
 | 
			
		||||
    $STD dpkg -i "$FILE" || $STD apt-get install -f -y
 | 
			
		||||
    $STD dpkg -i "$FILE" || $STD apt install -f -y
 | 
			
		||||
    rm -f "$FILE"
 | 
			
		||||
    msg_ok "Installed Cockpit file sharing"
 | 
			
		||||
    exit
 | 
			
		||||
@@ -64,7 +64,7 @@ function update_script() {
 | 
			
		||||
 | 
			
		||||
  if [ "$UPD" == "3" ]; then
 | 
			
		||||
    msg_info "Installing dependencies (patience)"
 | 
			
		||||
    $STD apt-get install -y \
 | 
			
		||||
    $STD apt install -y \
 | 
			
		||||
      psmisc \
 | 
			
		||||
      samba \
 | 
			
		||||
      samba-common-bin
 | 
			
		||||
@@ -73,7 +73,7 @@ function update_script() {
 | 
			
		||||
    URL=$(curl -fsSL https://api.github.com/repos/45Drives/cockpit-identities/releases/latest | grep download | grep focal_all.deb | cut -d\" -f4)
 | 
			
		||||
    FILE=$(basename "$URL")
 | 
			
		||||
    curl -fsSL "$URL" -o "$FILE"
 | 
			
		||||
    $STD dpkg -i "$FILE" || $STD apt-get install -f -y
 | 
			
		||||
    $STD dpkg -i "$FILE" || $STD apt install -f -y
 | 
			
		||||
    rm -f "$FILE"
 | 
			
		||||
    msg_ok "Installed Cockpit identities"
 | 
			
		||||
    exit
 | 
			
		||||
@@ -81,7 +81,7 @@ function update_script() {
 | 
			
		||||
 | 
			
		||||
  if [ "$UPD" == "4" ]; then
 | 
			
		||||
    msg_info "Installing dependencies"
 | 
			
		||||
    $STD apt-get install -y \
 | 
			
		||||
    $STD apt install -y \
 | 
			
		||||
      rsync \
 | 
			
		||||
      zip
 | 
			
		||||
    msg_ok "Installed dependencies"
 | 
			
		||||
@@ -89,7 +89,7 @@ function update_script() {
 | 
			
		||||
    URL=$(curl -fsSL https://api.github.com/repos/45Drives/cockpit-navigator/releases/latest | grep download | grep focal_all.deb | cut -d\" -f4)
 | 
			
		||||
    FILE=$(basename "$URL")
 | 
			
		||||
    curl -fsSL "$URL" -o "$FILE"
 | 
			
		||||
    $STD dpkg -i "$FILE" || $STD apt-get install -f -y
 | 
			
		||||
    $STD dpkg -i "$FILE" || $STD apt install -f -y
 | 
			
		||||
    rm -f "$FILE"
 | 
			
		||||
    msg_ok "Installed Cockpit navigator"
 | 
			
		||||
    exit
 | 
			
		||||
 
 | 
			
		||||
@@ -11,7 +11,7 @@ var_cpu="${var_cpu:-3}"
 | 
			
		||||
var_ram="${var_ram:-4096}"
 | 
			
		||||
var_disk="${var_disk:-8}"
 | 
			
		||||
var_os="${var_os:-debian}"
 | 
			
		||||
var_version="${var_version:-12}"
 | 
			
		||||
var_version="${var_version:-13}"
 | 
			
		||||
 | 
			
		||||
header_info "$APP"
 | 
			
		||||
variables
 | 
			
		||||
 
 | 
			
		||||
@@ -31,7 +31,13 @@ function update_script() {
 | 
			
		||||
    msg_ok "Stopped EMQX"
 | 
			
		||||
 | 
			
		||||
    msg_info "Removing old EMQX"
 | 
			
		||||
    $STD apt-get remove --purge -y emqx
 | 
			
		||||
    if dpkg -l | grep -q "^ii\s\+emqx\s"; then
 | 
			
		||||
      $STD apt-get remove --purge -y emqx
 | 
			
		||||
    elif dpkg -l | grep -q "^ii\s\+emqx-enterprise\s"; then
 | 
			
		||||
      $STD apt-get remove --purge -y emqx-enterprise
 | 
			
		||||
    else
 | 
			
		||||
      msg_ok "No old EMQX package found"
 | 
			
		||||
    fi
 | 
			
		||||
    msg_ok "Removed old EMQX"
 | 
			
		||||
 | 
			
		||||
    msg_info "Downloading EMQX v${RELEASE}"
 | 
			
		||||
 
 | 
			
		||||
@@ -28,7 +28,7 @@ function update_script() {
 | 
			
		||||
    msg_error "No ${APP} Installation Found!"
 | 
			
		||||
    exit
 | 
			
		||||
  fi
 | 
			
		||||
  if check_for_gh_release "flaresolverr" "FlareSolverr/FlareSolverr" "3.3.5"; then
 | 
			
		||||
  if check_for_gh_release "flaresolverr" "FlareSolverr/FlareSolverr" "3.3.25"; then
 | 
			
		||||
    msg_info "Stopping service"
 | 
			
		||||
    systemctl stop flaresolverr
 | 
			
		||||
    msg_ok "Stopped service"
 | 
			
		||||
 
 | 
			
		||||
@@ -1,6 +0,0 @@
 | 
			
		||||
    ____       __  _     
 | 
			
		||||
   / __ \___  / /_(_)___ 
 | 
			
		||||
  / /_/ / _ \/ __/ / __ \
 | 
			
		||||
 / ____/  __/ /_/ / /_/ /
 | 
			
		||||
/_/    \___/\__/_/\____/ 
 | 
			
		||||
                         
 | 
			
		||||
							
								
								
									
										6
									
								
								ct/headers/pve-scripts-local
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										6
									
								
								ct/headers/pve-scripts-local
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,6 @@
 | 
			
		||||
    ____ _    ________    _____           _       __             __                     __
 | 
			
		||||
   / __ \ |  / / ____/   / ___/__________(_)___  / /______      / /   ____  _________ _/ /
 | 
			
		||||
  / /_/ / | / / __/______\__ \/ ___/ ___/ / __ \/ __/ ___/_____/ /   / __ \/ ___/ __ `/ / 
 | 
			
		||||
 / ____/| |/ / /__/_____/__/ / /__/ /  / / /_/ / /_(__  )_____/ /___/ /_/ / /__/ /_/ / /  
 | 
			
		||||
/_/     |___/_____/    /____/\___/_/  /_/ .___/\__/____/     /_____/\____/\___/\__,_/_/   
 | 
			
		||||
                                       /_/                                                
 | 
			
		||||
@@ -74,7 +74,7 @@ function update_script() {
 | 
			
		||||
    done
 | 
			
		||||
    msg_ok "Image-processing libraries up to date"
 | 
			
		||||
  fi
 | 
			
		||||
  RELEASE="1.143.1"
 | 
			
		||||
  RELEASE="2.0.1"
 | 
			
		||||
  if check_for_gh_release "immich" "immich-app/immich" "${RELEASE}"; then
 | 
			
		||||
    msg_info "Stopping Services"
 | 
			
		||||
    systemctl stop immich-web
 | 
			
		||||
@@ -158,6 +158,7 @@ EOF
 | 
			
		||||
 | 
			
		||||
    cd "$SRC_DIR"/machine-learning
 | 
			
		||||
    mkdir -p "$ML_DIR" && chown -R immich:immich "$ML_DIR"
 | 
			
		||||
    chown immich:immich ./uv.lock
 | 
			
		||||
    export VIRTUAL_ENV="${ML_DIR}"/ml-venv
 | 
			
		||||
    if [[ -f ~/.openvino ]]; then
 | 
			
		||||
      msg_info "Updating HW-accelerated machine-learning"
 | 
			
		||||
@@ -190,6 +191,7 @@ EOF
 | 
			
		||||
    msg_info "Cleaning up"
 | 
			
		||||
    $STD apt-get -y autoremove
 | 
			
		||||
    $STD apt-get -y autoclean
 | 
			
		||||
    $STD apt clean -y
 | 
			
		||||
    msg_ok "Cleaned"
 | 
			
		||||
    systemctl restart immich-ml immich-web
 | 
			
		||||
  fi
 | 
			
		||||
 
 | 
			
		||||
@@ -41,7 +41,8 @@ EOF
 | 
			
		||||
  NODE_VERSION="22" setup_nodejs
 | 
			
		||||
 | 
			
		||||
  msg_info "Updating ${APP} LXC"
 | 
			
		||||
  $STD npm update -g n8n
 | 
			
		||||
  rm -rf /usr/lib/node_modules/.n8n-* /usr/lib/node_modules/n8n
 | 
			
		||||
  $STD npm install -g n8n --force
 | 
			
		||||
  systemctl restart n8n
 | 
			
		||||
  msg_ok "Updated Successfully"
 | 
			
		||||
  exit
 | 
			
		||||
 
 | 
			
		||||
@@ -11,7 +11,7 @@ var_cpu="${var_cpu:-2}"
 | 
			
		||||
var_ram="${var_ram:-1024}"
 | 
			
		||||
var_disk="${var_disk:-4}"
 | 
			
		||||
var_os="${var_os:-debian}"
 | 
			
		||||
var_version="${var_version:-12}"
 | 
			
		||||
var_version="${var_version:-13}"
 | 
			
		||||
var_unprivileged="${var_unprivileged:-1}"
 | 
			
		||||
 | 
			
		||||
header_info "$APP"
 | 
			
		||||
 
 | 
			
		||||
@@ -11,7 +11,7 @@ var_cpu="${var_cpu:-1}"
 | 
			
		||||
var_ram="${var_ram:-1024}"
 | 
			
		||||
var_disk="${var_disk:-4}"
 | 
			
		||||
var_os="${var_os:-debian}"
 | 
			
		||||
var_version="${var_version:-12}"
 | 
			
		||||
var_version="${var_version:-13}"
 | 
			
		||||
var_unprivileged="${var_unprivileged:-1}"
 | 
			
		||||
 | 
			
		||||
header_info "$APP"
 | 
			
		||||
 
 | 
			
		||||
@@ -11,7 +11,7 @@ var_cpu="${var_cpu:-1}"
 | 
			
		||||
var_ram="${var_ram:-1024}"
 | 
			
		||||
var_disk="${var_disk:-4}"
 | 
			
		||||
var_os="${var_os:-debian}"
 | 
			
		||||
var_version="${var_version:-12}"
 | 
			
		||||
var_version="${var_version:-13}"
 | 
			
		||||
var_unprivileged="${var_unprivileged:-1}"
 | 
			
		||||
 | 
			
		||||
header_info "$APP"
 | 
			
		||||
@@ -32,25 +32,20 @@ function update_script() {
 | 
			
		||||
    "2" "Install Themes" OFF \
 | 
			
		||||
    3>&1 1>&2 2>&3)
 | 
			
		||||
  if [ "$UPD" == "1" ]; then
 | 
			
		||||
    if [[ "$(node -v | cut -d 'v' -f 2)" == "18."* ]]; then
 | 
			
		||||
      if ! command -v npm >/dev/null 2>&1; then
 | 
			
		||||
        msg_info "Installing NPM"
 | 
			
		||||
        $STD apt-get install -y npm
 | 
			
		||||
        msg_ok "Installed NPM"
 | 
			
		||||
      fi
 | 
			
		||||
    fi
 | 
			
		||||
    msg_info "Stopping ${APP}"
 | 
			
		||||
    NODE_VERSION="22" setup_nodejs
 | 
			
		||||
 | 
			
		||||
    msg_info "Stopping Service"
 | 
			
		||||
    systemctl stop nodered
 | 
			
		||||
    msg_ok "Stopped ${APP}"
 | 
			
		||||
    msg_ok "Stopped Service"
 | 
			
		||||
 | 
			
		||||
    msg_info "Updating ${APP}"
 | 
			
		||||
    msg_info "Updating Node-Red"
 | 
			
		||||
    $STD npm install -g --unsafe-perm node-red
 | 
			
		||||
    msg_ok "Updated ${APP}"
 | 
			
		||||
    msg_ok "Updated Node-Red"
 | 
			
		||||
 | 
			
		||||
    msg_info "Starting ${APP}"
 | 
			
		||||
    msg_info "Starting Service"
 | 
			
		||||
    systemctl start nodered
 | 
			
		||||
    msg_ok "Started ${APP}"
 | 
			
		||||
    msg_ok "Update Successful"
 | 
			
		||||
    msg_ok "Started Service"
 | 
			
		||||
    msg_ok "Update Successfully!"
 | 
			
		||||
    exit
 | 
			
		||||
  fi
 | 
			
		||||
  if [ "$UPD" == "2" ]; then
 | 
			
		||||
@@ -99,4 +94,4 @@ description
 | 
			
		||||
msg_ok "Completed Successfully!\n"
 | 
			
		||||
echo -e "${CREATING}${GN}${APP} setup has been successfully initialized!${CL}"
 | 
			
		||||
echo -e "${INFO}${YW} Access it using the following URL:${CL}"
 | 
			
		||||
echo -e "${TAB}${GATEWAY}${BGN}http://${IP}:1880${CL}"
 | 
			
		||||
echo -e "${TAB}${GATEWAY}${BGN}http://${IP}:1880${CL}"
 | 
			
		||||
 
 | 
			
		||||
@@ -8,7 +8,7 @@ source <(curl -fsSL https://raw.githubusercontent.com/community-scripts/ProxmoxV
 | 
			
		||||
APP="Overseerr"
 | 
			
		||||
var_tags="${var_tags:-media}"
 | 
			
		||||
var_cpu="${var_cpu:-2}"
 | 
			
		||||
var_ram="${var_ram:-2048}"
 | 
			
		||||
var_ram="${var_ram:-4096}"
 | 
			
		||||
var_disk="${var_disk:-8}"
 | 
			
		||||
var_os="${var_os:-debian}"
 | 
			
		||||
var_version="${var_version:-12}"
 | 
			
		||||
 
 | 
			
		||||
							
								
								
									
										45
									
								
								ct/petio.sh
									
									
									
									
									
								
							
							
						
						
									
										45
									
								
								ct/petio.sh
									
									
									
									
									
								
							@@ -1,45 +0,0 @@
 | 
			
		||||
#!/usr/bin/env bash
 | 
			
		||||
source <(curl -fsSL https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/misc/build.func)
 | 
			
		||||
# Copyright (c) 2021-2025 tteck
 | 
			
		||||
# Author: tteck (tteckster)
 | 
			
		||||
# License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE
 | 
			
		||||
# Source: https://petio.tv/
 | 
			
		||||
 | 
			
		||||
APP="Petio"
 | 
			
		||||
var_tags="${var_tags:-media}"
 | 
			
		||||
var_cpu="${var_cpu:-2}"
 | 
			
		||||
var_ram="${var_ram:-1024}"
 | 
			
		||||
var_disk="${var_disk:-4}"
 | 
			
		||||
var_os="${var_os:-ubuntu}"
 | 
			
		||||
var_version="${var_version:-20.04}"
 | 
			
		||||
 | 
			
		||||
header_info "$APP"
 | 
			
		||||
variables
 | 
			
		||||
color
 | 
			
		||||
catch_errors
 | 
			
		||||
 | 
			
		||||
function update_script() {
 | 
			
		||||
  header_info
 | 
			
		||||
  check_container_storage
 | 
			
		||||
  check_container_resources
 | 
			
		||||
  if [[ ! -d /opt/Petio ]]; then
 | 
			
		||||
    msg_error "No ${APP} Installation Found!"
 | 
			
		||||
    exit
 | 
			
		||||
  fi
 | 
			
		||||
  msg_info "Updating $APP"
 | 
			
		||||
  systemctl stop petio.service
 | 
			
		||||
  curl -fsSL https://petio.tv/releases/latest -o petio-latest.zip
 | 
			
		||||
  $STD unzip petio-latest.zip -d /opt/Petio
 | 
			
		||||
  systemctl start petio.service
 | 
			
		||||
  msg_ok "Updated $APP"
 | 
			
		||||
  exit
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
start
 | 
			
		||||
build_container
 | 
			
		||||
description
 | 
			
		||||
 | 
			
		||||
msg_ok "Completed Successfully!\n"
 | 
			
		||||
echo -e "${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}:7777${CL}"
 | 
			
		||||
@@ -32,8 +32,10 @@ function update_script() {
 | 
			
		||||
    systemctl stop plant-it
 | 
			
		||||
    msg_ok "Stopped $APP"
 | 
			
		||||
 | 
			
		||||
    USE_ORIGINAL_FILENAME="true" fetch_and_deploy_gh_release "plant-it" "MDeLuise/plant-it" "singlefile" "latest" "/opt/plant-it/backend" "server.jar"
 | 
			
		||||
    fetch_and_deploy_gh_release "plant-it-front" "MDeLuise/plant-it" "prebuild" "latest" "/opt/plant-it/frontend" "client.tar.gz"
 | 
			
		||||
    USE_ORIGINAL_FILENAME="true" fetch_and_deploy_gh_release "plant-it" "MDeLuise/plant-it" "singlefile" "0.10.0" "/opt/plant-it/backend" "server.jar"
 | 
			
		||||
    fetch_and_deploy_gh_release "plant-it-front" "MDeLuise/plant-it" "prebuild" "0.10.0" "/opt/plant-it/frontend" "client.tar.gz"
 | 
			
		||||
    msg_warn "Application is updated to latest Web version (v0.10.0). There will be no more updates available."
 | 
			
		||||
    msg_warn "Please read: https://github.com/MDeLuise/plant-it/releases/tag/1.0.0"
 | 
			
		||||
 | 
			
		||||
    msg_info "Starting $APP"
 | 
			
		||||
    systemctl start plant-it
 | 
			
		||||
 
 | 
			
		||||
@@ -40,7 +40,10 @@ function update_script() {
 | 
			
		||||
 | 
			
		||||
    fetch_and_deploy_gh_release "pulse" "rcourtman/Pulse" "prebuild" "latest" "/opt/pulse" "*-linux-amd64.tar.gz"
 | 
			
		||||
    ln -sf /opt/pulse/bin/pulse /usr/local/bin/pulse
 | 
			
		||||
    chown -R pulse:pulse /etc/pulse /opt/pulse
 | 
			
		||||
    mkdir -p /etc/pulse
 | 
			
		||||
    chown pulse:pulse /etc/pulse
 | 
			
		||||
    chown -R pulse:pulse /opt/pulse
 | 
			
		||||
    chmod 700 /etc/pulse
 | 
			
		||||
    if [[ -f "$SERVICE_PATH"/pulse-backend.service ]]; then
 | 
			
		||||
      mv "$SERVICE_PATH"/pulse-backend.service "$SERVICE_PATH"/pulse.service
 | 
			
		||||
    fi
 | 
			
		||||
 
 | 
			
		||||
							
								
								
									
										75
									
								
								ct/pve-scripts-local.sh
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										75
									
								
								ct/pve-scripts-local.sh
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,75 @@
 | 
			
		||||
#!/usr/bin/env bash
 | 
			
		||||
source <(curl -fsSL https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/misc/build.func)
 | 
			
		||||
# Copyright (c) 2021-2025 community-scripts ORG
 | 
			
		||||
# Author: michelroegl-brunner
 | 
			
		||||
# License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE
 | 
			
		||||
# Source: https://www.debian.org/
 | 
			
		||||
 | 
			
		||||
APP="PVE-Scripts-Local"
 | 
			
		||||
var_tags="${var_tags:-pve-scripts-local}"
 | 
			
		||||
var_cpu="${var_cpu:-2}"
 | 
			
		||||
var_ram="${var_ram:-4096}"
 | 
			
		||||
var_disk="${var_disk:-4}"
 | 
			
		||||
var_os="${var_os:-debian}"
 | 
			
		||||
var_version="${var_version:-13}"
 | 
			
		||||
var_unprivileged="${var_unprivileged:-1}"
 | 
			
		||||
 | 
			
		||||
header_info "$APP"
 | 
			
		||||
variables
 | 
			
		||||
color
 | 
			
		||||
catch_errors
 | 
			
		||||
 | 
			
		||||
function update_script() {
 | 
			
		||||
  header_info
 | 
			
		||||
  check_container_storage
 | 
			
		||||
  check_container_resources
 | 
			
		||||
  if [[ ! -d /opt/ProxmoxVE-Local ]]; then
 | 
			
		||||
    msg_error "No ${APP} Installation Found!"
 | 
			
		||||
    exit
 | 
			
		||||
  fi
 | 
			
		||||
 | 
			
		||||
  if check_for_gh_release "ProxmoxVE-Local" "community-scripts/ProxmoxVE-Local"; then
 | 
			
		||||
    msg_info "Stopping Services"
 | 
			
		||||
    systemctl stop pvescriptslocal
 | 
			
		||||
    msg_ok "Stopped Services"
 | 
			
		||||
 | 
			
		||||
    msg_info "Backup Data"
 | 
			
		||||
    cp /opt/ProxmoxVE-Local/.env /opt/.env.bak
 | 
			
		||||
    cp -r /opt/ProxmoxVE-Local/data /opt/data.bak
 | 
			
		||||
    msg_ok "Backed up Data"
 | 
			
		||||
 | 
			
		||||
    CLEAN_INSTALL=1 fetch_and_deploy_gh_release "ProxmoxVE-Local" "community-scripts/ProxmoxVE-Local"
 | 
			
		||||
 | 
			
		||||
    msg_info "Restoring Data"
 | 
			
		||||
    if [[ -f /opt/.env.bak ]]; then
 | 
			
		||||
      mv /opt/.env.bak /opt/ProxmoxVE-Local/.env
 | 
			
		||||
    fi
 | 
			
		||||
    if [[ -d /opt/data.bak ]]; then
 | 
			
		||||
      rm -rf /opt/ProxmoxVE-Local/data
 | 
			
		||||
      mv /opt/data.bak /opt/ProxmoxVE-Local/data
 | 
			
		||||
    fi
 | 
			
		||||
    msg_ok "Restored Data"
 | 
			
		||||
 | 
			
		||||
    msg_info "Updating PVE Scripts local"
 | 
			
		||||
    cd /opt/ProxmoxVE-Local
 | 
			
		||||
    chmod 755 data
 | 
			
		||||
    $STD npm install
 | 
			
		||||
    $STD npm run build
 | 
			
		||||
    msg_ok "Updated PVE Scripts local"
 | 
			
		||||
 | 
			
		||||
    msg_info "Starting Services"
 | 
			
		||||
    systemctl start pvescriptslocal
 | 
			
		||||
    msg_ok "Started Services"
 | 
			
		||||
    msg_ok "Updated Successfully"
 | 
			
		||||
  fi
 | 
			
		||||
  exit
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
start
 | 
			
		||||
build_container
 | 
			
		||||
description
 | 
			
		||||
 | 
			
		||||
msg_ok "Completed Successfully!\n"
 | 
			
		||||
echo -e "${CREATING}${GN}${APP} setup has been successfully initialized!${CL}"
 | 
			
		||||
echo -e "${INFO}${YW} Access it using the following URL:${CL}"
 | 
			
		||||
echo -e "${TAB}${GATEWAY}${BGN}http://${IP}:3000${CL}"
 | 
			
		||||
@@ -11,7 +11,7 @@ var_cpu="${var_cpu:-4}"
 | 
			
		||||
var_ram="${var_ram:-6144}"
 | 
			
		||||
var_disk="${var_disk:-20}"
 | 
			
		||||
var_os="${var_os:-debian}"
 | 
			
		||||
var_version="${var_version:-12}"
 | 
			
		||||
var_version="${var_version:-13}"
 | 
			
		||||
var_unprivileged="${var_unprivileged:-1}"
 | 
			
		||||
 | 
			
		||||
header_info "$APP"
 | 
			
		||||
@@ -42,14 +42,14 @@ function update_script() {
 | 
			
		||||
    3>&1 1>&2 2>&3)
 | 
			
		||||
 | 
			
		||||
  if [ "$UPD" == "1" ]; then
 | 
			
		||||
    msg_info "Stopping Vaultwarden"
 | 
			
		||||
    systemctl stop vaultwarden.service
 | 
			
		||||
    msg_ok "Stopped Vaultwarden"
 | 
			
		||||
    msg_info "Stopping Service"
 | 
			
		||||
    systemctl stop vaultwarden
 | 
			
		||||
    msg_ok "Stopped Service"
 | 
			
		||||
 | 
			
		||||
    msg_info "Updating VaultWarden to $VAULT (Patience)"
 | 
			
		||||
    cd ~ && rm -rf vaultwarden
 | 
			
		||||
    $STD git clone https://github.com/dani-garcia/vaultwarden
 | 
			
		||||
    cd vaultwarden
 | 
			
		||||
    cd vaultwarden || exit
 | 
			
		||||
    $STD cargo build --features "sqlite,mysql,postgresql" --release
 | 
			
		||||
    DIR=/usr/bin/vaultwarden
 | 
			
		||||
    if [ -d "$DIR" ]; then
 | 
			
		||||
@@ -63,17 +63,17 @@ function update_script() {
 | 
			
		||||
    cd ~ && rm -rf vaultwarden
 | 
			
		||||
    msg_ok "Cleaned"
 | 
			
		||||
 | 
			
		||||
    msg_info "Starting Vaultwarden"
 | 
			
		||||
    systemctl start vaultwarden.service
 | 
			
		||||
    msg_ok "Started Vaultwarden"
 | 
			
		||||
    msg_info "Starting Service"
 | 
			
		||||
    systemctl start vaultwarden
 | 
			
		||||
    msg_ok "Started Service"
 | 
			
		||||
 | 
			
		||||
    msg_ok "$VAULT Update Successful"
 | 
			
		||||
    exit
 | 
			
		||||
  fi
 | 
			
		||||
  if [ "$UPD" == "2" ]; then
 | 
			
		||||
    msg_info "Stopping Vaultwarden"
 | 
			
		||||
    systemctl stop vaultwarden.service
 | 
			
		||||
    msg_ok "Stopped Vaultwarden"
 | 
			
		||||
    msg_info "Stopping Service"
 | 
			
		||||
    systemctl stop vaultwarden
 | 
			
		||||
    msg_ok "Stopped Service"
 | 
			
		||||
 | 
			
		||||
    msg_info "Updating Web-Vault to $WVRELEASE"
 | 
			
		||||
    $STD curl -fsSLO https://github.com/dani-garcia/bw_web_builds/releases/download/"$WVRELEASE"/bw_web_"$WVRELEASE".tar.gz
 | 
			
		||||
@@ -84,9 +84,9 @@ function update_script() {
 | 
			
		||||
    rm bw_web_"$WVRELEASE".tar.gz
 | 
			
		||||
    msg_ok "Cleaned"
 | 
			
		||||
 | 
			
		||||
    msg_info "Starting Vaultwarden"
 | 
			
		||||
    systemctl start vaultwarden.service
 | 
			
		||||
    msg_ok "Started Vaultwarden"
 | 
			
		||||
    msg_info "Starting Service"
 | 
			
		||||
    systemctl start vaultwarden
 | 
			
		||||
    msg_ok "Started Service"
 | 
			
		||||
    msg_ok "$WVRELEASE Update Successful"
 | 
			
		||||
    exit
 | 
			
		||||
  fi
 | 
			
		||||
 
 | 
			
		||||
@@ -11,7 +11,7 @@ var_cpu="${var_cpu:-2}"
 | 
			
		||||
var_ram="${var_ram:-2048}"
 | 
			
		||||
var_disk="${var_disk:-16}"
 | 
			
		||||
var_os="${var_os:-debian}"
 | 
			
		||||
var_version="${var_version:-12}"
 | 
			
		||||
var_version="${var_version:-13}"
 | 
			
		||||
var_unprivileged="${var_unprivileged:-1}"
 | 
			
		||||
 | 
			
		||||
header_info "$APP"
 | 
			
		||||
@@ -29,10 +29,10 @@ function update_script() {
 | 
			
		||||
  fi
 | 
			
		||||
 | 
			
		||||
  if check_for_gh_release "victoriametrics" "VictoriaMetrics/VictoriaMetrics"; then
 | 
			
		||||
    msg_info "Stopping $APP"
 | 
			
		||||
    msg_info "Stopping Service"
 | 
			
		||||
    systemctl stop victoriametrics
 | 
			
		||||
    [[ -f /etc/systemd/system/victoriametrics-logs.service ]] && systemctl stop victoriametrics-logs
 | 
			
		||||
    msg_ok "Stopped $APP"
 | 
			
		||||
    msg_ok "Stopped Service"
 | 
			
		||||
 | 
			
		||||
    victoriametrics_filename=$(curl -fsSL "https://api.github.com/repos/VictoriaMetrics/VictoriaMetrics/releases/latest" |
 | 
			
		||||
      jq -r '.assets[].name' |
 | 
			
		||||
@@ -50,11 +50,11 @@ function update_script() {
 | 
			
		||||
    fi
 | 
			
		||||
    chmod +x /opt/victoriametrics/*
 | 
			
		||||
 | 
			
		||||
    msg_info "Starting $APP"
 | 
			
		||||
    msg_info "Starting Service"
 | 
			
		||||
    systemctl start victoriametrics
 | 
			
		||||
    [[ -f /etc/systemd/system/victoriametrics-logs.service ]] && systemctl start victoriametrics-logs
 | 
			
		||||
    msg_ok "Started $APP"
 | 
			
		||||
    msg_ok "Updated Successfully"
 | 
			
		||||
    msg_ok "Started Service"
 | 
			
		||||
    msg_ok "Updated Successfully!"
 | 
			
		||||
  fi
 | 
			
		||||
  exit
 | 
			
		||||
}
 | 
			
		||||
 
 | 
			
		||||
@@ -11,7 +11,7 @@ var_cpu="${var_cpu:-1}"
 | 
			
		||||
var_ram="${var_ram:-1024}"
 | 
			
		||||
var_disk="${var_disk:-4}"
 | 
			
		||||
var_os="${var_os:-debian}"
 | 
			
		||||
var_version="${var_version:-12}"
 | 
			
		||||
var_version="${var_version:-13}"
 | 
			
		||||
var_unprivileged="${var_unprivileged:-1}"
 | 
			
		||||
 | 
			
		||||
header_info "$APP"
 | 
			
		||||
@@ -29,25 +29,25 @@ function update_script() {
 | 
			
		||||
  fi
 | 
			
		||||
  RELEASE=$(curl -fsSL https://dl.vikunja.io/vikunja/ | grep -oP 'href="/vikunja/\K[0-9]+\.[0-9]+\.[0-9]+' | sort -V | tail -n 1)
 | 
			
		||||
  if [[ ! -f /opt/${APP}_version.txt ]] || [[ "${RELEASE}" != "$(cat /opt/${APP}_version.txt)" ]]; then
 | 
			
		||||
    msg_info "Stopping ${APP}"
 | 
			
		||||
    msg_info "Stopping Service"
 | 
			
		||||
    systemctl stop vikunja
 | 
			
		||||
    msg_ok "Stopped ${APP}"
 | 
			
		||||
    msg_ok "Stopped Service"
 | 
			
		||||
 | 
			
		||||
    msg_info "Updating ${APP} to ${RELEASE}"
 | 
			
		||||
    cd /opt
 | 
			
		||||
    cd /opt || exit
 | 
			
		||||
    rm -rf /opt/vikunja/vikunja
 | 
			
		||||
    curl -fsSL "https://dl.vikunja.io/vikunja/$RELEASE/vikunja-$RELEASE-amd64.deb" -o $(basename "https://dl.vikunja.io/vikunja/$RELEASE/vikunja-$RELEASE-amd64.deb")
 | 
			
		||||
    export DEBIAN_FRONTEND=noninteractive
 | 
			
		||||
    $STD dpkg -i vikunja-$RELEASE-amd64.deb
 | 
			
		||||
    $STD dpkg -i vikunja-"$RELEASE"-amd64.deb
 | 
			
		||||
    echo "${RELEASE}" >/opt/${APP}_version.txt
 | 
			
		||||
    msg_ok "Updated ${APP}"
 | 
			
		||||
 | 
			
		||||
    msg_info "Starting ${APP}"
 | 
			
		||||
    msg_info "Starting Service"
 | 
			
		||||
    systemctl start vikunja
 | 
			
		||||
    msg_ok "Started ${APP}"
 | 
			
		||||
    msg_ok "Started Service"
 | 
			
		||||
 | 
			
		||||
    msg_info "Cleaning Up"
 | 
			
		||||
    rm -rf /opt/vikunja-$RELEASE-amd64.deb
 | 
			
		||||
    rm -rf /opt/vikunja-"$RELEASE"-amd64.deb
 | 
			
		||||
    msg_ok "Cleaned"
 | 
			
		||||
    msg_ok "Updated Successfully"
 | 
			
		||||
  else
 | 
			
		||||
 
 | 
			
		||||
							
								
								
									
										11
									
								
								ct/wallos.sh
									
									
									
									
									
								
							
							
						
						
									
										11
									
								
								ct/wallos.sh
									
									
									
									
									
								
							@@ -11,7 +11,7 @@ var_cpu="${var_cpu:-1}"
 | 
			
		||||
var_ram="${var_ram:-1024}"
 | 
			
		||||
var_disk="${var_disk:-5}"
 | 
			
		||||
var_os="${var_os:-debian}"
 | 
			
		||||
var_version="${var_version:-12}"
 | 
			
		||||
var_version="${var_version:-13}"
 | 
			
		||||
var_unprivileged="${var_unprivileged:-1}"
 | 
			
		||||
 | 
			
		||||
header_info "$APP"
 | 
			
		||||
@@ -35,10 +35,9 @@ function update_script() {
 | 
			
		||||
    mv /opt/wallos/images/uploads/logos /opt/logos/
 | 
			
		||||
    msg_ok "Backup created"
 | 
			
		||||
 | 
			
		||||
    rm -rf /opt/wallos
 | 
			
		||||
    fetch_and_deploy_gh_release "wallos" "ellite/Wallos" "tarball"
 | 
			
		||||
    CLEAN_INSTALL=1 fetch_and_deploy_gh_release "wallos" "ellite/Wallos" "tarball"
 | 
			
		||||
 | 
			
		||||
    msg_info "Configuring ${APP}"
 | 
			
		||||
    msg_info "Configuring Wallos"
 | 
			
		||||
    rm -rf /opt/wallos/db/wallos.empty.db
 | 
			
		||||
    mv /opt/wallos.db /opt/wallos/db/wallos.db
 | 
			
		||||
    mv /opt/logos/* /opt/wallos/images/uploads/logos
 | 
			
		||||
@@ -49,12 +48,12 @@ function update_script() {
 | 
			
		||||
    chmod -R 755 /opt/wallos
 | 
			
		||||
    mkdir -p /var/log/cron
 | 
			
		||||
    $STD curl http://localhost/endpoints/db/migrate.php
 | 
			
		||||
    msg_ok "Configured ${APP}"
 | 
			
		||||
    msg_ok "Configured Wallos"
 | 
			
		||||
 | 
			
		||||
    msg_info "Reload Apache2"
 | 
			
		||||
    systemctl reload apache2
 | 
			
		||||
    msg_ok "Apache2 Reloaded"
 | 
			
		||||
    msg_ok "Updated Successfully"
 | 
			
		||||
    msg_ok "Updated Successfully!"
 | 
			
		||||
  fi
 | 
			
		||||
  exit
 | 
			
		||||
}
 | 
			
		||||
 
 | 
			
		||||
@@ -11,7 +11,7 @@ var_cpu="${var_cpu:-1}"
 | 
			
		||||
var_ram="${var_ram:-1024}"
 | 
			
		||||
var_disk="${var_disk:-4}"
 | 
			
		||||
var_os="${var_os:-debian}"
 | 
			
		||||
var_version="${var_version:-12}"
 | 
			
		||||
var_version="${var_version:-13}"
 | 
			
		||||
var_unprivileged="${var_unprivileged:-1}"
 | 
			
		||||
 | 
			
		||||
header_info "$APP"
 | 
			
		||||
@@ -28,8 +28,8 @@ function update_script() {
 | 
			
		||||
    exit
 | 
			
		||||
  fi
 | 
			
		||||
  if ! [[ $(dpkg -s zstd 2>/dev/null) ]]; then
 | 
			
		||||
    $STD apt-get update
 | 
			
		||||
    $STD apt-get install -y zstd
 | 
			
		||||
    $STD apt update
 | 
			
		||||
    $STD apt install -y zstd
 | 
			
		||||
  fi
 | 
			
		||||
  RELEASE=$(curl -fsSL https://api.github.com/repos/matze/wastebin/releases/latest | grep "tag_name" | awk '{print substr($2, 2, length($2)-3) }')
 | 
			
		||||
  # Dirty-Fix 03/2025 for missing APP_version.txt on old installations, set to pre-latest release
 | 
			
		||||
@@ -69,7 +69,7 @@ EOF
 | 
			
		||||
    msg_info "Updating Wastebin"
 | 
			
		||||
    temp_file=$(mktemp)
 | 
			
		||||
    curl -fsSL "https://github.com/matze/wastebin/releases/download/${RELEASE}/wastebin_${RELEASE}_x86_64-unknown-linux-musl.tar.zst" -o "$temp_file"
 | 
			
		||||
    tar -xf $temp_file
 | 
			
		||||
    tar -xf "$temp_file"
 | 
			
		||||
    cp -f wastebin* /opt/wastebin/
 | 
			
		||||
    chmod +x /opt/wastebin/wastebin
 | 
			
		||||
    chmod +x /opt/wastebin/wastebin-ctl
 | 
			
		||||
@@ -81,7 +81,7 @@ EOF
 | 
			
		||||
    msg_ok "Started Wastebin"
 | 
			
		||||
 | 
			
		||||
    msg_info "Cleaning Up"
 | 
			
		||||
    rm -f $temp_file
 | 
			
		||||
    rm -f "$temp_file"
 | 
			
		||||
    msg_ok "Cleanup Completed"
 | 
			
		||||
    msg_ok "Updated Successfully"
 | 
			
		||||
  else
 | 
			
		||||
 
 | 
			
		||||
@@ -11,7 +11,7 @@ var_cpu="${var_cpu:-1}"
 | 
			
		||||
var_ram="${var_ram:-1024}"
 | 
			
		||||
var_disk="${var_disk:-4}"
 | 
			
		||||
var_os="${var_os:-debian}"
 | 
			
		||||
var_version="${var_version:-12}"
 | 
			
		||||
var_version="${var_version:-13}"
 | 
			
		||||
var_unprivileged="${var_unprivileged:-1}"
 | 
			
		||||
 | 
			
		||||
header_info "$APP"
 | 
			
		||||
@@ -29,29 +29,29 @@ function update_script() {
 | 
			
		||||
  fi
 | 
			
		||||
 | 
			
		||||
  if check_for_gh_release "watcharr" "sbondCo/Watcharr"; then
 | 
			
		||||
    msg_info "Stopping $APP"
 | 
			
		||||
    msg_info "Stopping Service"
 | 
			
		||||
    systemctl stop watcharr
 | 
			
		||||
    msg_ok "Stopped $APP"
 | 
			
		||||
    msg_ok "Stopped Service"
 | 
			
		||||
 | 
			
		||||
    rm -f /opt/watcharr/server/watcharr
 | 
			
		||||
    rm -rf /opt/watcharr/server/ui
 | 
			
		||||
    fetch_and_deploy_gh_release "watcharr" "sbondCo/Watcharr" "tarball"
 | 
			
		||||
 | 
			
		||||
    msg_info "Updating $APP"
 | 
			
		||||
    cd /opt/watcharr
 | 
			
		||||
    msg_info "Updating Watcharr"
 | 
			
		||||
    cd /opt/watcharr || exit
 | 
			
		||||
    export GOOS=linux
 | 
			
		||||
    $STD npm i
 | 
			
		||||
    $STD npm run build
 | 
			
		||||
    mv ./build ./server/ui
 | 
			
		||||
    cd server
 | 
			
		||||
    cd server || exit
 | 
			
		||||
    $STD go mod download
 | 
			
		||||
    $STD go build -o ./watcharr
 | 
			
		||||
    msg_ok "Updated $APP"
 | 
			
		||||
    msg_ok "Updated Watcharr"
 | 
			
		||||
 | 
			
		||||
    msg_info "Starting $APP"
 | 
			
		||||
    msg_info "Starting Service"
 | 
			
		||||
    systemctl start watcharr
 | 
			
		||||
    msg_ok "Started $APP"
 | 
			
		||||
    msg_ok "Update Successfully"
 | 
			
		||||
    msg_ok "Started Service"
 | 
			
		||||
    msg_ok "Update Successfully!"
 | 
			
		||||
  fi
 | 
			
		||||
  exit
 | 
			
		||||
}
 | 
			
		||||
 
 | 
			
		||||
@@ -11,7 +11,7 @@ var_cpu="${var_cpu:-1}"
 | 
			
		||||
var_ram="${var_ram:-512}"
 | 
			
		||||
var_disk="${var_disk:-2}"
 | 
			
		||||
var_os="${var_os:-debian}"
 | 
			
		||||
var_version="${var_version:-12}"
 | 
			
		||||
var_version="${var_version:-13}"
 | 
			
		||||
var_unprivileged="${var_unprivileged:-1}"
 | 
			
		||||
 | 
			
		||||
header_info "$APP"
 | 
			
		||||
@@ -30,7 +30,7 @@ function update_script() {
 | 
			
		||||
 | 
			
		||||
  if check_for_gh_release "watchyourlan" "aceberg/WatchYourLAN"; then
 | 
			
		||||
    msg_info "Stopping service"
 | 
			
		||||
    systemctl stop watchyourlan.service
 | 
			
		||||
    systemctl stop watchyourlan
 | 
			
		||||
    msg_ok "Service stopped"
 | 
			
		||||
 | 
			
		||||
    cp -R /data/config.yaml ~/config.yaml
 | 
			
		||||
@@ -45,7 +45,7 @@ function update_script() {
 | 
			
		||||
    msg_info "Starting service"
 | 
			
		||||
    systemctl enable -q --now watchyourlan
 | 
			
		||||
    msg_ok "Service started"
 | 
			
		||||
    msg_ok "Updated Successfully"
 | 
			
		||||
    msg_ok "Updated Successfully!"
 | 
			
		||||
  fi
 | 
			
		||||
  exit
 | 
			
		||||
}
 | 
			
		||||
 
 | 
			
		||||
@@ -11,7 +11,7 @@ var_cpu="${var_cpu:-1}"
 | 
			
		||||
var_ram="${var_ram:-512}"
 | 
			
		||||
var_disk="${var_disk:-2}"
 | 
			
		||||
var_os="${var_os:-debian}"
 | 
			
		||||
var_version="${var_version:-12}"
 | 
			
		||||
var_version="${var_version:-13}"
 | 
			
		||||
var_unprivileged="${var_unprivileged:-1}"
 | 
			
		||||
 | 
			
		||||
header_info "$APP"
 | 
			
		||||
@@ -45,7 +45,7 @@ function update_script() {
 | 
			
		||||
    rm -rf /opt/wavelog
 | 
			
		||||
    fetch_and_deploy_gh_release "wavelog" "wavelog/wavelog" "tarball"
 | 
			
		||||
 | 
			
		||||
    msg_info "Updating ${APP}"
 | 
			
		||||
    msg_info "Updating Wavelog"
 | 
			
		||||
    rm -rf /opt/wavelog/install
 | 
			
		||||
    mv /opt/config.php /opt/wavelog/application/config/config.php
 | 
			
		||||
    mv /opt/database.php /opt/wavelog/application/config/database.php
 | 
			
		||||
@@ -57,12 +57,12 @@ function update_script() {
 | 
			
		||||
    chown -R www-data:www-data /opt/wavelog/
 | 
			
		||||
    find /opt/wavelog/ -type d -exec chmod 755 {} \;
 | 
			
		||||
    find /opt/wavelog/ -type f -exec chmod 664 {} \;
 | 
			
		||||
    msg_ok "Updated ${APP}"
 | 
			
		||||
    msg_ok "Updated Wavelog"
 | 
			
		||||
 | 
			
		||||
    msg_info "Starting Services"
 | 
			
		||||
    systemctl start apache2
 | 
			
		||||
    msg_ok "Started Services"
 | 
			
		||||
    msg_ok "Updated Successfully"
 | 
			
		||||
    msg_ok "Updated Successfully!"
 | 
			
		||||
  fi
 | 
			
		||||
  exit
 | 
			
		||||
}
 | 
			
		||||
 
 | 
			
		||||
@@ -6,12 +6,12 @@ source <(curl -fsSL https://raw.githubusercontent.com/community-scripts/ProxmoxV
 | 
			
		||||
# Source: https://github.com/Lissy93/web-check
 | 
			
		||||
 | 
			
		||||
APP="web-check"
 | 
			
		||||
TAGS="network;analysis"
 | 
			
		||||
var_tags="network;analysis"
 | 
			
		||||
var_cpu="${var_cpu:-2}"
 | 
			
		||||
var_ram="${var_ram:-2048}"
 | 
			
		||||
var_disk="${var_disk:-12}"
 | 
			
		||||
var_os="${var_os:-debian}"
 | 
			
		||||
var_version="${var_version:-12}"
 | 
			
		||||
var_version="${var_version:-13}"
 | 
			
		||||
var_unprivileged="${var_unprivileged:-1}"
 | 
			
		||||
 | 
			
		||||
header_info "$APP"
 | 
			
		||||
@@ -20,15 +20,15 @@ color
 | 
			
		||||
catch_errors
 | 
			
		||||
 | 
			
		||||
function update_script() {
 | 
			
		||||
    header_info
 | 
			
		||||
    check_container_storage
 | 
			
		||||
    check_container_resources
 | 
			
		||||
    if [[ ! -d /opt/web-check ]]; then
 | 
			
		||||
        msg_error "No ${APP} Installation Found!"
 | 
			
		||||
        exit
 | 
			
		||||
    fi
 | 
			
		||||
    msg_error "Currently we don't provide an update function for this ${APP}."
 | 
			
		||||
  header_info
 | 
			
		||||
  check_container_storage
 | 
			
		||||
  check_container_resources
 | 
			
		||||
  if [[ ! -d /opt/web-check ]]; then
 | 
			
		||||
    msg_error "No ${APP} Installation Found!"
 | 
			
		||||
    exit
 | 
			
		||||
  fi
 | 
			
		||||
  msg_error "Currently we don't provide an update function for this App."
 | 
			
		||||
  exit
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
start
 | 
			
		||||
@@ -38,4 +38,4 @@ description
 | 
			
		||||
msg_ok "Completed Successfully!\n"
 | 
			
		||||
echo -e "${CREATING}${GN}${APP} setup has been successfully initialized!${CL}"
 | 
			
		||||
echo -e "${INFO}${YW} Access it using the following URL:${CL}"
 | 
			
		||||
echo -e "${TAB}${GATEWAY}${BGN}http://${IP}:3000${CL}"
 | 
			
		||||
echo -e "${TAB}${GATEWAY}${BGN}http://${IP}:3000${CL}"
 | 
			
		||||
 
 | 
			
		||||
							
								
								
									
										19
									
								
								ct/wger.sh
									
									
									
									
									
								
							
							
						
						
									
										19
									
								
								ct/wger.sh
									
									
									
									
									
								
							@@ -11,7 +11,7 @@ var_cpu="${var_cpu:-1}"
 | 
			
		||||
var_ram="${var_ram:-1024}"
 | 
			
		||||
var_disk="${var_disk:-6}"
 | 
			
		||||
var_os="${var_os:-debian}"
 | 
			
		||||
var_version="${var_version:-12}"
 | 
			
		||||
var_version="${var_version:-13}"
 | 
			
		||||
var_unprivileged="${var_unprivileged:-1}"
 | 
			
		||||
 | 
			
		||||
header_info "$APP"
 | 
			
		||||
@@ -29,20 +29,20 @@ function update_script() {
 | 
			
		||||
  fi
 | 
			
		||||
  RELEASE=$(curl -fsSL https://api.github.com/repos/wger-project/wger/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
 | 
			
		||||
    msg_info "Stopping $APP"
 | 
			
		||||
    msg_info "Stopping Service"
 | 
			
		||||
    systemctl stop wger
 | 
			
		||||
    msg_ok "Stopped $APP"
 | 
			
		||||
    msg_ok "Stopped Service"
 | 
			
		||||
 | 
			
		||||
    msg_info "Updating $APP to v${RELEASE}"
 | 
			
		||||
    temp_file=$(mktemp)
 | 
			
		||||
    curl -fsSL "https://github.com/wger-project/wger/archive/refs/tags/$RELEASE.tar.gz" -o "$temp_file"
 | 
			
		||||
    tar xzf "$temp_file"
 | 
			
		||||
    cp -rf wger-"$RELEASE"/* /home/wger/src
 | 
			
		||||
    cd /home/wger/src
 | 
			
		||||
    python3 manage.py migrate &>/dev/null
 | 
			
		||||
    yarn install &>/dev/null
 | 
			
		||||
    yarn build:css:sass &>/dev/null
 | 
			
		||||
    python3 manage.py collectstatic --noinput &>/dev/null
 | 
			
		||||
    cd /home/wger/src || exit
 | 
			
		||||
    $STD python3 manage.py migrate
 | 
			
		||||
    $STD yarn install
 | 
			
		||||
    $STD yarn build:css:sass
 | 
			
		||||
    $STD python3 manage.py collectstatic --noinput
 | 
			
		||||
    echo "${RELEASE}" >/opt/${APP}_version.txt
 | 
			
		||||
    msg_ok "Updated $APP to v${RELEASE}"
 | 
			
		||||
 | 
			
		||||
@@ -53,8 +53,7 @@ function update_script() {
 | 
			
		||||
    msg_info "Cleaning Up"
 | 
			
		||||
    rm -rf "$temp_file"
 | 
			
		||||
    msg_ok "Cleanup Completed"
 | 
			
		||||
 | 
			
		||||
    msg_ok "Update Successful"
 | 
			
		||||
    msg_ok "Updated Successfully!"
 | 
			
		||||
  else
 | 
			
		||||
    msg_ok "No update required. ${APP} is already at v${RELEASE}"
 | 
			
		||||
  fi
 | 
			
		||||
 
 | 
			
		||||
@@ -11,7 +11,7 @@ var_cpu="${var_cpu:-2}"
 | 
			
		||||
var_ram="${var_ram:-1024}"
 | 
			
		||||
var_disk="${var_disk:-4}"
 | 
			
		||||
var_os="${var_os:-debian}"
 | 
			
		||||
var_version="${var_version:-12}"
 | 
			
		||||
var_version="${var_version:-13}"
 | 
			
		||||
var_unprivileged="${var_unprivileged:-1}"
 | 
			
		||||
 | 
			
		||||
header_info "$APP"
 | 
			
		||||
@@ -20,18 +20,19 @@ color
 | 
			
		||||
catch_errors
 | 
			
		||||
 | 
			
		||||
function update_script() {
 | 
			
		||||
    header_info
 | 
			
		||||
    check_container_storage
 | 
			
		||||
    check_container_resources
 | 
			
		||||
    if [[ ! -d /var/lib/whisparr ]]; then
 | 
			
		||||
        msg_error "No ${APP} Installation Found!"
 | 
			
		||||
        exit
 | 
			
		||||
    fi
 | 
			
		||||
    msg_info "Updating $APP LXC"
 | 
			
		||||
    $STD apt-get update
 | 
			
		||||
    $STD apt-get -y upgrade
 | 
			
		||||
    msg_ok "Updated $APP LXC"
 | 
			
		||||
  header_info
 | 
			
		||||
  check_container_storage
 | 
			
		||||
  check_container_resources
 | 
			
		||||
  if [[ ! -d /var/lib/whisparr ]]; then
 | 
			
		||||
    msg_error "No ${APP} Installation Found!"
 | 
			
		||||
    exit
 | 
			
		||||
  fi
 | 
			
		||||
  msg_info "Updating Whisparr"
 | 
			
		||||
  $STD apt update
 | 
			
		||||
  $STD apt -y upgrade
 | 
			
		||||
  msg_ok "Updated Whisparr"
 | 
			
		||||
  msg_ok "Updated Successfully!"
 | 
			
		||||
  exit
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
start
 | 
			
		||||
@@ -41,4 +42,4 @@ description
 | 
			
		||||
msg_ok "Completed Successfully!\n"
 | 
			
		||||
echo -e "${CREATING}${GN}${APP} setup has been successfully initialized!${CL}"
 | 
			
		||||
echo -e "${INFO}${YW} Access it using the following URL:${CL}"
 | 
			
		||||
echo -e "${TAB}${GATEWAY}${BGN}http://${IP}:6969${CL}"
 | 
			
		||||
echo -e "${TAB}${GATEWAY}${BGN}http://${IP}:6969${CL}"
 | 
			
		||||
 
 | 
			
		||||
							
								
								
									
										19
									
								
								ct/wikijs.sh
									
									
									
									
									
								
							
							
						
						
									
										19
									
								
								ct/wikijs.sh
									
									
									
									
									
								
							@@ -11,7 +11,7 @@ var_cpu="${var_cpu:-2}"
 | 
			
		||||
var_ram="${var_ram:-2048}"
 | 
			
		||||
var_disk="${var_disk:-10}"
 | 
			
		||||
var_os="${var_os:-debian}"
 | 
			
		||||
var_version="${var_version:-12}"
 | 
			
		||||
var_version="${var_version:-13}"
 | 
			
		||||
var_unprivileged="${var_unprivileged:-1}"
 | 
			
		||||
 | 
			
		||||
header_info "$APP"
 | 
			
		||||
@@ -27,7 +27,9 @@ function update_script() {
 | 
			
		||||
    msg_error "No ${APP} Installation Found!"
 | 
			
		||||
    exit
 | 
			
		||||
  fi
 | 
			
		||||
  NODE_VERSION="22" NODE_MODULE="yarn@latest,node-gyp" setup_nodejs
 | 
			
		||||
 | 
			
		||||
  NODE_VERSION="22" NODE_MODULE="yarn,node-gyp" setup_nodejs
 | 
			
		||||
 | 
			
		||||
  if check_for_gh_release "wikijs" "requarks/wiki"; then
 | 
			
		||||
    msg_info "Verifying whether ${APP}' new release is v3.x+ and current install uses SQLite."
 | 
			
		||||
    SQLITE_INSTALL=$([ -f /opt/wikijs/db.sqlite ] && echo "true" || echo "false")
 | 
			
		||||
@@ -37,9 +39,9 @@ function update_script() {
 | 
			
		||||
    fi
 | 
			
		||||
    msg_ok "There is an update path available for ${APP}"
 | 
			
		||||
 | 
			
		||||
    msg_info "Stopping ${APP}"
 | 
			
		||||
    msg_info "Stopping Service"
 | 
			
		||||
    systemctl stop wikijs
 | 
			
		||||
    msg_ok "Stopped ${APP}"
 | 
			
		||||
    msg_ok "Stopped Service"
 | 
			
		||||
 | 
			
		||||
    msg_info "Backing up Data"
 | 
			
		||||
    mkdir /opt/wikijs-backup
 | 
			
		||||
@@ -47,22 +49,21 @@ function update_script() {
 | 
			
		||||
    cp -R /opt/wikijs/{config.yml,/data} /opt/wikijs-backup
 | 
			
		||||
    msg_ok "Backed up Data"
 | 
			
		||||
 | 
			
		||||
    rm -rf /opt/wikijs/*
 | 
			
		||||
    fetch_and_deploy_gh_release "wikijs" "requarks/wiki" "prebuild" "latest" "/opt/wikijs" "wiki-js.tar.gz"
 | 
			
		||||
    CLEAN_INSTALL=1 fetch_and_deploy_gh_release "wikijs" "requarks/wiki" "prebuild" "latest" "/opt/wikijs" "wiki-js.tar.gz"
 | 
			
		||||
 | 
			
		||||
    msg_info "Restoring Data"
 | 
			
		||||
    cp -R /opt/wikijs-backup/* /opt/wikijs
 | 
			
		||||
    $SQLITE_INSTALL && $STD npm rebuild sqlite3
 | 
			
		||||
    msg_ok "Restored Data"
 | 
			
		||||
 | 
			
		||||
    msg_info "Starting ${APP}"
 | 
			
		||||
    msg_info "Starting Service"
 | 
			
		||||
    systemctl start wikijs
 | 
			
		||||
    msg_ok "Started ${APP}"
 | 
			
		||||
    msg_ok "Started Service"
 | 
			
		||||
 | 
			
		||||
    msg_info "Cleaning Up"
 | 
			
		||||
    rm -rf /opt/wikijs-backup
 | 
			
		||||
    msg_ok "Cleanup Completed"
 | 
			
		||||
    msg_ok "Updated Successfully"
 | 
			
		||||
    msg_ok "Updated Successfully!"
 | 
			
		||||
  fi
 | 
			
		||||
  exit
 | 
			
		||||
}
 | 
			
		||||
 
 | 
			
		||||
@@ -11,7 +11,7 @@ var_cpu="${var_cpu:-1}"
 | 
			
		||||
var_ram="${var_ram:-512}"
 | 
			
		||||
var_disk="${var_disk:-4}"
 | 
			
		||||
var_os="${var_os:-debian}"
 | 
			
		||||
var_version="${var_version:-12}"
 | 
			
		||||
var_version="${var_version:-13}"
 | 
			
		||||
var_unprivileged="${var_unprivileged:-1}"
 | 
			
		||||
var_tun="${var_tun:-1}"
 | 
			
		||||
 | 
			
		||||
@@ -30,18 +30,19 @@ function update_script() {
 | 
			
		||||
  fi
 | 
			
		||||
  if ! dpkg -s git >/dev/null 2>&1; then
 | 
			
		||||
    msg_info "Installing git"
 | 
			
		||||
    $STD apt-get update
 | 
			
		||||
    $STD apt-get install -y git
 | 
			
		||||
    $STD apt update
 | 
			
		||||
    $STD apt install -y git
 | 
			
		||||
    msg_ok "Installed git"
 | 
			
		||||
  fi
 | 
			
		||||
  apt-get update
 | 
			
		||||
  apt-get -y upgrade
 | 
			
		||||
  apt update
 | 
			
		||||
  apt -y upgrade
 | 
			
		||||
  if [[ -d /etc/wgdashboard ]]; then
 | 
			
		||||
    sleep 2
 | 
			
		||||
    cd /etc/wgdashboard/src
 | 
			
		||||
    cd /etc/wgdashboard/src || exit
 | 
			
		||||
    ./wgd.sh update
 | 
			
		||||
    ./wgd.sh start
 | 
			
		||||
  fi
 | 
			
		||||
  msg_ok "Updated Successfully!"
 | 
			
		||||
  exit
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
 
 | 
			
		||||
							
								
								
									
										18
									
								
								ct/wizarr.sh
									
									
									
									
									
								
							
							
						
						
									
										18
									
								
								ct/wizarr.sh
									
									
									
									
									
								
							@@ -11,7 +11,7 @@ var_cpu="${var_cpu:-1}"
 | 
			
		||||
var_ram="${var_ram:-1024}"
 | 
			
		||||
var_disk="${var_disk:-4}"
 | 
			
		||||
var_os="${var_os:-debian}"
 | 
			
		||||
var_version="${var_version:-12}"
 | 
			
		||||
var_version="${var_version:-13}"
 | 
			
		||||
var_unprivileged="${var_unprivileged:-1}"
 | 
			
		||||
 | 
			
		||||
header_info "$APP"
 | 
			
		||||
@@ -32,9 +32,9 @@ function update_script() {
 | 
			
		||||
  setup_uv
 | 
			
		||||
 | 
			
		||||
  if check_for_gh_release "wizarr" "wizarrrr/wizarr"; then
 | 
			
		||||
    msg_info "Stopping $APP"
 | 
			
		||||
    msg_info "Stopping Service"
 | 
			
		||||
    systemctl stop wizarr
 | 
			
		||||
    msg_ok "Stopped $APP"
 | 
			
		||||
    msg_ok "Stopped Service"
 | 
			
		||||
 | 
			
		||||
    msg_info "Creating Backup"
 | 
			
		||||
    BACKUP_FILE="/opt/wizarr_backup_$(date +%F).tar.gz"
 | 
			
		||||
@@ -44,8 +44,8 @@ function update_script() {
 | 
			
		||||
 | 
			
		||||
    fetch_and_deploy_gh_release "wizarr" "wizarrrr/wizarr"
 | 
			
		||||
 | 
			
		||||
    msg_info "Updating $APP"
 | 
			
		||||
    cd /opt/wizarr
 | 
			
		||||
    msg_info "Updating Wizarr"
 | 
			
		||||
    cd /opt/wizarr || exit
 | 
			
		||||
    $STD /usr/local/bin/uv sync --frozen
 | 
			
		||||
    $STD /usr/local/bin/uv run --frozen pybabel compile -d app/translations
 | 
			
		||||
    $STD npm --prefix app/static install
 | 
			
		||||
@@ -56,16 +56,16 @@ function update_script() {
 | 
			
		||||
    if ! grep -q 'frozen' /opt/wizarr/start.sh; then
 | 
			
		||||
      sed -i 's/run/& --frozen/' /opt/wizarr/start.sh
 | 
			
		||||
    fi
 | 
			
		||||
    msg_ok "Updated $APP"
 | 
			
		||||
    msg_ok "Updated Wizarr"
 | 
			
		||||
 | 
			
		||||
    msg_info "Starting $APP"
 | 
			
		||||
    msg_info "Starting Service"
 | 
			
		||||
    systemctl start wizarr
 | 
			
		||||
    msg_ok "Started $APP"
 | 
			
		||||
    msg_ok "Started Service"
 | 
			
		||||
 | 
			
		||||
    msg_info "Cleaning Up"
 | 
			
		||||
    rm -rf "$BACKUP_FILE"
 | 
			
		||||
    msg_ok "Cleanup Completed"
 | 
			
		||||
    msg_ok "Updated Successfully"
 | 
			
		||||
    msg_ok "Updated Successfully!"
 | 
			
		||||
  fi
 | 
			
		||||
  exit
 | 
			
		||||
}
 | 
			
		||||
 
 | 
			
		||||
@@ -12,7 +12,7 @@ var_disk="${var_disk:-5}"
 | 
			
		||||
var_cpu="${var_cpu:-2}"
 | 
			
		||||
var_ram="${var_ram:-2048}"
 | 
			
		||||
var_os="${var_os:-debian}"
 | 
			
		||||
var_version="${var_version:-12}"
 | 
			
		||||
var_version="${var_version:-13}"
 | 
			
		||||
 | 
			
		||||
header_info "$APP"
 | 
			
		||||
variables
 | 
			
		||||
@@ -20,15 +20,15 @@ color
 | 
			
		||||
catch_errors
 | 
			
		||||
 | 
			
		||||
function update_script() {
 | 
			
		||||
    header_info
 | 
			
		||||
    check_container_storage
 | 
			
		||||
    check_container_resources
 | 
			
		||||
    if [[ ! -d /var/www/html/wordpress ]]; then
 | 
			
		||||
        msg_error "No ${APP} Installation Found!"
 | 
			
		||||
        exit
 | 
			
		||||
    fi
 | 
			
		||||
    msg_error "Wordpress should be updated via the user interface."
 | 
			
		||||
  header_info
 | 
			
		||||
  check_container_storage
 | 
			
		||||
  check_container_resources
 | 
			
		||||
  if [[ ! -d /var/www/html/wordpress ]]; then
 | 
			
		||||
    msg_error "No ${APP} Installation Found!"
 | 
			
		||||
    exit
 | 
			
		||||
  fi
 | 
			
		||||
  msg_error "Wordpress should be updated via the user interface."
 | 
			
		||||
  exit
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
start
 | 
			
		||||
@@ -38,4 +38,4 @@ description
 | 
			
		||||
msg_ok "Completed Successfully!\n"
 | 
			
		||||
echo -e "${CREATING}${GN} ${APP} setup has been successfully initialized!${CL}"
 | 
			
		||||
echo -e "${INFO}${YW} Access it using the following URL:${CL}"
 | 
			
		||||
echo -e "${TAB}${GATEWAY}${BGN}http://${IP}/${CL}"
 | 
			
		||||
echo -e "${TAB}${GATEWAY}${BGN}http://${IP}/${CL}"
 | 
			
		||||
 
 | 
			
		||||
@@ -11,7 +11,7 @@ var_cpu="${var_cpu:-2}"
 | 
			
		||||
var_ram="${var_ram:-1024}"
 | 
			
		||||
var_disk="${var_disk:-4}"
 | 
			
		||||
var_os="${var_os:-debian}"
 | 
			
		||||
var_version="${var_version:-12}"
 | 
			
		||||
var_version="${var_version:-13}"
 | 
			
		||||
var_unprivileged="${var_unprivileged:-1}"
 | 
			
		||||
 | 
			
		||||
header_info "$APP"
 | 
			
		||||
@@ -29,9 +29,9 @@ function update_script() {
 | 
			
		||||
  fi
 | 
			
		||||
 | 
			
		||||
  if check_for_gh_release "yt-dlp-webui" "marcopiovanello/yt-dlp-web-ui"; then
 | 
			
		||||
    msg_info "Stopping $APP"
 | 
			
		||||
    msg_info "Stopping Service"
 | 
			
		||||
    systemctl stop yt-dlp-webui
 | 
			
		||||
    msg_ok "Stopped $APP"
 | 
			
		||||
    msg_ok "Stopped Service"
 | 
			
		||||
 | 
			
		||||
    msg_info "Updating yt-dlp"
 | 
			
		||||
    $STD yt-dlp -U
 | 
			
		||||
@@ -40,9 +40,9 @@ function update_script() {
 | 
			
		||||
    rm -rf /usr/local/bin/yt-dlp-webui
 | 
			
		||||
    fetch_and_deploy_gh_release "yt-dlp-webui" "marcopiovanello/yt-dlp-web-ui" "singlefile" "latest" "/usr/local/bin" "yt-dlp-webui_linux-amd64"
 | 
			
		||||
 | 
			
		||||
    msg_info "Starting $APP"
 | 
			
		||||
    msg_info "Starting Service"
 | 
			
		||||
    systemctl start yt-dlp-webui
 | 
			
		||||
    msg_ok "Started $APP"
 | 
			
		||||
    msg_ok "Started Service"
 | 
			
		||||
    msg_ok "Updated Successfully"
 | 
			
		||||
  fi
 | 
			
		||||
  exit
 | 
			
		||||
 
 | 
			
		||||
							
								
								
									
										44
									
								
								ct/zammad.sh
									
									
									
									
									
								
							
							
						
						
									
										44
									
								
								ct/zammad.sh
									
									
									
									
									
								
							@@ -11,7 +11,7 @@ var_disk="${var_disk:-8}"
 | 
			
		||||
var_cpu="${var_cpu:-2}"
 | 
			
		||||
var_ram="${var_ram:-4096}"
 | 
			
		||||
var_os="${var_os:-debian}"
 | 
			
		||||
var_version="${var_version:-12}"
 | 
			
		||||
var_version="${var_version:-13}"
 | 
			
		||||
var_unprivileged="${var_unprivileged:-1}"
 | 
			
		||||
 | 
			
		||||
header_info "$APP"
 | 
			
		||||
@@ -20,25 +20,29 @@ color
 | 
			
		||||
catch_errors
 | 
			
		||||
 | 
			
		||||
function update_script() {
 | 
			
		||||
    header_info
 | 
			
		||||
    check_container_storage
 | 
			
		||||
    check_container_resources
 | 
			
		||||
    if [[ ! -d /opt/zammad ]]; then
 | 
			
		||||
        msg_error "No ${APP} Installation Found!"
 | 
			
		||||
        exit
 | 
			
		||||
    fi
 | 
			
		||||
    msg_info "Stopping Service"
 | 
			
		||||
    $STD systemctl stop zammad
 | 
			
		||||
    msg_info "Updating ${APP}"
 | 
			
		||||
    $STD apt-get update
 | 
			
		||||
    $STD apt-mark hold zammad
 | 
			
		||||
    $STD apt-get -y upgrade
 | 
			
		||||
    $STD apt-mark unhold zammad
 | 
			
		||||
    $STD apt-get -y upgrade
 | 
			
		||||
    msg_info "Starting Service"
 | 
			
		||||
    $STD systemctl start zammad
 | 
			
		||||
    msg_ok "Updated ${APP} LXC"
 | 
			
		||||
  header_info
 | 
			
		||||
  check_container_storage
 | 
			
		||||
  check_container_resources
 | 
			
		||||
  if [[ ! -d /opt/zammad ]]; then
 | 
			
		||||
    msg_error "No ${APP} Installation Found!"
 | 
			
		||||
    exit
 | 
			
		||||
  fi
 | 
			
		||||
  msg_info "Stopping Service"
 | 
			
		||||
  systemctl stop zammad
 | 
			
		||||
  msg_ok "Stopped Service"
 | 
			
		||||
 | 
			
		||||
  msg_info "Updating ${APP}"
 | 
			
		||||
  $STD apt update
 | 
			
		||||
  $STD apt-mark hold zammad
 | 
			
		||||
  $STD apt -y upgrade
 | 
			
		||||
  $STD apt-mark unhold zammad
 | 
			
		||||
  $STD apt -y upgrade
 | 
			
		||||
  msg_ok "Updated ${APP}"
 | 
			
		||||
 | 
			
		||||
  msg_info "Starting Service"
 | 
			
		||||
  systemctl start zammad
 | 
			
		||||
  msg_ok "Updated ${APP} LXC"
 | 
			
		||||
  exit
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
start
 | 
			
		||||
@@ -48,4 +52,4 @@ description
 | 
			
		||||
msg_ok "Completed Successfully!\n"
 | 
			
		||||
echo -e "${CREATING}${GN}${APP} setup has been successfully initialized!${CL}"
 | 
			
		||||
echo -e "${INFO}${YW} Access it using the following URL:${CL}"
 | 
			
		||||
echo -e "${TAB}${GATEWAY}${BGN}http://${IP}${CL}"
 | 
			
		||||
echo -e "${TAB}${GATEWAY}${BGN}http://${IP}${CL}"
 | 
			
		||||
 
 | 
			
		||||
@@ -11,7 +11,7 @@ var_cpu="${var_cpu:-1}"
 | 
			
		||||
var_ram="${var_ram:-512}"
 | 
			
		||||
var_disk="${var_disk:-4}"
 | 
			
		||||
var_os="${var_os:-debian}"
 | 
			
		||||
var_version="${var_version:-12}"
 | 
			
		||||
var_version="${var_version:-13}"
 | 
			
		||||
var_unprivileged="${var_unprivileged:-1}"
 | 
			
		||||
 | 
			
		||||
header_info "$APP"
 | 
			
		||||
@@ -20,26 +20,28 @@ color
 | 
			
		||||
catch_errors
 | 
			
		||||
 | 
			
		||||
function update_script() {
 | 
			
		||||
    header_info
 | 
			
		||||
    check_container_storage
 | 
			
		||||
    check_container_resources
 | 
			
		||||
  header_info
 | 
			
		||||
  check_container_storage
 | 
			
		||||
  check_container_resources
 | 
			
		||||
 | 
			
		||||
    if [[ ! -f /usr/sbin/zerotier-one ]]; then
 | 
			
		||||
        msg_error "No ${APP} Installation Found!"
 | 
			
		||||
        exit
 | 
			
		||||
    fi
 | 
			
		||||
    msg_info "Stopping Service"
 | 
			
		||||
    systemctl stop zerotier-one
 | 
			
		||||
    msg_ok "Stopping Service"
 | 
			
		||||
    msg_info "Updating ${APP}"
 | 
			
		||||
    $STD apt-get update
 | 
			
		||||
    apt-get -y upgrade
 | 
			
		||||
    msg_ok "Updated ${APP}"
 | 
			
		||||
 | 
			
		||||
    msg_info "Starting Service"
 | 
			
		||||
    systemctl start zerotier-one
 | 
			
		||||
    msg_ok "Started Service"
 | 
			
		||||
  if [[ ! -f /usr/sbin/zerotier-one ]]; then
 | 
			
		||||
    msg_error "No ${APP} Installation Found!"
 | 
			
		||||
    exit
 | 
			
		||||
  fi
 | 
			
		||||
 | 
			
		||||
  msg_info "Stopping Service"
 | 
			
		||||
  systemctl stop zerotier-one
 | 
			
		||||
  msg_ok "Stopping Service"
 | 
			
		||||
 | 
			
		||||
  msg_info "Updating ${APP}"
 | 
			
		||||
  $STD apt update
 | 
			
		||||
  $STD apt -y upgrade
 | 
			
		||||
  msg_ok "Updated ${APP}"
 | 
			
		||||
 | 
			
		||||
  msg_info "Starting Service"
 | 
			
		||||
  systemctl start zerotier-one
 | 
			
		||||
  msg_ok "Started Service"
 | 
			
		||||
  exit
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
start
 | 
			
		||||
@@ -49,4 +51,4 @@ description
 | 
			
		||||
msg_ok "Completed Successfully!\n"
 | 
			
		||||
echo -e "${CREATING}${GN}${APP} setup has been successfully initialized!${CL}"
 | 
			
		||||
echo -e "${INFO}${YW} Access it using the following IP:${CL}"
 | 
			
		||||
echo -e "${TAB}${GATEWAY}${BGN}https://${IP}:3443${CL}"
 | 
			
		||||
echo -e "${TAB}${GATEWAY}${BGN}https://${IP}:3443${CL}"
 | 
			
		||||
 
 | 
			
		||||
@@ -11,7 +11,7 @@ var_cpu="${var_cpu:-2}"
 | 
			
		||||
var_ram="${var_ram:-1024}"
 | 
			
		||||
var_disk="${var_disk:-5}"
 | 
			
		||||
var_os="${var_os:-debian}"
 | 
			
		||||
var_version="${var_version:-12}"
 | 
			
		||||
var_version="${var_version:-13}"
 | 
			
		||||
var_unprivileged="${var_unprivileged:-0}"
 | 
			
		||||
 | 
			
		||||
header_info "$APP"
 | 
			
		||||
@@ -30,7 +30,6 @@ function update_script() {
 | 
			
		||||
 | 
			
		||||
  if check_for_gh_release "Zigbee2MQTT" "Koenkk/zigbee2mqtt"; then
 | 
			
		||||
    NODE_VERSION=24 NODE_MODULE="pnpm@$(curl -fsSL https://raw.githubusercontent.com/Koenkk/zigbee2mqtt/master/package.json | jq -r '.packageManager | split("@")[1]')" setup_nodejs
 | 
			
		||||
 | 
			
		||||
    msg_info "Stopping Service"
 | 
			
		||||
    systemctl stop zigbee2mqtt
 | 
			
		||||
    msg_ok "Stopped Service"
 | 
			
		||||
 
 | 
			
		||||
@@ -11,7 +11,7 @@ var_cpu="${var_cpu:-2}"
 | 
			
		||||
var_ram="${var_ram:-2048}"
 | 
			
		||||
var_disk="${var_disk:-5}"
 | 
			
		||||
var_os="${var_os:-debian}"
 | 
			
		||||
var_version="${var_version:-12}"
 | 
			
		||||
var_version="${var_version:-13}"
 | 
			
		||||
var_unprivileged="${var_unprivileged:-1}"
 | 
			
		||||
 | 
			
		||||
header_info "$APP"
 | 
			
		||||
@@ -26,12 +26,8 @@ function update_script() {
 | 
			
		||||
    msg_error "No ${APP} Installation Found!"
 | 
			
		||||
    exit
 | 
			
		||||
  fi
 | 
			
		||||
  if ! command -v pnpm &>/dev/null; then
 | 
			
		||||
    msg_info "Installing pnpm"
 | 
			
		||||
    #export NODE_OPTIONS=--openssl-legacy-provider
 | 
			
		||||
    $STD npm install -g pnpm@latest
 | 
			
		||||
    msg_ok "Installed pnpm"
 | 
			
		||||
  fi
 | 
			
		||||
 | 
			
		||||
  NODE_VERSION="22" NODE_MODULE="pnpm" setup_nodejs
 | 
			
		||||
 | 
			
		||||
  if check_for_gh_release "zipline" "diced/zipline"; then
 | 
			
		||||
    msg_info "Stopping Service"
 | 
			
		||||
@@ -47,7 +43,7 @@ function update_script() {
 | 
			
		||||
    fetch_and_deploy_gh_release "zipline" "diced/zipline" "tarball"
 | 
			
		||||
 | 
			
		||||
    msg_info "Updating ${APP}"
 | 
			
		||||
    cd /opt/zipline
 | 
			
		||||
    cd /opt/zipline || exit
 | 
			
		||||
    mv /opt/.env /opt/zipline/.env
 | 
			
		||||
    $STD pnpm install
 | 
			
		||||
    $STD pnpm build
 | 
			
		||||
 
 | 
			
		||||
@@ -11,7 +11,7 @@ var_cpu="${var_cpu:-1}"
 | 
			
		||||
var_ram="${var_ram:-1024}"
 | 
			
		||||
var_disk="${var_disk:-8}"
 | 
			
		||||
var_os="${var_os:-debian}"
 | 
			
		||||
var_version="${var_version:-12}"
 | 
			
		||||
var_version="${var_version:-13}"
 | 
			
		||||
var_unprivileged="${var_unprivileged:-1}"
 | 
			
		||||
 | 
			
		||||
header_info "$APP"
 | 
			
		||||
 
 | 
			
		||||
@@ -11,7 +11,7 @@ var_cpu="${var_cpu:-2}"
 | 
			
		||||
var_ram="${var_ram:-2048}"
 | 
			
		||||
var_disk="${var_disk:-6}"
 | 
			
		||||
var_os="${var_os:-debian}"
 | 
			
		||||
var_version="${var_version:-12}"
 | 
			
		||||
var_version="${var_version:-13}"
 | 
			
		||||
var_unprivileged="${var_unprivileged:-1}"
 | 
			
		||||
 | 
			
		||||
header_info "$APP"
 | 
			
		||||
 
 | 
			
		||||
@@ -11,7 +11,7 @@ var_cpu="${var_cpu:-1}"
 | 
			
		||||
var_ram="${var_ram:-2048}"
 | 
			
		||||
var_disk="${var_disk:-5}"
 | 
			
		||||
var_os="${var_os:-debian}"
 | 
			
		||||
var_version="${var_version:-12}"
 | 
			
		||||
var_version="${var_version:-13}"
 | 
			
		||||
var_unprivileged="${var_unprivileged:-1}"
 | 
			
		||||
 | 
			
		||||
header_info "$APP"
 | 
			
		||||
 
 | 
			
		||||
@@ -11,7 +11,7 @@ var_cpu="${var_cpu:-2}"
 | 
			
		||||
var_ram="${var_ram:-1024}"
 | 
			
		||||
var_disk="${var_disk:-4}"
 | 
			
		||||
var_os="${var_os:-debian}"
 | 
			
		||||
var_version="${var_version:-12}"
 | 
			
		||||
var_version="${var_version:-13}"
 | 
			
		||||
var_unprivileged="${var_unprivileged:-0}"
 | 
			
		||||
 | 
			
		||||
header_info "$APP"
 | 
			
		||||
 
 | 
			
		||||
@@ -23,7 +23,7 @@
 | 
			
		||||
        "ram": 512,
 | 
			
		||||
        "hdd": 2,
 | 
			
		||||
        "os": "debian",
 | 
			
		||||
        "version": "12"
 | 
			
		||||
        "version": "13"
 | 
			
		||||
      }
 | 
			
		||||
    }
 | 
			
		||||
  ],
 | 
			
		||||
 
 | 
			
		||||
@@ -23,7 +23,7 @@
 | 
			
		||||
                "ram": 2048,
 | 
			
		||||
                "hdd": 4,
 | 
			
		||||
                "os": "debian",
 | 
			
		||||
                "version": "12"
 | 
			
		||||
                "version": "13"
 | 
			
		||||
            }
 | 
			
		||||
        }
 | 
			
		||||
    ],
 | 
			
		||||
 
 | 
			
		||||
@@ -23,7 +23,7 @@
 | 
			
		||||
        "ram": 2048,
 | 
			
		||||
        "hdd": 7,
 | 
			
		||||
        "os": "debian",
 | 
			
		||||
        "version": "12"
 | 
			
		||||
        "version": "13"
 | 
			
		||||
      }
 | 
			
		||||
    }
 | 
			
		||||
  ],
 | 
			
		||||
 
 | 
			
		||||
@@ -23,7 +23,7 @@
 | 
			
		||||
        "ram": 2048,
 | 
			
		||||
        "hdd": 4,
 | 
			
		||||
        "os": "debian",
 | 
			
		||||
        "version": "12"
 | 
			
		||||
        "version": "13"
 | 
			
		||||
      }
 | 
			
		||||
    }
 | 
			
		||||
  ],
 | 
			
		||||
 
 | 
			
		||||
@@ -23,7 +23,7 @@
 | 
			
		||||
        "ram": 1024,
 | 
			
		||||
        "hdd": 4,
 | 
			
		||||
        "os": "debian",
 | 
			
		||||
        "version": "12"
 | 
			
		||||
        "version": "13"
 | 
			
		||||
      }
 | 
			
		||||
    }
 | 
			
		||||
  ],
 | 
			
		||||
 
 | 
			
		||||
@@ -23,7 +23,7 @@
 | 
			
		||||
        "ram": 4096,
 | 
			
		||||
        "hdd": 8,
 | 
			
		||||
        "os": "debian",
 | 
			
		||||
        "version": "12"
 | 
			
		||||
        "version": "13"
 | 
			
		||||
      }
 | 
			
		||||
    }
 | 
			
		||||
  ],
 | 
			
		||||
 
 | 
			
		||||
@@ -23,7 +23,7 @@
 | 
			
		||||
        "ram": 1024,
 | 
			
		||||
        "hdd": 4,
 | 
			
		||||
        "os": "debian",
 | 
			
		||||
        "version": "12"
 | 
			
		||||
        "version": "13"
 | 
			
		||||
      }
 | 
			
		||||
    }
 | 
			
		||||
  ],
 | 
			
		||||
 
 | 
			
		||||
@@ -23,7 +23,7 @@
 | 
			
		||||
        "ram": 1024,
 | 
			
		||||
        "hdd": 4,
 | 
			
		||||
        "os": "debian",
 | 
			
		||||
        "version": "12"
 | 
			
		||||
        "version": "13"
 | 
			
		||||
      }
 | 
			
		||||
    }
 | 
			
		||||
  ],
 | 
			
		||||
 
 | 
			
		||||
@@ -23,7 +23,7 @@
 | 
			
		||||
        "ram": 1024,
 | 
			
		||||
        "hdd": 4,
 | 
			
		||||
        "os": "debian",
 | 
			
		||||
        "version": "12"
 | 
			
		||||
        "version": "13"
 | 
			
		||||
      }
 | 
			
		||||
    },
 | 
			
		||||
    {
 | 
			
		||||
 
 | 
			
		||||
@@ -20,7 +20,7 @@
 | 
			
		||||
      "script": "ct/overseerr.sh",
 | 
			
		||||
      "resources": {
 | 
			
		||||
        "cpu": 2,
 | 
			
		||||
        "ram": 2048,
 | 
			
		||||
        "ram": 4096,
 | 
			
		||||
        "hdd": 8,
 | 
			
		||||
        "os": "debian",
 | 
			
		||||
        "version": "12"
 | 
			
		||||
 
 | 
			
		||||
@@ -1,35 +0,0 @@
 | 
			
		||||
{
 | 
			
		||||
  "name": "Petio",
 | 
			
		||||
  "slug": "petio",
 | 
			
		||||
  "categories": [
 | 
			
		||||
    13
 | 
			
		||||
  ],
 | 
			
		||||
  "date_created": "2024-06-12",
 | 
			
		||||
  "type": "ct",
 | 
			
		||||
  "updateable": true,
 | 
			
		||||
  "privileged": false,
 | 
			
		||||
  "interface_port": 7777,
 | 
			
		||||
  "documentation": "https://docs.petio.tv/",
 | 
			
		||||
  "website": "https://petio.tv/",
 | 
			
		||||
  "logo": "https://cdn.jsdelivr.net/gh/selfhst/icons/webp/petio.webp",
 | 
			
		||||
  "config_path": "",
 | 
			
		||||
  "description": "Petio is a third party companion app available to Plex server owners to allow their users to request, review and discover content.",
 | 
			
		||||
  "install_methods": [
 | 
			
		||||
    {
 | 
			
		||||
      "type": "default",
 | 
			
		||||
      "script": "ct/petio.sh",
 | 
			
		||||
      "resources": {
 | 
			
		||||
        "cpu": 2,
 | 
			
		||||
        "ram": 1024,
 | 
			
		||||
        "hdd": 4,
 | 
			
		||||
        "os": "ubuntu",
 | 
			
		||||
        "version": "20.04"
 | 
			
		||||
      }
 | 
			
		||||
    }
 | 
			
		||||
  ],
 | 
			
		||||
  "default_credentials": {
 | 
			
		||||
    "username": null,
 | 
			
		||||
    "password": null
 | 
			
		||||
  },
 | 
			
		||||
  "notes": []
 | 
			
		||||
}
 | 
			
		||||
							
								
								
									
										44
									
								
								frontend/public/json/phpmyadmin.json
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										44
									
								
								frontend/public/json/phpmyadmin.json
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,44 @@
 | 
			
		||||
{
 | 
			
		||||
    "name": "PhpMyAdmin",
 | 
			
		||||
    "slug": "phpmyadmin",
 | 
			
		||||
    "categories": [
 | 
			
		||||
        8
 | 
			
		||||
    ],
 | 
			
		||||
    "date_created": "2025-10-01",
 | 
			
		||||
    "type": "addon",
 | 
			
		||||
    "updateable": true,
 | 
			
		||||
    "privileged": false,
 | 
			
		||||
    "interface_port": null,
 | 
			
		||||
    "documentation": "https://www.phpmyadmin.net/docs/",
 | 
			
		||||
    "config_path": "Debian/Ubuntu: /var/www/html/phpMyAdmin | Alpine: /usr/share/phpmyadmin",
 | 
			
		||||
    "website": "https://www.phpmyadmin.net/",
 | 
			
		||||
    "logo": "https://cdn.jsdelivr.net/gh/selfhst/icons/webp/phpmyadmin.webp",
 | 
			
		||||
    "description": "phpMyAdmin is a free software tool written in PHP, intended to handle the administration of MySQL over the Web. phpMyAdmin supports a wide range of operations on MySQL and MariaDB. Frequently used operations (managing databases, tables, columns, relations, indexes, users, permissions, etc) can be performed via the user interface, while you still have the ability to directly execute any SQL statement.",
 | 
			
		||||
    "install_methods": [
 | 
			
		||||
        {
 | 
			
		||||
            "type": "default",
 | 
			
		||||
            "script": "tools/addon/phpmyadmin.sh",
 | 
			
		||||
            "resources": {
 | 
			
		||||
                "cpu": null,
 | 
			
		||||
                "ram": null,
 | 
			
		||||
                "hdd": null,
 | 
			
		||||
                "os": null,
 | 
			
		||||
                "version": null
 | 
			
		||||
            }
 | 
			
		||||
        }
 | 
			
		||||
    ],
 | 
			
		||||
    "default_credentials": {
 | 
			
		||||
        "username": null,
 | 
			
		||||
        "password": null
 | 
			
		||||
    },
 | 
			
		||||
    "notes": [
 | 
			
		||||
        {
 | 
			
		||||
            "text": "Execute within an existing LXC Console",
 | 
			
		||||
            "type": "warning"
 | 
			
		||||
        },
 | 
			
		||||
		{
 | 
			
		||||
            "text": "To update or uninstall run bash call again",
 | 
			
		||||
            "type": "info"
 | 
			
		||||
        }
 | 
			
		||||
    ]
 | 
			
		||||
}
 | 
			
		||||
@@ -46,6 +46,10 @@
 | 
			
		||||
    {
 | 
			
		||||
      "text": "Set a password after installation for postgres user by running `echo \"ALTER USER postgres with encrypted password 'your_password';\" | sudo -u postgres psql`",
 | 
			
		||||
      "type": "info"
 | 
			
		||||
    },
 | 
			
		||||
    {
 | 
			
		||||
      "text": "Debian script offers versions `15, 16, 17, 18`, while Alpine script offers versions `15, 16, 17`.",
 | 
			
		||||
      "type": "info"
 | 
			
		||||
    }
 | 
			
		||||
  ]
 | 
			
		||||
}
 | 
			
		||||
 
 | 
			
		||||
							
								
								
									
										35
									
								
								frontend/public/json/pve-scripts-local.json
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										35
									
								
								frontend/public/json/pve-scripts-local.json
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,35 @@
 | 
			
		||||
{
 | 
			
		||||
  "name": "PVEScriptsLocal",
 | 
			
		||||
  "slug": "pve-scripts-local",
 | 
			
		||||
  "categories": [
 | 
			
		||||
    1
 | 
			
		||||
  ],
 | 
			
		||||
  "date_created": "2025-10-03",
 | 
			
		||||
  "type": "ct",
 | 
			
		||||
  "updateable": true,
 | 
			
		||||
  "privileged": false,
 | 
			
		||||
  "interface_port": 3000,
 | 
			
		||||
  "documentation": "https://github.com/community-scripts/ProxmoxVE-Local",
 | 
			
		||||
  "config_path": "/opt/PVEScripts-Local/.env",
 | 
			
		||||
  "website": "https://community-scripts.github.io/ProxmoxVE",
 | 
			
		||||
  "logo": "https://raw.githubusercontent.com/community-scripts/ProxmoxVE-Local/refs/heads/main/.github/logo.png",
 | 
			
		||||
  "description": "A modern web-based management interface for Proxmox VE (PVE) helper scripts. This tool provides a user-friendly way to discover, download, and execute community-sourced Proxmox scripts locally with real-time terminal output streaming.",
 | 
			
		||||
  "install_methods": [
 | 
			
		||||
    {
 | 
			
		||||
      "type": "default",
 | 
			
		||||
      "script": "ct/pve-scripts-local.sh",
 | 
			
		||||
      "resources": {
 | 
			
		||||
        "cpu": 2,
 | 
			
		||||
        "ram": 4096,
 | 
			
		||||
        "hdd": 4,
 | 
			
		||||
        "os": "Debian",
 | 
			
		||||
        "version": "13"
 | 
			
		||||
      }
 | 
			
		||||
    }
 | 
			
		||||
  ],
 | 
			
		||||
  "default_credentials": {
 | 
			
		||||
    "username": null,
 | 
			
		||||
    "password": null
 | 
			
		||||
  },
 | 
			
		||||
  "notes": []
 | 
			
		||||
}
 | 
			
		||||
@@ -23,7 +23,7 @@
 | 
			
		||||
        "ram": 6144,
 | 
			
		||||
        "hdd": 20,
 | 
			
		||||
        "os": "debian",
 | 
			
		||||
        "version": "12"
 | 
			
		||||
        "version": "13"
 | 
			
		||||
      }
 | 
			
		||||
    },
 | 
			
		||||
    {
 | 
			
		||||
 
 | 
			
		||||
										
											
												File diff suppressed because it is too large
												Load Diff
											
										
									
								
							@@ -23,7 +23,7 @@
 | 
			
		||||
        "ram": 2048,
 | 
			
		||||
        "hdd": 16,
 | 
			
		||||
        "os": "debian",
 | 
			
		||||
        "version": "12"
 | 
			
		||||
        "version": "13"
 | 
			
		||||
      }
 | 
			
		||||
    }
 | 
			
		||||
  ],
 | 
			
		||||
 
 | 
			
		||||
@@ -23,7 +23,7 @@
 | 
			
		||||
        "ram": 1024,
 | 
			
		||||
        "hdd": 4,
 | 
			
		||||
        "os": "debian",
 | 
			
		||||
        "version": "12"
 | 
			
		||||
        "version": "13"
 | 
			
		||||
      }
 | 
			
		||||
    }
 | 
			
		||||
  ],
 | 
			
		||||
 
 | 
			
		||||
@@ -23,7 +23,7 @@
 | 
			
		||||
        "ram": 1024,
 | 
			
		||||
        "hdd": 5,
 | 
			
		||||
        "os": "debian",
 | 
			
		||||
        "version": "12"
 | 
			
		||||
        "version": "13"
 | 
			
		||||
      }
 | 
			
		||||
    }
 | 
			
		||||
  ],
 | 
			
		||||
 
 | 
			
		||||
@@ -23,7 +23,7 @@
 | 
			
		||||
        "ram": 1024,
 | 
			
		||||
        "hdd": 4,
 | 
			
		||||
        "os": "debian",
 | 
			
		||||
        "version": "12"
 | 
			
		||||
        "version": "13"
 | 
			
		||||
      }
 | 
			
		||||
    }
 | 
			
		||||
  ],
 | 
			
		||||
 
 | 
			
		||||
@@ -1,35 +1,35 @@
 | 
			
		||||
{
 | 
			
		||||
    "name": "Watcharr",
 | 
			
		||||
    "slug": "watcharr",
 | 
			
		||||
    "categories": [
 | 
			
		||||
        13
 | 
			
		||||
    ],
 | 
			
		||||
    "date_created": "2025-02-12",
 | 
			
		||||
    "type": "ct",
 | 
			
		||||
    "updateable": true,
 | 
			
		||||
    "privileged": false,
 | 
			
		||||
    "interface_port": 3080,
 | 
			
		||||
    "documentation": "https://watcharr.app/docs/introduction",
 | 
			
		||||
    "website": "https://watcharr.app/",
 | 
			
		||||
    "logo": "https://cdn.jsdelivr.net/gh/selfhst/icons/webp/watcharr.webp",
 | 
			
		||||
    "config_path": "",
 | 
			
		||||
    "description": "Open source, self-hostable watched list for all your content with user authentication, modern and clean UI and a very simple setup.",
 | 
			
		||||
    "install_methods": [
 | 
			
		||||
        {
 | 
			
		||||
            "type": "default",
 | 
			
		||||
            "script": "ct/watcharr.sh",
 | 
			
		||||
            "resources": {
 | 
			
		||||
                "cpu": 1,
 | 
			
		||||
                "ram": 1024,
 | 
			
		||||
                "hdd": 4,
 | 
			
		||||
                "os": "debian",
 | 
			
		||||
                "version": "12"
 | 
			
		||||
            }
 | 
			
		||||
        }
 | 
			
		||||
    ],
 | 
			
		||||
    "default_credentials": {
 | 
			
		||||
        "username": null,
 | 
			
		||||
        "password": null
 | 
			
		||||
    },
 | 
			
		||||
    "notes": []
 | 
			
		||||
  "name": "Watcharr",
 | 
			
		||||
  "slug": "watcharr",
 | 
			
		||||
  "categories": [
 | 
			
		||||
    13
 | 
			
		||||
  ],
 | 
			
		||||
  "date_created": "2025-02-12",
 | 
			
		||||
  "type": "ct",
 | 
			
		||||
  "updateable": true,
 | 
			
		||||
  "privileged": false,
 | 
			
		||||
  "interface_port": 3080,
 | 
			
		||||
  "documentation": "https://watcharr.app/docs/introduction",
 | 
			
		||||
  "website": "https://watcharr.app/",
 | 
			
		||||
  "logo": "https://cdn.jsdelivr.net/gh/selfhst/icons/webp/watcharr.webp",
 | 
			
		||||
  "config_path": "",
 | 
			
		||||
  "description": "Open source, self-hostable watched list for all your content with user authentication, modern and clean UI and a very simple setup.",
 | 
			
		||||
  "install_methods": [
 | 
			
		||||
    {
 | 
			
		||||
      "type": "default",
 | 
			
		||||
      "script": "ct/watcharr.sh",
 | 
			
		||||
      "resources": {
 | 
			
		||||
        "cpu": 1,
 | 
			
		||||
        "ram": 1024,
 | 
			
		||||
        "hdd": 4,
 | 
			
		||||
        "os": "debian",
 | 
			
		||||
        "version": "13"
 | 
			
		||||
      }
 | 
			
		||||
    }
 | 
			
		||||
  ],
 | 
			
		||||
  "default_credentials": {
 | 
			
		||||
    "username": null,
 | 
			
		||||
    "password": null
 | 
			
		||||
  },
 | 
			
		||||
  "notes": []
 | 
			
		||||
}
 | 
			
		||||
 
 | 
			
		||||
@@ -23,7 +23,7 @@
 | 
			
		||||
        "ram": 512,
 | 
			
		||||
        "hdd": 2,
 | 
			
		||||
        "os": "debian",
 | 
			
		||||
        "version": "12"
 | 
			
		||||
        "version": "13"
 | 
			
		||||
      }
 | 
			
		||||
    }
 | 
			
		||||
  ],
 | 
			
		||||
 
 | 
			
		||||
@@ -23,7 +23,7 @@
 | 
			
		||||
        "ram": 512,
 | 
			
		||||
        "hdd": 2,
 | 
			
		||||
        "os": "debian",
 | 
			
		||||
        "version": "12"
 | 
			
		||||
        "version": "13"
 | 
			
		||||
      }
 | 
			
		||||
    }
 | 
			
		||||
  ],
 | 
			
		||||
 
 | 
			
		||||
@@ -23,7 +23,7 @@
 | 
			
		||||
        "ram": 2048,
 | 
			
		||||
        "hdd": 12,
 | 
			
		||||
        "os": "debian",
 | 
			
		||||
        "version": "12"
 | 
			
		||||
        "version": "13"
 | 
			
		||||
      }
 | 
			
		||||
    }
 | 
			
		||||
  ],
 | 
			
		||||
 
 | 
			
		||||
@@ -23,7 +23,7 @@
 | 
			
		||||
        "ram": 1024,
 | 
			
		||||
        "hdd": 6,
 | 
			
		||||
        "os": "debian",
 | 
			
		||||
        "version": "12"
 | 
			
		||||
        "version": "13"
 | 
			
		||||
      }
 | 
			
		||||
    }
 | 
			
		||||
  ],
 | 
			
		||||
 
 | 
			
		||||
@@ -23,7 +23,7 @@
 | 
			
		||||
        "ram": 1024,
 | 
			
		||||
        "hdd": 4,
 | 
			
		||||
        "os": "debian",
 | 
			
		||||
        "version": "12"
 | 
			
		||||
        "version": "13"
 | 
			
		||||
      }
 | 
			
		||||
    }
 | 
			
		||||
  ],
 | 
			
		||||
 
 | 
			
		||||
@@ -23,7 +23,7 @@
 | 
			
		||||
        "ram": 2048,
 | 
			
		||||
        "hdd": 7,
 | 
			
		||||
        "os": "debian",
 | 
			
		||||
        "version": "12"
 | 
			
		||||
        "version": "13"
 | 
			
		||||
      }
 | 
			
		||||
    }
 | 
			
		||||
  ],
 | 
			
		||||
 
 | 
			
		||||
@@ -23,7 +23,7 @@
 | 
			
		||||
        "ram": 512,
 | 
			
		||||
        "hdd": 4,
 | 
			
		||||
        "os": "debian",
 | 
			
		||||
        "version": "12"
 | 
			
		||||
        "version": "13"
 | 
			
		||||
      }
 | 
			
		||||
    },
 | 
			
		||||
    {
 | 
			
		||||
 
 | 
			
		||||
@@ -24,7 +24,7 @@
 | 
			
		||||
        "ram": 1024,
 | 
			
		||||
        "hdd": 4,
 | 
			
		||||
        "os": "debian",
 | 
			
		||||
        "version": "12"
 | 
			
		||||
        "version": "13"
 | 
			
		||||
      }
 | 
			
		||||
    }
 | 
			
		||||
  ],
 | 
			
		||||
 
 | 
			
		||||
@@ -23,7 +23,7 @@
 | 
			
		||||
        "ram": 2048,
 | 
			
		||||
        "hdd": 5,
 | 
			
		||||
        "os": "debian",
 | 
			
		||||
        "version": "12"
 | 
			
		||||
        "version": "13"
 | 
			
		||||
      }
 | 
			
		||||
    }
 | 
			
		||||
  ],
 | 
			
		||||
 
 | 
			
		||||
@@ -23,7 +23,7 @@
 | 
			
		||||
        "ram": 1024,
 | 
			
		||||
        "hdd": 4,
 | 
			
		||||
        "os": "Debian",
 | 
			
		||||
        "version": "12"
 | 
			
		||||
        "version": "13"
 | 
			
		||||
      }
 | 
			
		||||
    }
 | 
			
		||||
  ],
 | 
			
		||||
 
 | 
			
		||||
@@ -23,7 +23,7 @@
 | 
			
		||||
        "ram": 4096,
 | 
			
		||||
        "hdd": 8,
 | 
			
		||||
        "os": "debian",
 | 
			
		||||
        "version": "12"
 | 
			
		||||
        "version": "13"
 | 
			
		||||
      }
 | 
			
		||||
    }
 | 
			
		||||
  ],
 | 
			
		||||
 
 | 
			
		||||
@@ -1,35 +1,35 @@
 | 
			
		||||
{
 | 
			
		||||
    "name": "Zerotier-One",
 | 
			
		||||
    "slug": "zerotier-one",
 | 
			
		||||
    "categories": [
 | 
			
		||||
        4
 | 
			
		||||
    ],
 | 
			
		||||
    "date_created": "2024-05-02",
 | 
			
		||||
    "type": "ct",
 | 
			
		||||
    "updateable": true,
 | 
			
		||||
    "privileged": false,
 | 
			
		||||
    "interface_port": 3443,
 | 
			
		||||
    "documentation": "https://docs.zerotier.com/",
 | 
			
		||||
    "website": "https://www.zerotier.com/",
 | 
			
		||||
    "logo": "https://cdn.jsdelivr.net/gh/selfhst/icons/webp/zerotier.webp",
 | 
			
		||||
    "config_path": "/opt/key-networks/ztncui/.env",
 | 
			
		||||
    "description": "ZeroTier is a secure network overlay that allows you to manage all of your network resources as if they were on the same LAN. The software-defined solution can be deployed in minutes from anywhere. No matter how many devices you need to connect, or where they are in the world, ZeroTier makes global networking simple.",
 | 
			
		||||
    "install_methods": [
 | 
			
		||||
        {
 | 
			
		||||
            "type": "default",
 | 
			
		||||
            "script": "ct/zerotier-one.sh",
 | 
			
		||||
            "resources": {
 | 
			
		||||
                "cpu": 1,
 | 
			
		||||
                "ram": 512,
 | 
			
		||||
                "hdd": 4,
 | 
			
		||||
                "os": "debian",
 | 
			
		||||
                "version": "12"
 | 
			
		||||
            }
 | 
			
		||||
        }
 | 
			
		||||
    ],
 | 
			
		||||
    "default_credentials": {
 | 
			
		||||
        "username": "admin",
 | 
			
		||||
        "password": "password"
 | 
			
		||||
    },
 | 
			
		||||
    "notes": []
 | 
			
		||||
  "name": "Zerotier-One",
 | 
			
		||||
  "slug": "zerotier-one",
 | 
			
		||||
  "categories": [
 | 
			
		||||
    4
 | 
			
		||||
  ],
 | 
			
		||||
  "date_created": "2024-05-02",
 | 
			
		||||
  "type": "ct",
 | 
			
		||||
  "updateable": true,
 | 
			
		||||
  "privileged": false,
 | 
			
		||||
  "interface_port": 3443,
 | 
			
		||||
  "documentation": "https://docs.zerotier.com/",
 | 
			
		||||
  "website": "https://www.zerotier.com/",
 | 
			
		||||
  "logo": "https://cdn.jsdelivr.net/gh/selfhst/icons/webp/zerotier.webp",
 | 
			
		||||
  "config_path": "/opt/key-networks/ztncui/.env",
 | 
			
		||||
  "description": "ZeroTier is a secure network overlay that allows you to manage all of your network resources as if they were on the same LAN. The software-defined solution can be deployed in minutes from anywhere. No matter how many devices you need to connect, or where they are in the world, ZeroTier makes global networking simple.",
 | 
			
		||||
  "install_methods": [
 | 
			
		||||
    {
 | 
			
		||||
      "type": "default",
 | 
			
		||||
      "script": "ct/zerotier-one.sh",
 | 
			
		||||
      "resources": {
 | 
			
		||||
        "cpu": 1,
 | 
			
		||||
        "ram": 512,
 | 
			
		||||
        "hdd": 4,
 | 
			
		||||
        "os": "debian",
 | 
			
		||||
        "version": "13"
 | 
			
		||||
      }
 | 
			
		||||
    }
 | 
			
		||||
  ],
 | 
			
		||||
  "default_credentials": {
 | 
			
		||||
    "username": "admin",
 | 
			
		||||
    "password": "password"
 | 
			
		||||
  },
 | 
			
		||||
  "notes": []
 | 
			
		||||
}
 | 
			
		||||
 
 | 
			
		||||
@@ -12,7 +12,7 @@
 | 
			
		||||
  "documentation": "https://www.zigbee2mqtt.io/guide/getting-started/",
 | 
			
		||||
  "website": "https://www.zigbee2mqtt.io/",
 | 
			
		||||
  "logo": "https://cdn.jsdelivr.net/gh/selfhst/icons/webp/zigbee2mqtt.webp",
 | 
			
		||||
  "config_path": "/opt/zigbee2mqtt/data/configuration.yaml",
 | 
			
		||||
  "config_path": "debian: /opt/zigbee2mqtt/data/configuration.yaml | alpine: /var/lib/zigbee2mqtt/configuration.yaml",
 | 
			
		||||
  "description": "Zigbee2MQTT is an open-source software project that allows you to use Zigbee-based smart home devices (such as those sold under the Philips Hue and Ikea Tradfri brands) with MQTT-based home automation systems, like Home Assistant, Node-RED, and others. The software acts as a bridge between your Zigbee devices and MQTT, allowing you to control and monitor these devices from your home automation system.",
 | 
			
		||||
  "install_methods": [
 | 
			
		||||
    {
 | 
			
		||||
@@ -23,7 +23,7 @@
 | 
			
		||||
        "ram": 1024,
 | 
			
		||||
        "hdd": 5,
 | 
			
		||||
        "os": "debian",
 | 
			
		||||
        "version": "12"
 | 
			
		||||
        "version": "13"
 | 
			
		||||
      }
 | 
			
		||||
    },
 | 
			
		||||
    {
 | 
			
		||||
 
 | 
			
		||||
@@ -23,7 +23,7 @@
 | 
			
		||||
        "ram": 2048,
 | 
			
		||||
        "hdd": 5,
 | 
			
		||||
        "os": "debian",
 | 
			
		||||
        "version": "12"
 | 
			
		||||
        "version": "13"
 | 
			
		||||
      }
 | 
			
		||||
    }
 | 
			
		||||
  ],
 | 
			
		||||
 
 | 
			
		||||
@@ -23,7 +23,7 @@
 | 
			
		||||
        "ram": 1024,
 | 
			
		||||
        "hdd": 8,
 | 
			
		||||
        "os": "debian",
 | 
			
		||||
        "version": "12"
 | 
			
		||||
        "version": "13"
 | 
			
		||||
      }
 | 
			
		||||
    }
 | 
			
		||||
  ],
 | 
			
		||||
 
 | 
			
		||||
@@ -23,7 +23,7 @@
 | 
			
		||||
        "ram": 2048,
 | 
			
		||||
        "hdd": 6,
 | 
			
		||||
        "os": "debian",
 | 
			
		||||
        "version": "12"
 | 
			
		||||
        "version": "13"
 | 
			
		||||
      }
 | 
			
		||||
    }
 | 
			
		||||
  ],
 | 
			
		||||
 
 | 
			
		||||
@@ -23,7 +23,7 @@
 | 
			
		||||
        "ram": 2048,
 | 
			
		||||
        "hdd": 5,
 | 
			
		||||
        "os": "Debian",
 | 
			
		||||
        "version": "12"
 | 
			
		||||
        "version": "13"
 | 
			
		||||
      }
 | 
			
		||||
    }
 | 
			
		||||
  ],
 | 
			
		||||
 
 | 
			
		||||
@@ -23,7 +23,7 @@
 | 
			
		||||
        "ram": 1024,
 | 
			
		||||
        "hdd": 4,
 | 
			
		||||
        "os": "debian",
 | 
			
		||||
        "version": "12"
 | 
			
		||||
        "version": "13"
 | 
			
		||||
      }
 | 
			
		||||
    }
 | 
			
		||||
  ],
 | 
			
		||||
 
 | 
			
		||||
@@ -42,7 +42,7 @@ function Navbar() {
 | 
			
		||||
            <Image height={18} unoptimized width={18} alt="logo" src="/ProxmoxVE/logo.png" className="" />
 | 
			
		||||
            <span className="">Proxmox VE Helper-Scripts</span>
 | 
			
		||||
          </Link>
 | 
			
		||||
          <div className="flex items-center justify-between gap-2 w-full">
 | 
			
		||||
          <div className="flex items-center justify-between sm:justify-end gap-2 w-full">
 | 
			
		||||
            <div className="flex sm:hidden">
 | 
			
		||||
              <Suspense>
 | 
			
		||||
                <MobileSidebar />
 | 
			
		||||
 
 | 
			
		||||
@@ -14,9 +14,9 @@ network_check
 | 
			
		||||
update_os
 | 
			
		||||
 | 
			
		||||
msg_info "Installing Dependencies"
 | 
			
		||||
$STD apt-get install -y \
 | 
			
		||||
  lsb-release \
 | 
			
		||||
  nginx
 | 
			
		||||
$STD apt install -y \
 | 
			
		||||
        lsb-release \
 | 
			
		||||
        nginx
 | 
			
		||||
msg_ok "Installed Dependencies"
 | 
			
		||||
 | 
			
		||||
PHP_VERSION="8.3" PHP_MODULE="common,ctype,fileinfo,mysql,cli" PHP_FPM="YES" setup_php
 | 
			
		||||
@@ -31,26 +31,26 @@ $STD mariadb -u root -e "CREATE DATABASE $DB_NAME;"
 | 
			
		||||
$STD mariadb -u root -e "CREATE USER '$DB_USER'@'localhost' IDENTIFIED BY '$DB_PASS';"
 | 
			
		||||
$STD mariadb -u root -e "GRANT ALL ON $DB_NAME.* TO '$DB_USER'@'localhost'; FLUSH PRIVILEGES;"
 | 
			
		||||
{
 | 
			
		||||
  echo "2FAuth Credentials"
 | 
			
		||||
  echo "Database User: $DB_USER"
 | 
			
		||||
  echo "Database Password: $DB_PASS"
 | 
			
		||||
  echo "Database Name: $DB_NAME"
 | 
			
		||||
        echo "2FAuth Credentials"
 | 
			
		||||
        echo "Database User: $DB_USER"
 | 
			
		||||
        echo "Database Password: $DB_PASS"
 | 
			
		||||
        echo "Database Name: $DB_NAME"
 | 
			
		||||
} >>~/2FAuth.creds
 | 
			
		||||
msg_ok "Set up Database"
 | 
			
		||||
 | 
			
		||||
fetch_and_deploy_gh_release "2fauth" "Bubka/2FAuth"
 | 
			
		||||
 | 
			
		||||
msg_info "Setup 2FAuth"
 | 
			
		||||
cd /opt/2fauth
 | 
			
		||||
cd /opt/2fauth || exit
 | 
			
		||||
cp .env.example .env
 | 
			
		||||
IPADDRESS=$(hostname -I | awk '{print $1}')
 | 
			
		||||
sed -i -e "s|^APP_URL=.*|APP_URL=http://$IPADDRESS|" \
 | 
			
		||||
  -e "s|^DB_CONNECTION=$|DB_CONNECTION=mysql|" \
 | 
			
		||||
  -e "s|^DB_DATABASE=$|DB_DATABASE=$DB_NAME|" \
 | 
			
		||||
  -e "s|^DB_HOST=$|DB_HOST=127.0.0.1|" \
 | 
			
		||||
  -e "s|^DB_PORT=$|DB_PORT=3306|" \
 | 
			
		||||
  -e "s|^DB_USERNAME=$|DB_USERNAME=$DB_USER|" \
 | 
			
		||||
  -e "s|^DB_PASSWORD=$|DB_PASSWORD=$DB_PASS|" .env
 | 
			
		||||
        -e "s|^DB_CONNECTION=$|DB_CONNECTION=mysql|" \
 | 
			
		||||
        -e "s|^DB_DATABASE=$|DB_DATABASE=$DB_NAME|" \
 | 
			
		||||
        -e "s|^DB_HOST=$|DB_HOST=127.0.0.1|" \
 | 
			
		||||
        -e "s|^DB_PORT=$|DB_PORT=3306|" \
 | 
			
		||||
        -e "s|^DB_USERNAME=$|DB_USERNAME=$DB_USER|" \
 | 
			
		||||
        -e "s|^DB_PASSWORD=$|DB_PASSWORD=$DB_PASS|" .env
 | 
			
		||||
export COMPOSER_ALLOW_SUPERUSER=1
 | 
			
		||||
$STD composer update --no-plugins --no-scripts
 | 
			
		||||
$STD composer install --no-dev --prefer-source --no-plugins --no-scripts
 | 
			
		||||
@@ -99,6 +99,7 @@ motd_ssh
 | 
			
		||||
customize
 | 
			
		||||
 | 
			
		||||
msg_info "Cleaning up"
 | 
			
		||||
$STD apt-get -y autoremove
 | 
			
		||||
$STD apt-get -y autoclean
 | 
			
		||||
$STD apt -y autoremove
 | 
			
		||||
$STD apt -y autoclean
 | 
			
		||||
$STD apt -y clean
 | 
			
		||||
msg_ok "Cleaned"
 | 
			
		||||
 
 | 
			
		||||
@@ -14,7 +14,7 @@ network_check
 | 
			
		||||
update_os
 | 
			
		||||
 | 
			
		||||
msg_info "Installing Dependencies"
 | 
			
		||||
$STD apt-get install -y \
 | 
			
		||||
$STD apt install -y \
 | 
			
		||||
  make \
 | 
			
		||||
  g++
 | 
			
		||||
msg_ok "Installed Dependencies"
 | 
			
		||||
@@ -22,8 +22,7 @@ msg_ok "Installed Dependencies"
 | 
			
		||||
msg_info "Installing Actual Budget"
 | 
			
		||||
cd /opt
 | 
			
		||||
RELEASE=$(curl -fsSL https://api.github.com/repos/actualbudget/actual/releases/latest | grep "tag_name" | awk '{print substr($2, 3, length($2)-4) }')
 | 
			
		||||
NODE_VERSION="22"
 | 
			
		||||
setup_nodejs
 | 
			
		||||
NODE_VERSION="22" setup_nodejs
 | 
			
		||||
mkdir -p /opt/actualbudget-data/{server-files,upload,migrate,user-files,migrations,config}
 | 
			
		||||
chown -R root:root /opt/actualbudget-data
 | 
			
		||||
chmod -R 755 /opt/actualbudget-data
 | 
			
		||||
@@ -50,7 +49,7 @@ cat <<EOF >/opt/actualbudget-data/config.json
 | 
			
		||||
EOF
 | 
			
		||||
 | 
			
		||||
mkdir -p /opt/actualbudget
 | 
			
		||||
cd /opt/actualbudget
 | 
			
		||||
cd /opt/actualbudget || exit
 | 
			
		||||
$STD npm install --location=global @actual-app/sync-server
 | 
			
		||||
$STD openssl req -x509 -nodes -days 365 -newkey rsa:2048 -keyout selfhost.key -out selfhost.crt <<EOF
 | 
			
		||||
US
 | 
			
		||||
@@ -92,6 +91,7 @@ motd_ssh
 | 
			
		||||
customize
 | 
			
		||||
 | 
			
		||||
msg_info "Cleaning up"
 | 
			
		||||
$STD apt-get -y autoremove
 | 
			
		||||
$STD apt-get -y autoclean
 | 
			
		||||
$STD apt -y autoremove
 | 
			
		||||
$STD apt -y autoclean
 | 
			
		||||
$STD apt -y clean
 | 
			
		||||
msg_ok "Cleaned"
 | 
			
		||||
 
 | 
			
		||||
@@ -14,7 +14,7 @@ network_check
 | 
			
		||||
update_os
 | 
			
		||||
 | 
			
		||||
msg_info "Installing Dependencies"
 | 
			
		||||
$STD apt-get install -y \
 | 
			
		||||
$STD apt install -y \
 | 
			
		||||
  gdal-bin \
 | 
			
		||||
  libgdal-dev \
 | 
			
		||||
  git \
 | 
			
		||||
@@ -22,9 +22,9 @@ $STD apt-get install -y \
 | 
			
		||||
  libmemcached-tools
 | 
			
		||||
msg_ok "Installed Dependencies"
 | 
			
		||||
 | 
			
		||||
PYTHON_VERSION="3.12" setup_uv
 | 
			
		||||
PYTHON_VERSION="3.13" setup_uv
 | 
			
		||||
NODE_VERSION="22" NODE_MODULE="pnpm@latest" setup_nodejs
 | 
			
		||||
PG_VERSION="16" PG_MODULES="postgis" setup_postgresql
 | 
			
		||||
PG_VERSION="17" PG_MODULES="postgis" setup_postgresql
 | 
			
		||||
 | 
			
		||||
msg_info "Set up PostgreSQL Database"
 | 
			
		||||
DB_NAME="adventurelog_db"
 | 
			
		||||
@@ -74,7 +74,7 @@ DISABLE_REGISTRATION=False
 | 
			
		||||
# EMAIL_HOST_PASSWORD='password'
 | 
			
		||||
# DEFAULT_FROM_EMAIL='user@example.com'
 | 
			
		||||
EOF
 | 
			
		||||
cd /opt/adventurelog/backend/server
 | 
			
		||||
cd /opt/adventurelog/backend/server || exit
 | 
			
		||||
mkdir -p /opt/adventurelog/backend/server/media
 | 
			
		||||
$STD uv venv /opt/adventurelog/backend/server/.venv
 | 
			
		||||
$STD /opt/adventurelog/backend/server/.venv/bin/python -m ensurepip --upgrade
 | 
			
		||||
@@ -88,13 +88,13 @@ PUBLIC_SERVER_URL=http://$LOCAL_IP:8000
 | 
			
		||||
BODY_SIZE_LIMIT=Infinity
 | 
			
		||||
ORIGIN='http://$LOCAL_IP:3000'
 | 
			
		||||
EOF
 | 
			
		||||
cd /opt/adventurelog/frontend
 | 
			
		||||
cd /opt/adventurelog/frontend || exit
 | 
			
		||||
$STD pnpm i
 | 
			
		||||
$STD pnpm build
 | 
			
		||||
msg_ok "Installed AdventureLog"
 | 
			
		||||
 | 
			
		||||
msg_info "Setting up Django Admin"
 | 
			
		||||
cd /opt/adventurelog/backend/server
 | 
			
		||||
cd /opt/adventurelog/backend/server || exit
 | 
			
		||||
$STD .venv/bin/python -m manage shell <<EOF
 | 
			
		||||
from django.contrib.auth import get_user_model
 | 
			
		||||
UserModel = get_user_model()
 | 
			
		||||
@@ -148,6 +148,7 @@ motd_ssh
 | 
			
		||||
customize
 | 
			
		||||
 | 
			
		||||
msg_info "Cleaning up"
 | 
			
		||||
$STD apt-get -y autoremove
 | 
			
		||||
$STD apt-get -y autoclean
 | 
			
		||||
$STD apt -y autoremove
 | 
			
		||||
$STD apt -y autoclean
 | 
			
		||||
$STD apt -y clean
 | 
			
		||||
msg_ok "Cleaned"
 | 
			
		||||
 
 | 
			
		||||
@@ -13,9 +13,12 @@ setting_up_container
 | 
			
		||||
network_check
 | 
			
		||||
update_os
 | 
			
		||||
 | 
			
		||||
msg_info "Installing PostgreSQL"
 | 
			
		||||
$STD apk add --no-cache postgresql16 postgresql16-contrib postgresql16-openrc sudo
 | 
			
		||||
msg_ok "Installed PostgreSQL"
 | 
			
		||||
read -r -p "${TAB3}Enter PostgreSQL version (15/16/17): " ver
 | 
			
		||||
[[ $ver =~ ^(15|16|17)$ ]] || { echo "Invalid version"; exit 1; }
 | 
			
		||||
 | 
			
		||||
msg_info "Installing PostgreSQL ${ver}"
 | 
			
		||||
$STD apk add --no-cache postgresql${ver} postgresql${ver}-contrib postgresql${ver}-openrc sudo
 | 
			
		||||
msg_ok "Installed PostgreSQL ${ver}"
 | 
			
		||||
 | 
			
		||||
msg_info "Enabling PostgreSQL Service"
 | 
			
		||||
$STD rc-update add postgresql default
 | 
			
		||||
@@ -26,8 +29,8 @@ $STD rc-service postgresql start
 | 
			
		||||
msg_ok "Started PostgreSQL"
 | 
			
		||||
 | 
			
		||||
msg_info "Configuring PostgreSQL for External Access"
 | 
			
		||||
conf_file="/etc/postgresql16/postgresql.conf"
 | 
			
		||||
hba_file="/etc/postgresql16/pg_hba.conf"
 | 
			
		||||
conf_file="/etc/postgresql${ver}/postgresql.conf"
 | 
			
		||||
hba_file="/etc/postgresql${ver}/pg_hba.conf"
 | 
			
		||||
sed -i 's/^#listen_addresses =.*/listen_addresses = '\''*'\''/' "$conf_file"
 | 
			
		||||
sed -i '/^host\s\+all\s\+all\s\+127.0.0.1\/32\s\+md5/ s/.*/host all all 0.0.0.0\/0 md5/' "$hba_file"
 | 
			
		||||
$STD rc-service postgresql restart
 | 
			
		||||
 
 | 
			
		||||
@@ -13,7 +13,7 @@ network_check
 | 
			
		||||
update_os
 | 
			
		||||
 | 
			
		||||
msg_info "Installing Dependencies"
 | 
			
		||||
$STD apt-get install -y \
 | 
			
		||||
$STD apt install -y \
 | 
			
		||||
  build-essential \
 | 
			
		||||
  jq \
 | 
			
		||||
  libcairo2-dev \
 | 
			
		||||
@@ -22,7 +22,7 @@ $STD apt-get install -y \
 | 
			
		||||
  libtool-bin \
 | 
			
		||||
  libossp-uuid-dev \
 | 
			
		||||
  libvncserver-dev \
 | 
			
		||||
  freerdp2-dev \
 | 
			
		||||
  freerdp3-dev \
 | 
			
		||||
  libssh2-1-dev \
 | 
			
		||||
  libtelnet-dev \
 | 
			
		||||
  libwebsockets-dev \
 | 
			
		||||
@@ -56,8 +56,9 @@ mkdir -p /etc/guacamole/{extensions,lib}
 | 
			
		||||
RELEASE_SERVER=$(curl -fsSL https://api.github.com/repos/apache/guacamole-server/tags | jq -r '.[].name' | grep -v -- '-RC' | head -n 1)
 | 
			
		||||
curl -fsSL "https://api.github.com/repos/apache/guacamole-server/tarball/refs/tags/${RELEASE_SERVER}" | tar -xz --strip-components=1 -C /opt/apache-guacamole/server
 | 
			
		||||
cd /opt/apache-guacamole/server
 | 
			
		||||
export CPPFLAGS="-Wno-error=deprecated-declarations"
 | 
			
		||||
$STD autoreconf -fi
 | 
			
		||||
$STD ./configure --with-init-dir=/etc/init.d --enable-allow-freerdp-snapshots
 | 
			
		||||
$STD ./configure --with-init-dir=/etc/init.d --enable-allow-freerdp-snapshots --disable-guaclog
 | 
			
		||||
$STD make
 | 
			
		||||
$STD make install
 | 
			
		||||
$STD ldconfig
 | 
			
		||||
@@ -149,6 +150,6 @@ customize
 | 
			
		||||
msg_info "Cleaning up"
 | 
			
		||||
rm -rf ~/mysql-connector-j-9.3.0{,.tar.gz}
 | 
			
		||||
rm -rf ~/guacamole-auth-jdbc-$RELEASE_SERVER{,.tar.gz}
 | 
			
		||||
$STD apt-get -y autoremove
 | 
			
		||||
$STD apt-get -y autoclean
 | 
			
		||||
$STD apt -y autoremove
 | 
			
		||||
$STD apt -y autoclean
 | 
			
		||||
msg_ok "Cleaned"
 | 
			
		||||
 
 | 
			
		||||
@@ -18,7 +18,7 @@ $STD apt-get install -y nginx
 | 
			
		||||
msg_ok "Installed Dependencies"
 | 
			
		||||
 | 
			
		||||
fetch_and_deploy_gh_release "booklore" "booklore-app/BookLore"
 | 
			
		||||
JAVA_VERSION="21" setup_java
 | 
			
		||||
JAVA_VERSION="25" setup_java
 | 
			
		||||
NODE_VERSION="22" setup_nodejs
 | 
			
		||||
setup_mariadb
 | 
			
		||||
setup_yq
 | 
			
		||||
 
 | 
			
		||||
@@ -51,7 +51,7 @@ $STD apt-get install -y \
 | 
			
		||||
rm -rf /usr/lib/python3.*/EXTERNALLY-MANAGED
 | 
			
		||||
msg_ok "Setup Python3"
 | 
			
		||||
 | 
			
		||||
NODE_VERSION="22" setup_nodejs
 | 
			
		||||
NODE_VERSION="24" setup_nodejs
 | 
			
		||||
 | 
			
		||||
msg_info "Installing Change Detection"
 | 
			
		||||
mkdir /opt/changedetection
 | 
			
		||||
@@ -62,7 +62,7 @@ msg_info "Installing Browserless & Playwright"
 | 
			
		||||
mkdir /opt/browserless
 | 
			
		||||
$STD python3 -m pip install playwright
 | 
			
		||||
$STD git clone https://github.com/browserless/chrome /opt/browserless
 | 
			
		||||
$STD npm install --prefix /opt/browserless
 | 
			
		||||
$STD npm ci --include=optional --include=dev --prefix /opt/browserless
 | 
			
		||||
$STD /opt/browserless/node_modules/playwright-core/cli.js install --with-deps &>/dev/null
 | 
			
		||||
$STD /opt/browserless/node_modules/playwright-core/cli.js install --force chrome &>/dev/null
 | 
			
		||||
$STD /opt/browserless/node_modules/playwright-core/cli.js install chromium firefox webkit &>/dev/null
 | 
			
		||||
 
 | 
			
		||||
@@ -17,8 +17,8 @@ update_os
 | 
			
		||||
msg_info "Installing Cockpit"
 | 
			
		||||
source /etc/os-release
 | 
			
		||||
echo "deb http://deb.debian.org/debian ${VERSION_CODENAME}-backports main" >/etc/apt/sources.list.d/backports.list
 | 
			
		||||
$STD apt-get update
 | 
			
		||||
$STD apt-get install -t ${VERSION_CODENAME}-backports cockpit --no-install-recommends -y
 | 
			
		||||
$STD apt update
 | 
			
		||||
$STD apt install -t ${VERSION_CODENAME}-backports cockpit --no-install-recommends -y
 | 
			
		||||
sed -i "s/root//g" /etc/cockpit/disallowed-users
 | 
			
		||||
msg_ok "Installed Cockpit"
 | 
			
		||||
 | 
			
		||||
@@ -26,6 +26,6 @@ motd_ssh
 | 
			
		||||
customize
 | 
			
		||||
 | 
			
		||||
msg_info "Cleaning up"
 | 
			
		||||
$STD apt-get -y autoremove
 | 
			
		||||
$STD apt-get -y autoclean
 | 
			
		||||
$STD apt -y autoremove
 | 
			
		||||
$STD apt -y autoclean
 | 
			
		||||
msg_ok "Cleaned"
 | 
			
		||||
 
 | 
			
		||||
@@ -14,7 +14,7 @@ network_check
 | 
			
		||||
update_os
 | 
			
		||||
 | 
			
		||||
msg_info "Installing Dependencies"
 | 
			
		||||
$STD apt-get install -y \
 | 
			
		||||
$STD apt install -y \
 | 
			
		||||
  redis \
 | 
			
		||||
  jq \
 | 
			
		||||
  make
 | 
			
		||||
@@ -48,6 +48,8 @@ mkdir data
 | 
			
		||||
sed -i -e "s|APP_SECRET=.*|APP_SECRET=$(openssl rand -base64 32 | tr -dc 'a-zA-Z0-9' | cut -c1-32)|" \
 | 
			
		||||
  -e "s|DATABASE_URL=.*|DATABASE_URL=postgres://$DB_USER:$DB_PASS@localhost:5432/$DB_NAME|" \
 | 
			
		||||
  -e "s|FILE_UPLOAD_SIZE_LIMIT=.*|FILE_UPLOAD_SIZE_LIMIT=50mb|" \
 | 
			
		||||
  -e "s|DRAWIO_URL=.*|DRAWIO_URL=https://embed.diagrams.net|" \
 | 
			
		||||
  -e "s|DISABLE_TELEMETRY=.*|DISABLE_TELEMETRY=true|" \
 | 
			
		||||
  /opt/docmost/.env
 | 
			
		||||
export NODE_OPTIONS="--max-old-space-size=2048"
 | 
			
		||||
$STD pnpm install
 | 
			
		||||
@@ -76,6 +78,7 @@ motd_ssh
 | 
			
		||||
customize
 | 
			
		||||
 | 
			
		||||
msg_info "Cleaning up"
 | 
			
		||||
$STD apt-get -y autoremove
 | 
			
		||||
$STD apt-get -y autoclean
 | 
			
		||||
$STD apt -y autoremove
 | 
			
		||||
$STD apt -y autoclean
 | 
			
		||||
$STD apt -y clean
 | 
			
		||||
msg_ok "Cleaned"
 | 
			
		||||
 
 | 
			
		||||
@@ -43,12 +43,12 @@ msg_ok "Set up database"
 | 
			
		||||
 | 
			
		||||
msg_info "Installing GLPi"
 | 
			
		||||
cd /opt
 | 
			
		||||
RELEASE=$(curl -fsSL https://api.github.com/repos/glpi-project/glpi/releases/latest | grep '"tag_name"' | sed -E 's/.*"tag_name": "([^"]+)".*/\1/')
 | 
			
		||||
curl -fsSL "https://github.com/glpi-project/glpi/releases/download/${RELEASE}/glpi-${RELEASE}.tgz" -o "glpi-${RELEASE}.tgz"
 | 
			
		||||
$STD tar -xzvf glpi-${RELEASE}.tgz
 | 
			
		||||
#RELEASE=$(curl -fsSL https://api.github.com/repos/glpi-project/glpi/releases/latest | grep '"tag_name"' | sed -E 's/.*"tag_name": "([^"]+)".*/\1/')
 | 
			
		||||
curl -fsSL "https://github.com/glpi-project/glpi/releases/download/10.0.20/glpi-10.0.20.tgz" -o "glpi-10.0.20.tgz"
 | 
			
		||||
$STD tar -xzvf glpi-10.0.20.tgz
 | 
			
		||||
cd /opt/glpi
 | 
			
		||||
$STD php bin/console db:install --db-name=$DB_NAME --db-user=$DB_USER --db-password=$DB_PASS --no-interaction
 | 
			
		||||
echo "${RELEASE}" >/opt/${APPLICATION}_version.txt
 | 
			
		||||
echo "10.0.20" >/opt/${APPLICATION}_version.txt
 | 
			
		||||
msg_ok "Installed GLPi"
 | 
			
		||||
 | 
			
		||||
msg_info "Setting Downstream file"
 | 
			
		||||
@@ -144,7 +144,7 @@ customize
 | 
			
		||||
 | 
			
		||||
msg_info "Cleaning up"
 | 
			
		||||
rm -rf /opt/glpi/install
 | 
			
		||||
rm -rf /opt/glpi-${RELEASE}.tgz
 | 
			
		||||
rm -rf /opt/glpi-10.0.20.tgz
 | 
			
		||||
$STD apt-get -y autoremove
 | 
			
		||||
$STD apt-get -y autoclean
 | 
			
		||||
msg_ok "Cleaned"
 | 
			
		||||
 
 | 
			
		||||
Some files were not shown because too many files have changed in this diff Show More
		Reference in New Issue
	
	Block a user