mirror of
				https://github.com/community-scripts/ProxmoxVE.git
				synced 2025-11-04 10:22:50 +00:00 
			
		
		
		
	Compare commits
	
		
			34 Commits
		
	
	
		
			2025-08-13
			...
			2025-08-14
		
	
	| Author | SHA1 | Date | |
|---|---|---|---|
| 
						 | 
					d7a60f6027 | ||
| 
						 | 
					241ae98c0b | ||
| 
						 | 
					63f24a8e61 | ||
| 
						 | 
					1cb87c4087 | ||
| 
						 | 
					5c22f9775e | ||
| 
						 | 
					a403da9f47 | ||
| 
						 | 
					4ce7335482 | ||
| 
						 | 
					bc52b1a7d7 | ||
| 
						 | 
					1c5ff8b26a | ||
| 
						 | 
					967b2a313f | ||
| 
						 | 
					50410acf8d | ||
| 
						 | 
					ab07afb7bd | ||
| 
						 | 
					eee083c7e0 | ||
| 
						 | 
					31ef36d744 | ||
| 
						 | 
					13afa93ddf | ||
| 
						 | 
					7c631eec00 | ||
| 
						 | 
					82d1a872c7 | ||
| 
						 | 
					0c23782485 | ||
| 
						 | 
					ef7c774a24 | ||
| 
						 | 
					c12ec76181 | ||
| 
						 | 
					a805e40b04 | ||
| 
						 | 
					727b713893 | ||
| 
						 | 
					5cedb8469e | ||
| 
						 | 
					c612a4daa8 | ||
| 
						 | 
					87b7166924 | ||
| 
						 | 
					9b9faf7a53 | ||
| 
						 | 
					51a1d3c0ef | ||
| 
						 | 
					8b1c2d6e68 | ||
| 
						 | 
					21c2ef2915 | ||
| 
						 | 
					6796e609d0 | ||
| 
						 | 
					723ac08abb | ||
| 
						 | 
					35c4c363a0 | ||
| 
						 | 
					32f99aee54 | ||
| 
						 | 
					1803ea0323 | 
							
								
								
									
										30
									
								
								CHANGELOG.md
									
									
									
									
									
								
							
							
						
						
									
										30
									
								
								CHANGELOG.md
									
									
									
									
									
								
							@@ -10,8 +10,38 @@
 | 
				
			|||||||
> [!CAUTION]
 | 
					> [!CAUTION]
 | 
				
			||||||
Exercise vigilance regarding copycat or coat-tailing sites that seek to exploit the project's popularity for potentially malicious purposes.
 | 
					Exercise vigilance regarding copycat or coat-tailing sites that seek to exploit the project's popularity for potentially malicious purposes.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					## 2025-08-15
 | 
				
			||||||
 | 
					
 | 
				
			||||||
## 2025-08-14
 | 
					## 2025-08-14
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					### 🚀 Updated Scripts
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  - #### 🐞 Bug Fixes
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    - Bugfix Searxng Redis replaced with Valkey in installscript  [@elvito](https://github.com/elvito) ([#6831](https://github.com/community-scripts/ProxmoxVE/pull/6831))
 | 
				
			||||||
 | 
					    - Spoolman: Use environment variables to control host and port [@tremor021](https://github.com/tremor021) ([#6825](https://github.com/community-scripts/ProxmoxVE/pull/6825))
 | 
				
			||||||
 | 
					    - Pulse: v4.3.2+ [@vhsdream](https://github.com/vhsdream) ([#6859](https://github.com/community-scripts/ProxmoxVE/pull/6859))
 | 
				
			||||||
 | 
					    - rustdeskserver: fix API version file [@steadfasterX](https://github.com/steadfasterX) ([#6847](https://github.com/community-scripts/ProxmoxVE/pull/6847))
 | 
				
			||||||
 | 
					    - Immich: quickfix #6836 [@vhsdream](https://github.com/vhsdream) ([#6848](https://github.com/community-scripts/ProxmoxVE/pull/6848))
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  - #### 🔧 Refactor
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    - Refactor: WikiJS [@tremor021](https://github.com/tremor021) ([#6840](https://github.com/community-scripts/ProxmoxVE/pull/6840))
 | 
				
			||||||
 | 
					    - Refactor: Zoraxy [@tremor021](https://github.com/tremor021) ([#6823](https://github.com/community-scripts/ProxmoxVE/pull/6823))
 | 
				
			||||||
 | 
					    - Refactor: Zitadel [@tremor021](https://github.com/tremor021) ([#6826](https://github.com/community-scripts/ProxmoxVE/pull/6826))
 | 
				
			||||||
 | 
					    - Refactor: WordPress [@tremor021](https://github.com/tremor021) ([#6837](https://github.com/community-scripts/ProxmoxVE/pull/6837))
 | 
				
			||||||
 | 
					    - Refactor: WireGuard [@tremor021](https://github.com/tremor021) ([#6839](https://github.com/community-scripts/ProxmoxVE/pull/6839))
 | 
				
			||||||
 | 
					    - Refactor: yt-dlp-webui [@tremor021](https://github.com/tremor021) ([#6832](https://github.com/community-scripts/ProxmoxVE/pull/6832))
 | 
				
			||||||
 | 
					    - Refactor: Zipline [@tremor021](https://github.com/tremor021) ([#6829](https://github.com/community-scripts/ProxmoxVE/pull/6829))
 | 
				
			||||||
 | 
					    - Refactor: Zot-Registry [@tremor021](https://github.com/tremor021) ([#6822](https://github.com/community-scripts/ProxmoxVE/pull/6822))
 | 
				
			||||||
 | 
					    - Refactor: Zwave-JS-UI [@tremor021](https://github.com/tremor021) ([#6820](https://github.com/community-scripts/ProxmoxVE/pull/6820))
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					### 🧰 Maintenance
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  - #### 📂 Github
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    - ProxmoxVE svg logo [@LuisPalacios](https://github.com/LuisPalacios) ([#6846](https://github.com/community-scripts/ProxmoxVE/pull/6846))
 | 
				
			||||||
 | 
					
 | 
				
			||||||
## 2025-08-13
 | 
					## 2025-08-13
 | 
				
			||||||
 | 
					
 | 
				
			||||||
### 🚀 Updated Scripts
 | 
					### 🚀 Updated Scripts
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -180,7 +180,10 @@ EOF
 | 
				
			|||||||
  msg_ok "Updated Immich CLI"
 | 
					  msg_ok "Updated Immich CLI"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  chown -R immich:immich "$INSTALL_DIR"
 | 
					  chown -R immich:immich "$INSTALL_DIR"
 | 
				
			||||||
  echo "$RELEASE" >/opt/"${APP}"_version.txt
 | 
					  if [[ ! -f ~/.debian_version.bak ]]; then
 | 
				
			||||||
 | 
					    cp /etc/debian_version ~/.debian_version.bak
 | 
				
			||||||
 | 
					    sed -i 's/.*/13.0/' /etc/debian_version
 | 
				
			||||||
 | 
					  fi
 | 
				
			||||||
  msg_ok "Updated ${APP} to v${RELEASE}"
 | 
					  msg_ok "Updated ${APP} to v${RELEASE}"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  msg_info "Cleaning up"
 | 
					  msg_info "Cleaning up"
 | 
				
			||||||
 
 | 
				
			|||||||
							
								
								
									
										20
									
								
								ct/pulse.sh
									
									
									
									
									
								
							
							
						
						
									
										20
									
								
								ct/pulse.sh
									
									
									
									
									
								
							@@ -34,28 +34,30 @@ function update_script() {
 | 
				
			|||||||
  fi
 | 
					  fi
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  RELEASE=$(curl -fsSL https://api.github.com/repos/rcourtman/Pulse/releases/latest | jq -r '.tag_name' | sed 's/^v//')
 | 
					  RELEASE=$(curl -fsSL https://api.github.com/repos/rcourtman/Pulse/releases/latest | jq -r '.tag_name' | sed 's/^v//')
 | 
				
			||||||
 | 
					  SERVICE_PATH="/etc/systemd/system"
 | 
				
			||||||
  if [[ "${RELEASE}" != "$(cat ~/.pulse 2>/dev/null)" ]] || [[ ! -f ~/.pulse ]]; then
 | 
					  if [[ "${RELEASE}" != "$(cat ~/.pulse 2>/dev/null)" ]] || [[ ! -f ~/.pulse ]]; then
 | 
				
			||||||
    msg_info "Stopping ${APP}"
 | 
					    msg_info "Stopping ${APP}"
 | 
				
			||||||
    systemctl stop pulse
 | 
					    systemctl stop pulse*.service
 | 
				
			||||||
    msg_ok "Stopped ${APP}"
 | 
					    msg_ok "Stopped ${APP}"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    dirs=(/opt/pulse/bin /opt/pulse/frontend-modern)
 | 
					    if [[ -f /opt/pulse/pulse ]]; then
 | 
				
			||||||
    for dir in "${dirs[@]}"; do
 | 
					      rm -f /opt/pulse/pulse
 | 
				
			||||||
      if [[ -d "$dir" ]]; then
 | 
					    fi
 | 
				
			||||||
        rm -rf "$dir"
 | 
					 | 
				
			||||||
      fi
 | 
					 | 
				
			||||||
    done
 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
    fetch_and_deploy_gh_release "pulse" "rcourtman/Pulse" "prebuild" "latest" "/opt/pulse" "*-linux-amd64.tar.gz"
 | 
					    fetch_and_deploy_gh_release "pulse" "rcourtman/Pulse" "prebuild" "latest" "/opt/pulse" "*-linux-amd64.tar.gz"
 | 
				
			||||||
    chown -R pulse:pulse /etc/pulse /opt/pulse
 | 
					    chown -R pulse:pulse /etc/pulse /opt/pulse
 | 
				
			||||||
    sed -i 's|bin/pulse|pulse|' /etc/systemd/system/pulse.service
 | 
					    if [[ -f "$SERVICE_PATH"/pulse.service ]]; then
 | 
				
			||||||
 | 
					      mv "$SERVICE_PATH"/pulse.service "$SERVICE_PATH"/pulse-backend.service
 | 
				
			||||||
 | 
					    fi
 | 
				
			||||||
 | 
					    sed -i -e 's|pulse/pulse|pulse/bin/pulse|' \
 | 
				
			||||||
 | 
					      -e 's/^Environment="API.*$//' "$SERVICE_PATH"/pulse-backend.service
 | 
				
			||||||
    systemctl daemon-reload
 | 
					    systemctl daemon-reload
 | 
				
			||||||
    if grep -q 'pulse-home:/bin/bash' /etc/passwd; then
 | 
					    if grep -q 'pulse-home:/bin/bash' /etc/passwd; then
 | 
				
			||||||
      usermod -s /usr/sbin/nologin pulse
 | 
					      usermod -s /usr/sbin/nologin pulse
 | 
				
			||||||
    fi
 | 
					    fi
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    msg_info "Starting ${APP}"
 | 
					    msg_info "Starting ${APP}"
 | 
				
			||||||
    systemctl start pulse
 | 
					    systemctl start pulse-backend
 | 
				
			||||||
    msg_ok "Started ${APP}"
 | 
					    msg_ok "Started ${APP}"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    msg_ok "Updated Successfully"
 | 
					    msg_ok "Updated Successfully"
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -34,7 +34,7 @@ function update_script() {
 | 
				
			|||||||
  fi
 | 
					  fi
 | 
				
			||||||
  RELEASE=$(curl -fsSL https://api.github.com/repos/rustdesk/rustdesk-server/releases/latest | grep "tag_name" | awk '{print substr($2, 2, length($2)-3) }')
 | 
					  RELEASE=$(curl -fsSL https://api.github.com/repos/rustdesk/rustdesk-server/releases/latest | grep "tag_name" | awk '{print substr($2, 2, length($2)-3) }')
 | 
				
			||||||
  APIRELEASE=$(curl -fsSL https://api.github.com/repos/lejianwen/rustdesk-api/releases/latest | grep "tag_name" | awk '{print substr($2, 3, length($2)-4) }')
 | 
					  APIRELEASE=$(curl -fsSL https://api.github.com/repos/lejianwen/rustdesk-api/releases/latest | grep "tag_name" | awk '{print substr($2, 3, length($2)-4) }')
 | 
				
			||||||
  if [[ "${RELEASE}" != "$(cat /opt/rustdesk_version.txt)" ]] || [[ "${APIRELEASE}" != "$(cat /opt/rustdesk-api.txt)" ]] || [[ ! -f /opt/rustdesk_version.txt ]] || [[ ! -f /opt/rustdesk-api.txt ]]; then
 | 
					  if [[ "${RELEASE}" != "$(cat /opt/rustdesk_version.txt)" ]] || [[ "${APIRELEASE}" != "$(cat /opt/rustdeskapi_version.txt)" ]] || [[ ! -f /opt/rustdesk_version.txt ]] || [[ ! -f /opt/rustdeskapi_version.txt ]]; then
 | 
				
			||||||
    msg_info "Stopping $APP"
 | 
					    msg_info "Stopping $APP"
 | 
				
			||||||
    systemctl stop rustdesk-hbbr
 | 
					    systemctl stop rustdesk-hbbr
 | 
				
			||||||
    systemctl stop rustdesk-hbbs
 | 
					    systemctl stop rustdesk-hbbs
 | 
				
			||||||
 
 | 
				
			|||||||
							
								
								
									
										13
									
								
								ct/wikijs.sh
									
									
									
									
									
								
							
							
						
						
									
										13
									
								
								ct/wikijs.sh
									
									
									
									
									
								
							@@ -27,8 +27,9 @@ function update_script() {
 | 
				
			|||||||
        msg_error "No ${APP} Installation Found!"
 | 
					        msg_error "No ${APP} Installation Found!"
 | 
				
			||||||
        exit
 | 
					        exit
 | 
				
			||||||
    fi
 | 
					    fi
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    RELEASE=$(curl -fsSL https://api.github.com/repos/Requarks/wiki/releases/latest | grep "tag_name" | awk '{print substr($2, 3, length($2)-4) }')
 | 
					    RELEASE=$(curl -fsSL https://api.github.com/repos/Requarks/wiki/releases/latest | grep "tag_name" | awk '{print substr($2, 3, length($2)-4) }')
 | 
				
			||||||
    if [[ "${RELEASE}" != "$(cat /opt/${APP}_version.txt)" ]] || [[ ! -f /opt/${APP}_version.txt ]]; then
 | 
					    if [[ "${RELEASE}" != "$(cat ~/.wikijs)" ]] || [[ ! -f ~/.wikijs ]]; then
 | 
				
			||||||
        msg_info "Verifying whether ${APP}' new release is v3.x+ and current install uses SQLite."
 | 
					        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")
 | 
					        SQLITE_INSTALL=$([ -f /opt/wikijs/db.sqlite ] && echo "true" || echo "false")
 | 
				
			||||||
        if [[ "${SQLITE_INSTALL}" == "true" && "${RELEASE}" =~ ^3.* ]]; then
 | 
					        if [[ "${SQLITE_INSTALL}" == "true" && "${RELEASE}" =~ ^3.* ]]; then
 | 
				
			||||||
@@ -47,13 +48,9 @@ function update_script() {
 | 
				
			|||||||
        cp -R /opt/wikijs/{config.yml,/data} /opt/wikijs-backup
 | 
					        cp -R /opt/wikijs/{config.yml,/data} /opt/wikijs-backup
 | 
				
			||||||
        msg_ok "Backed up Data"
 | 
					        msg_ok "Backed up Data"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
        msg_info "Updating ${APP}"
 | 
					 | 
				
			||||||
        rm -rf /opt/wikijs/*
 | 
					        rm -rf /opt/wikijs/*
 | 
				
			||||||
        cd /opt/wikijs
 | 
					        fetch_and_deploy_gh_release "wikijs" "requarks/wiki" "prebuild" "latest" "/opt/wikijs" "wiki-js.tar.gz"
 | 
				
			||||||
        curl -fsSL "https://github.com/requarks/wiki/releases/download/v${RELEASE}/wiki-js.tar.gz" -o $(basename "https://github.com/requarks/wiki/releases/download/v${RELEASE}/wiki-js.tar.gz")
 | 
					        
 | 
				
			||||||
        tar -xzf wiki-js.tar.gz
 | 
					 | 
				
			||||||
        msg_ok "Updated ${APP}"
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
        msg_info "Restoring Data"
 | 
					        msg_info "Restoring Data"
 | 
				
			||||||
        cp -R /opt/wikijs-backup/* /opt/wikijs
 | 
					        cp -R /opt/wikijs-backup/* /opt/wikijs
 | 
				
			||||||
        $SQLITE_INSTALL && $STD npm rebuild sqlite3
 | 
					        $SQLITE_INSTALL && $STD npm rebuild sqlite3
 | 
				
			||||||
@@ -64,9 +61,9 @@ function update_script() {
 | 
				
			|||||||
        msg_ok "Started ${APP}"
 | 
					        msg_ok "Started ${APP}"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
        msg_info "Cleaning Up"
 | 
					        msg_info "Cleaning Up"
 | 
				
			||||||
        rm -rf /opt/wikijs/wiki-js.tar.gz
 | 
					 | 
				
			||||||
        rm -rf /opt/wikijs-backup
 | 
					        rm -rf /opt/wikijs-backup
 | 
				
			||||||
        msg_ok "Cleanup Completed"
 | 
					        msg_ok "Cleanup Completed"
 | 
				
			||||||
 | 
					        
 | 
				
			||||||
        msg_ok "Updated Successfully"
 | 
					        msg_ok "Updated Successfully"
 | 
				
			||||||
    else
 | 
					    else
 | 
				
			||||||
        msg_ok "No update required. ${APP} is already at v${RELEASE}"
 | 
					        msg_ok "No update required. ${APP} is already at v${RELEASE}"
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -30,10 +30,12 @@ function update_script() {
 | 
				
			|||||||
  fi
 | 
					  fi
 | 
				
			||||||
  apt-get update
 | 
					  apt-get update
 | 
				
			||||||
  apt-get -y upgrade
 | 
					  apt-get -y upgrade
 | 
				
			||||||
  sleep 2
 | 
					  if [[ ! -d /etc/wgdashboard ]]; then
 | 
				
			||||||
  cd /etc/wgdashboard/src
 | 
					    sleep 2
 | 
				
			||||||
  ./wgd.sh update
 | 
					    cd /etc/wgdashboard/src
 | 
				
			||||||
  ./wgd.sh start
 | 
					    ./wgd.sh update
 | 
				
			||||||
 | 
					    ./wgd.sh start
 | 
				
			||||||
 | 
					  fi
 | 
				
			||||||
  exit
 | 
					  exit
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
@@ -43,5 +45,5 @@ description
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
msg_ok "Completed Successfully!\n"
 | 
					msg_ok "Completed Successfully!\n"
 | 
				
			||||||
echo -e "${CREATING}${GN}${APP} setup has been successfully initialized!${CL}"
 | 
					echo -e "${CREATING}${GN}${APP} setup has been successfully initialized!${CL}"
 | 
				
			||||||
echo -e "${INFO}${YW} WGDashboard Access it using the following URL:${CL}"
 | 
					echo -e "${INFO}${YW}Access WGDashboard (if installed) using the following URL:${CL}"
 | 
				
			||||||
echo -e "${TAB}${GATEWAY}${BGN}http://${IP}:10086${CL}"
 | 
					echo -e "${TAB}${GATEWAY}${BGN}http://${IP}:10086${CL}"
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -28,21 +28,20 @@ function update_script() {
 | 
				
			|||||||
      exit
 | 
					      exit
 | 
				
			||||||
   fi
 | 
					   fi
 | 
				
			||||||
 | 
					
 | 
				
			||||||
   msg_info "Updating yt-dlp"
 | 
					
 | 
				
			||||||
   $STD yt-dlp -U
 | 
					 | 
				
			||||||
   msg_ok "Updated yt-dlp"
 | 
					 | 
				
			||||||
   RELEASE=$(curl -fsSL https://api.github.com/repos/marcopiovanello/yt-dlp-web-ui/releases/latest | grep "tag_name" | awk '{print substr($2, 3, length($2)-4) }')
 | 
					   RELEASE=$(curl -fsSL https://api.github.com/repos/marcopiovanello/yt-dlp-web-ui/releases/latest | grep "tag_name" | awk '{print substr($2, 3, length($2)-4) }')
 | 
				
			||||||
   if [[ "${RELEASE}" != "$(cat /opt/yt-dlp-webui_version.txt)" ]] || [[ ! -f /opt/yt-dlp-webui_version.txt ]]; then
 | 
					   if [[ "${RELEASE}" != "$(cat ~/.yt-dlp-webui)" ]] || [[ ! -f ~/.yt-dlp-webui ]]; then
 | 
				
			||||||
 | 
					
 | 
				
			||||||
      msg_info "Stopping $APP"
 | 
					      msg_info "Stopping $APP"
 | 
				
			||||||
      systemctl stop yt-dlp-webui
 | 
					      systemctl stop yt-dlp-webui
 | 
				
			||||||
      msg_ok "Stopped $APP"
 | 
					      msg_ok "Stopped $APP"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
      msg_info "Updating $APP to v${RELEASE}"
 | 
					      msg_info "Updating yt-dlp"
 | 
				
			||||||
 | 
					      $STD yt-dlp -U
 | 
				
			||||||
 | 
					      msg_ok "Updated yt-dlp"
 | 
				
			||||||
 | 
					      
 | 
				
			||||||
      rm -rf /usr/local/bin/yt-dlp-webui
 | 
					      rm -rf /usr/local/bin/yt-dlp-webui
 | 
				
			||||||
curl -fsSL "https://github.com/marcopiovanello/yt-dlp-web-ui/releases/download/v${RELEASE}/yt-dlp-webui_linux-amd64" -o "/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"
 | 
				
			||||||
      chmod +x /usr/local/bin/yt-dlp-webui
 | 
					 | 
				
			||||||
      msg_ok "Updated $APP LXC"
 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
      msg_info "Starting $APP"
 | 
					      msg_info "Starting $APP"
 | 
				
			||||||
      systemctl start yt-dlp-webui
 | 
					      systemctl start yt-dlp-webui
 | 
				
			||||||
@@ -60,4 +59,4 @@ description
 | 
				
			|||||||
msg_ok "Completed Successfully!\n"
 | 
					msg_ok "Completed Successfully!\n"
 | 
				
			||||||
echo -e "${CREATING}${GN}${APP} setup has been successfully initialized!${CL}"
 | 
					echo -e "${CREATING}${GN}${APP} setup has been successfully initialized!${CL}"
 | 
				
			||||||
echo -e "${INFO}${YW} Access it using the following URL:${CL}"
 | 
					echo -e "${INFO}${YW} Access it using the following URL:${CL}"
 | 
				
			||||||
echo -e "${TAB}${GATEWAY}${BGN}http://${IP}:3033${CL}"
 | 
					echo -e "${TAB}${GATEWAY}${BGN}http://${IP}:3033${CL}"
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -32,36 +32,32 @@ function update_script() {
 | 
				
			|||||||
    $STD npm install -g pnpm@latest
 | 
					    $STD npm install -g pnpm@latest
 | 
				
			||||||
    msg_ok "Installed pnpm"
 | 
					    msg_ok "Installed pnpm"
 | 
				
			||||||
  fi
 | 
					  fi
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  RELEASE=$(curl -fsSL https://api.github.com/repos/diced/zipline/releases/latest | grep "tag_name" | awk '{print substr($2, 3, length($2)-4) }')
 | 
					  RELEASE=$(curl -fsSL https://api.github.com/repos/diced/zipline/releases/latest | grep "tag_name" | awk '{print substr($2, 3, length($2)-4) }')
 | 
				
			||||||
  if [[ ! -f /opt/${APP}_version.txt ]] || [[ "${RELEASE}" != "$(cat /opt/${APP}_version.txt)" ]]; then
 | 
					  if [[ ! -f ~/.zipline ]] || [[ "${RELEASE}" != "$(cat ~/.zipline)" ]]; then
 | 
				
			||||||
    msg_info "Stopping ${APP}"
 | 
					    msg_info "Stopping ${APP}"
 | 
				
			||||||
    systemctl stop zipline
 | 
					    systemctl stop zipline
 | 
				
			||||||
    msg_ok "${APP} Stopped"
 | 
					    msg_ok "${APP} Stopped"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    msg_info "Updating ${APP} to ${RELEASE}"
 | 
					 | 
				
			||||||
    cp /opt/zipline/.env /opt/
 | 
					 | 
				
			||||||
    mkdir -p /opt/zipline-uploads
 | 
					    mkdir -p /opt/zipline-uploads
 | 
				
			||||||
    if [ -d /opt/zipline/uploads ] && [ "$(ls -A /opt/zipline/uploads)" ]; then
 | 
					    if [ -d /opt/zipline/uploads ] && [ "$(ls -A /opt/zipline/uploads)" ]; then
 | 
				
			||||||
      cp -R /opt/zipline/uploads/* /opt/zipline-uploads/
 | 
					      cp -R /opt/zipline/uploads/* /opt/zipline-uploads/
 | 
				
			||||||
    fi
 | 
					    fi
 | 
				
			||||||
    curl -fsSL "https://github.com/diced/zipline/archive/refs/tags/v${RELEASE}.zip" -o $(basename "https://github.com/diced/zipline/archive/refs/tags/v${RELEASE}.zip")
 | 
					    cp /opt/zipline/.env /opt/
 | 
				
			||||||
    $STD unzip v"${RELEASE}".zip
 | 
					 | 
				
			||||||
    rm -R /opt/zipline
 | 
					    rm -R /opt/zipline
 | 
				
			||||||
    mv zipline-"${RELEASE}" /opt/zipline
 | 
					    fetch_and_deploy_gh_release "zipline" "diced/zipline" "tarball"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    msg_info "Updating ${APP} to ${RELEASE}"
 | 
				
			||||||
    cd /opt/zipline
 | 
					    cd /opt/zipline
 | 
				
			||||||
    mv /opt/.env /opt/zipline/.env
 | 
					    mv /opt/.env /opt/zipline/.env
 | 
				
			||||||
    $STD pnpm install
 | 
					    $STD pnpm install
 | 
				
			||||||
    $STD pnpm build
 | 
					    $STD pnpm build
 | 
				
			||||||
    echo "${RELEASE}" >/opt/${APP}_version.txt
 | 
					 | 
				
			||||||
    msg_ok "Updated ${APP}"
 | 
					    msg_ok "Updated ${APP}"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    msg_info "Starting ${APP}"
 | 
					    msg_info "Starting ${APP}"
 | 
				
			||||||
    systemctl start zipline
 | 
					    systemctl start zipline
 | 
				
			||||||
    msg_ok "Started ${APP}"
 | 
					    msg_ok "Started ${APP}"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    msg_info "Cleaning Up"
 | 
					 | 
				
			||||||
    rm -rf v"${RELEASE}".zip
 | 
					 | 
				
			||||||
    msg_ok "Cleaned"
 | 
					 | 
				
			||||||
    msg_ok "Updated Successfully"
 | 
					    msg_ok "Updated Successfully"
 | 
				
			||||||
  else
 | 
					  else
 | 
				
			||||||
    msg_ok "No update required. ${APP} is already at ${RELEASE}"
 | 
					    msg_ok "No update required. ${APP} is already at ${RELEASE}"
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -27,27 +27,24 @@ function update_script() {
 | 
				
			|||||||
    msg_error "No ${APP} Installation Found!"
 | 
					    msg_error "No ${APP} Installation Found!"
 | 
				
			||||||
    exit
 | 
					    exit
 | 
				
			||||||
  fi
 | 
					  fi
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  RELEASE=$(curl -fsSL https://api.github.com/repos/zitadel/zitadel/releases/latest | grep "tag_name" | awk '{print substr($2, 3, length($2)-4) }')
 | 
					  RELEASE=$(curl -fsSL https://api.github.com/repos/zitadel/zitadel/releases/latest | grep "tag_name" | awk '{print substr($2, 3, length($2)-4) }')
 | 
				
			||||||
  if [[ "${RELEASE}" != "$(cat /opt/${APP}_version.txt | grep -oP '\d+\.\d+\.\d+')" ]] || [[ ! -f /opt/${APP}_version.txt ]]; then
 | 
					  if [[ ! -f ~/.zitadel ]] || [[ "${RELEASE}" != "$(cat ~/.zitadel)" ]]; then
 | 
				
			||||||
    msg_info "Stopping $APP"
 | 
					    msg_info "Stopping $APP"
 | 
				
			||||||
    systemctl stop zitadel
 | 
					    systemctl stop zitadel
 | 
				
			||||||
    msg_ok "Stopped $APP"
 | 
					    msg_ok "Stopped $APP"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    rm -f /usr/local/bin/zitadel
 | 
				
			||||||
 | 
					    fetch_and_deploy_gh_release "zitadel" "zitadel/zitadel" "prebuild" "latest" "/usr/local/bin" "zitadel-linux-amd64.tar.gz"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    msg_info "Updating $APP to ${RELEASE}"
 | 
					    msg_info "Updating $APP to ${RELEASE}"
 | 
				
			||||||
    cd /tmp
 | 
					 | 
				
			||||||
    curl -fsSL "https://github.com/zitadel/zitadel/releases/download/v$RELEASE/zitadel-linux-amd64.tar.gz" | tar -xz
 | 
					 | 
				
			||||||
    mv zitadel-linux-amd64/zitadel /usr/local/bin
 | 
					 | 
				
			||||||
    $STD zitadel setup --masterkeyFile /opt/zitadel/.masterkey --config /opt/zitadel/config.yaml --init-projections=true
 | 
					    $STD zitadel setup --masterkeyFile /opt/zitadel/.masterkey --config /opt/zitadel/config.yaml --init-projections=true
 | 
				
			||||||
    echo "${RELEASE}" >/opt/${APP}_version.txt
 | 
					 | 
				
			||||||
    msg_ok "Updated $APP to ${RELEASE}"
 | 
					    msg_ok "Updated $APP to ${RELEASE}"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    msg_info "Starting $APP"
 | 
					    msg_info "Starting $APP"
 | 
				
			||||||
    systemctl start zitadel
 | 
					    systemctl start zitadel
 | 
				
			||||||
    msg_ok "Started $APP"
 | 
					    msg_ok "Started $APP"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    msg_info "Cleaning Up"
 | 
					 | 
				
			||||||
    rm -rf /tmp/zitadel-linux-amd64
 | 
					 | 
				
			||||||
    msg_ok "Cleanup Completed"
 | 
					 | 
				
			||||||
    msg_ok "Update Successful"
 | 
					    msg_ok "Update Successful"
 | 
				
			||||||
  else
 | 
					  else
 | 
				
			||||||
    msg_ok "No update required. ${APP} is already at ${RELEASE}"
 | 
					    msg_ok "No update required. ${APP} is already at ${RELEASE}"
 | 
				
			||||||
 
 | 
				
			|||||||
							
								
								
									
										20
									
								
								ct/zoraxy.sh
									
									
									
									
									
								
							
							
						
						
									
										20
									
								
								ct/zoraxy.sh
									
									
									
									
									
								
							@@ -27,17 +27,21 @@ function update_script() {
 | 
				
			|||||||
    msg_error "No ${APP} Installation Found!"
 | 
					    msg_error "No ${APP} Installation Found!"
 | 
				
			||||||
    exit
 | 
					    exit
 | 
				
			||||||
  fi
 | 
					  fi
 | 
				
			||||||
  RELEASE=$(curl -fsSL https://api.github.com/repos/tobychui/zoraxy/releases/latest | grep "tag_name" | awk '{print substr($2, 2, length($2)-3) }')
 | 
					
 | 
				
			||||||
  if [[ ! -f /opt/${APP}_version.txt ]] || [[ "${RELEASE}" != "$(cat /opt/${APP}_version.txt)" ]]; then
 | 
					  RELEASE=$(curl -fsSL https://api.github.com/repos/tobychui/zoraxy/releases/latest | grep "tag_name" | awk '{print substr($2, 3, length($2)-4) }')
 | 
				
			||||||
    msg_info "Updating $APP to ${RELEASE}"
 | 
					  if [[ ! -f ~/.zoraxy ]] || [[ "${RELEASE}" != "$(cat ~/.zoraxy)" ]]; then
 | 
				
			||||||
 | 
					    msg_info "Stopping service"
 | 
				
			||||||
    systemctl stop zoraxy
 | 
					    systemctl stop zoraxy
 | 
				
			||||||
    curl -fsSL "https://github.com/tobychui/zoraxy/releases/download/${RELEASE}/zoraxy_linux_amd64" -o $(basename "https://github.com/tobychui/zoraxy/releases/download/${RELEASE}/zoraxy_linux_amd64")
 | 
					    msg_ok "Service stopped"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    rm -rf /opt/zoraxy/zoraxy
 | 
					    rm -rf /opt/zoraxy/zoraxy
 | 
				
			||||||
    mv zoraxy_linux_amd64 /opt/zoraxy/zoraxy
 | 
					    fetch_and_deploy_gh_release "zoraxy" "tobychui/zoraxy" "singlefile" "latest" "/opt/zoraxy" "zoraxy_linux_amd64"
 | 
				
			||||||
    chmod +x /opt/zoraxy/zoraxy
 | 
					
 | 
				
			||||||
 | 
					    msg_info "Starting service"
 | 
				
			||||||
    systemctl start zoraxy
 | 
					    systemctl start zoraxy
 | 
				
			||||||
    echo "${RELEASE}" >/opt/${APP}_version.txt
 | 
					    msg_ok "Service started"
 | 
				
			||||||
    msg_ok "Updated $APP"
 | 
					
 | 
				
			||||||
 | 
					    msg_ok "Updated successfully"
 | 
				
			||||||
  else
 | 
					  else
 | 
				
			||||||
    msg_ok "No update required. ${APP} is already at ${RELEASE}"
 | 
					    msg_ok "No update required. ${APP} is already at ${RELEASE}"
 | 
				
			||||||
  fi
 | 
					  fi
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -23,25 +23,29 @@ function update_script() {
 | 
				
			|||||||
  header_info
 | 
					  header_info
 | 
				
			||||||
  check_container_storage
 | 
					  check_container_storage
 | 
				
			||||||
  check_container_resources
 | 
					  check_container_resources
 | 
				
			||||||
 | 
					 | 
				
			||||||
  if [[ ! -f /usr/bin/zot ]]; then
 | 
					  if [[ ! -f /usr/bin/zot ]]; then
 | 
				
			||||||
    msg_error "No ${APP} installation found!"
 | 
					    msg_error "No ${APP} installation found!"
 | 
				
			||||||
    exit
 | 
					    exit
 | 
				
			||||||
  fi
 | 
					  fi
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  RELEASE=$(curl -fsSL https://api.github.com/repos/project-zot/zot/releases/latest | grep "tag_name" | awk '{print substr($2, 2, length($2)-3)}')
 | 
					  RELEASE=$(curl -fsSL https://api.github.com/repos/project-zot/zot/releases/latest | grep "tag_name" | awk '{print substr($2, 3, length($2)-4)}')
 | 
				
			||||||
  if [[ ! -f ~/.${APP} ]] || [[ "${RELEASE}" != "$(cat ~/.${APP})" ]]; then
 | 
					  if [[ ! -f ~/.${APP} ]] || [[ "${RELEASE}" != "$(cat ~/.${APP})" ]]; then
 | 
				
			||||||
    msg_info "Stopping Zot service"
 | 
					    msg_info "Stopping Zot service"
 | 
				
			||||||
    systemctl stop zot
 | 
					    systemctl stop zot
 | 
				
			||||||
    msg_ok "Stopped Zot service"
 | 
					    msg_ok "Stopped Zot service"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    msg_info "Updating Zot to ${RELEASE}"
 | 
					    rm -f /usr/bin/zot
 | 
				
			||||||
    curl -fsSL "https://github.com/project-zot/zot/releases/download/${RELEASE}/zot-linux-amd64" -o /usr/bin/zot
 | 
					    fetch_and_deploy_gh_release "zot" "project-zot/zot" "singlefile" "latest" "/usr/bin" "zot-linux-amd64"
 | 
				
			||||||
    chmod +x /usr/bin/zot
 | 
					
 | 
				
			||||||
 | 
					    msg_info "Configuring Zot Registry"
 | 
				
			||||||
    chown root:root /usr/bin/zot
 | 
					    chown root:root /usr/bin/zot
 | 
				
			||||||
    echo "${RELEASE}" >~/.${APP}
 | 
					    msg_ok "Configured Zot Registry"
 | 
				
			||||||
    systemctl restart zot
 | 
					
 | 
				
			||||||
    msg_ok "Updated Zot to ${RELEASE}"
 | 
					    msg_info "Starting service"
 | 
				
			||||||
 | 
					    systemctl start zot
 | 
				
			||||||
 | 
					    msg_ok "Service started"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    msg_ok "Updated successfuly"
 | 
				
			||||||
  else
 | 
					  else
 | 
				
			||||||
    msg_ok "Zot is already up to date (${RELEASE})"
 | 
					    msg_ok "Zot is already up to date (${RELEASE})"
 | 
				
			||||||
  fi
 | 
					  fi
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -27,27 +27,24 @@ function update_script() {
 | 
				
			|||||||
    msg_error "No ${APP} Installation Found!"
 | 
					    msg_error "No ${APP} Installation Found!"
 | 
				
			||||||
    exit
 | 
					    exit
 | 
				
			||||||
  fi
 | 
					  fi
 | 
				
			||||||
  RELEASE=$(curl -fsSL https://api.github.com/repos/zwave-js/zwave-js-ui/releases/latest | grep "tag_name" | awk '{print substr($2, 2, length($2)-3) }')
 | 
					  
 | 
				
			||||||
  if [[ ! -f /opt/${APP}_version.txt ]] || [[ "${RELEASE}" != "$(cat /opt/${APP}_version.txt)" ]]; then
 | 
					  RELEASE=$(curl -fsSL https://api.github.com/repos/zwave-js/zwave-js-ui/releases/latest | grep "tag_name" | awk '{print substr($2, 3, length($2)-4) }')
 | 
				
			||||||
 | 
					  if [[ ! -f ~/.zwave-js-ui ]] || [[ "${RELEASE}" != "$(cat ~/.zwave-js-ui)" ]]; then
 | 
				
			||||||
    msg_info "Stopping Service"
 | 
					    msg_info "Stopping Service"
 | 
				
			||||||
    systemctl stop zwave-js-ui
 | 
					    systemctl stop zwave-js-ui
 | 
				
			||||||
    msg_ok "Stopped Service"
 | 
					    msg_ok "Stopped Service"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    msg_info "Updating Z-Wave JS UI"
 | 
					 | 
				
			||||||
    rm -rf /opt/zwave-js-ui/*
 | 
					    rm -rf /opt/zwave-js-ui/*
 | 
				
			||||||
    cd /opt/zwave-js-ui
 | 
					    fetch_and_deploy_gh_release "zwave-js-ui" "zwave-js/zwave-js-ui" "prebuild" "latest" "/opt/zwave-js-ui" "zwave-js-ui*-linux.zip"
 | 
				
			||||||
    curl -fsSL "https://github.com/zwave-js/zwave-js-ui/releases/download/${RELEASE}/zwave-js-ui-${RELEASE}-linux.zip" -o $(basename "https://github.com/zwave-js/zwave-js-ui/releases/download/${RELEASE}/zwave-js-ui-${RELEASE}-linux.zip")
 | 
					 | 
				
			||||||
    $STD unzip zwave-js-ui-${RELEASE}-linux.zip
 | 
					 | 
				
			||||||
    msg_ok "Updated Z-Wave JS UI"
 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
    msg_info "Starting Service"
 | 
					    msg_info "Starting Service"
 | 
				
			||||||
    systemctl start zwave-js-ui
 | 
					    systemctl start zwave-js-ui
 | 
				
			||||||
    msg_ok "Started Service"
 | 
					    msg_ok "Started Service"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    msg_info "Cleanup"
 | 
					    msg_info "Cleanup"
 | 
				
			||||||
    rm -rf /opt/zwave-js-ui/zwave-js-ui-${RELEASE}-linux.zip
 | 
					 | 
				
			||||||
    rm -rf /opt/zwave-js-ui/store
 | 
					    rm -rf /opt/zwave-js-ui/store
 | 
				
			||||||
    msg_ok "Cleaned"
 | 
					    msg_ok "Cleaned"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    msg_ok "Updated Successfully!\n"
 | 
					    msg_ok "Updated Successfully!\n"
 | 
				
			||||||
  else
 | 
					  else
 | 
				
			||||||
    msg_ok "No update required.  ${APP} is already at ${RELEASE}."
 | 
					    msg_ok "No update required.  ${APP} is already at ${RELEASE}."
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -2,7 +2,7 @@
 | 
				
			|||||||
  "name": "Jenkins",
 | 
					  "name": "Jenkins",
 | 
				
			||||||
  "slug": "jenkins",
 | 
					  "slug": "jenkins",
 | 
				
			||||||
  "categories": [
 | 
					  "categories": [
 | 
				
			||||||
    22
 | 
					    20
 | 
				
			||||||
  ],
 | 
					  ],
 | 
				
			||||||
  "date_created": "2024-12-26",
 | 
					  "date_created": "2024-12-26",
 | 
				
			||||||
  "type": "ct",
 | 
					  "type": "ct",
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -39,6 +39,10 @@
 | 
				
			|||||||
    {
 | 
					    {
 | 
				
			||||||
      "text": "After installation, access the web interface to configure your Proxmox connection details through the built-in setup wizard",
 | 
					      "text": "After installation, access the web interface to configure your Proxmox connection details through the built-in setup wizard",
 | 
				
			||||||
      "type": "Info"
 | 
					      "type": "Info"
 | 
				
			||||||
 | 
					    },
 | 
				
			||||||
 | 
					    {
 | 
				
			||||||
 | 
					      "text": "Configure authentication in the Web UI => Settings => Security",
 | 
				
			||||||
 | 
					      "type": "Info"
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
  ]
 | 
					  ]
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -9,7 +9,7 @@
 | 
				
			|||||||
  "updateable": true,
 | 
					  "updateable": true,
 | 
				
			||||||
  "privileged": false,
 | 
					  "privileged": false,
 | 
				
			||||||
  "interface_port": 7912,
 | 
					  "interface_port": 7912,
 | 
				
			||||||
  "documentation": null,
 | 
					  "documentation": "https://github.com/Donkie/Spoolman/wiki/Installation",
 | 
				
			||||||
  "website": "https://github.com/Donkie/Spoolman",
 | 
					  "website": "https://github.com/Donkie/Spoolman",
 | 
				
			||||||
  "logo": "https://cdn.jsdelivr.net/gh/selfhst/icons/webp/spoolman.webp",
 | 
					  "logo": "https://cdn.jsdelivr.net/gh/selfhst/icons/webp/spoolman.webp",
 | 
				
			||||||
  "config_path": "/opt/spoolman/.env",
 | 
					  "config_path": "/opt/spoolman/.env",
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -1,9 +1,119 @@
 | 
				
			|||||||
[
 | 
					[
 | 
				
			||||||
 | 
					  {
 | 
				
			||||||
 | 
					    "name": "ollama/ollama",
 | 
				
			||||||
 | 
					    "version": "v0.11.5-rc0",
 | 
				
			||||||
 | 
					    "date": "2025-08-14T22:24:01Z"
 | 
				
			||||||
 | 
					  },
 | 
				
			||||||
 | 
					  {
 | 
				
			||||||
 | 
					    "name": "wizarrrr/wizarr",
 | 
				
			||||||
 | 
					    "version": "2025.8.3",
 | 
				
			||||||
 | 
					    "date": "2025-08-14T22:05:27Z"
 | 
				
			||||||
 | 
					  },
 | 
				
			||||||
 | 
					  {
 | 
				
			||||||
 | 
					    "name": "rcourtman/Pulse",
 | 
				
			||||||
 | 
					    "version": "v4.3.8",
 | 
				
			||||||
 | 
					    "date": "2025-08-14T22:01:41Z"
 | 
				
			||||||
 | 
					  },
 | 
				
			||||||
 | 
					  {
 | 
				
			||||||
 | 
					    "name": "mongodb/mongo",
 | 
				
			||||||
 | 
					    "version": "r6.0.26",
 | 
				
			||||||
 | 
					    "date": "2025-08-14T21:10:05Z"
 | 
				
			||||||
 | 
					  },
 | 
				
			||||||
 | 
					  {
 | 
				
			||||||
 | 
					    "name": "esphome/esphome",
 | 
				
			||||||
 | 
					    "version": "2025.7.5",
 | 
				
			||||||
 | 
					    "date": "2025-08-05T03:37:52Z"
 | 
				
			||||||
 | 
					  },
 | 
				
			||||||
 | 
					  {
 | 
				
			||||||
 | 
					    "name": "fallenbagel/jellyseerr",
 | 
				
			||||||
 | 
					    "version": "v2.7.3",
 | 
				
			||||||
 | 
					    "date": "2025-08-14T20:43:46Z"
 | 
				
			||||||
 | 
					  },
 | 
				
			||||||
 | 
					  {
 | 
				
			||||||
 | 
					    "name": "immich-app/immich",
 | 
				
			||||||
 | 
					    "version": "v1.138.0",
 | 
				
			||||||
 | 
					    "date": "2025-08-14T19:34:54Z"
 | 
				
			||||||
 | 
					  },
 | 
				
			||||||
 | 
					  {
 | 
				
			||||||
 | 
					    "name": "gristlabs/grist-core",
 | 
				
			||||||
 | 
					    "version": "v1.7.2",
 | 
				
			||||||
 | 
					    "date": "2025-08-14T19:07:57Z"
 | 
				
			||||||
 | 
					  },
 | 
				
			||||||
 | 
					  {
 | 
				
			||||||
 | 
					    "name": "mattermost/mattermost",
 | 
				
			||||||
 | 
					    "version": "v10.10.2",
 | 
				
			||||||
 | 
					    "date": "2025-08-14T18:18:41Z"
 | 
				
			||||||
 | 
					  },
 | 
				
			||||||
 | 
					  {
 | 
				
			||||||
 | 
					    "name": "linkwarden/linkwarden",
 | 
				
			||||||
 | 
					    "version": "v2.11.7",
 | 
				
			||||||
 | 
					    "date": "2025-08-14T17:14:33Z"
 | 
				
			||||||
 | 
					  },
 | 
				
			||||||
 | 
					  {
 | 
				
			||||||
 | 
					    "name": "meilisearch/meilisearch",
 | 
				
			||||||
 | 
					    "version": "prototype-arroy-becomes-hannoy-11",
 | 
				
			||||||
 | 
					    "date": "2025-08-14T13:10:45Z"
 | 
				
			||||||
 | 
					  },
 | 
				
			||||||
 | 
					  {
 | 
				
			||||||
 | 
					    "name": "AdguardTeam/AdGuardHome",
 | 
				
			||||||
 | 
					    "version": "v0.107.64",
 | 
				
			||||||
 | 
					    "date": "2025-07-28T14:24:56Z"
 | 
				
			||||||
 | 
					  },
 | 
				
			||||||
 | 
					  {
 | 
				
			||||||
 | 
					    "name": "goauthentik/authentik",
 | 
				
			||||||
 | 
					    "version": "version/2025.8.0-rc2",
 | 
				
			||||||
 | 
					    "date": "2025-08-12T21:12:08Z"
 | 
				
			||||||
 | 
					  },
 | 
				
			||||||
 | 
					  {
 | 
				
			||||||
 | 
					    "name": "Paymenter/Paymenter",
 | 
				
			||||||
 | 
					    "version": "v1.2.9",
 | 
				
			||||||
 | 
					    "date": "2025-08-14T11:17:26Z"
 | 
				
			||||||
 | 
					  },
 | 
				
			||||||
 | 
					  {
 | 
				
			||||||
 | 
					    "name": "n8n-io/n8n",
 | 
				
			||||||
 | 
					    "version": "n8n@1.106.3",
 | 
				
			||||||
 | 
					    "date": "2025-08-11T15:16:06Z"
 | 
				
			||||||
 | 
					  },
 | 
				
			||||||
 | 
					  {
 | 
				
			||||||
 | 
					    "name": "Luligu/matterbridge",
 | 
				
			||||||
 | 
					    "version": "Matter-1.4.1",
 | 
				
			||||||
 | 
					    "date": "2025-08-14T07:37:23Z"
 | 
				
			||||||
 | 
					  },
 | 
				
			||||||
 | 
					  {
 | 
				
			||||||
 | 
					    "name": "syncthing/syncthing",
 | 
				
			||||||
 | 
					    "version": "v2.0.1",
 | 
				
			||||||
 | 
					    "date": "2025-08-14T06:45:08Z"
 | 
				
			||||||
 | 
					  },
 | 
				
			||||||
 | 
					  {
 | 
				
			||||||
 | 
					    "name": "morpheus65535/bazarr",
 | 
				
			||||||
 | 
					    "version": "v1.5.3-beta.10",
 | 
				
			||||||
 | 
					    "date": "2025-07-15T06:07:03Z"
 | 
				
			||||||
 | 
					  },
 | 
				
			||||||
 | 
					  {
 | 
				
			||||||
 | 
					    "name": "Jackett/Jackett",
 | 
				
			||||||
 | 
					    "version": "v0.22.2286",
 | 
				
			||||||
 | 
					    "date": "2025-08-14T05:57:10Z"
 | 
				
			||||||
 | 
					  },
 | 
				
			||||||
 | 
					  {
 | 
				
			||||||
 | 
					    "name": "booklore-app/booklore",
 | 
				
			||||||
 | 
					    "version": "v0.37.0",
 | 
				
			||||||
 | 
					    "date": "2025-08-14T00:37:49Z"
 | 
				
			||||||
 | 
					  },
 | 
				
			||||||
 | 
					  {
 | 
				
			||||||
 | 
					    "name": "steveiliop56/tinyauth",
 | 
				
			||||||
 | 
					    "version": "v3.6.2",
 | 
				
			||||||
 | 
					    "date": "2025-07-17T12:08:03Z"
 | 
				
			||||||
 | 
					  },
 | 
				
			||||||
  {
 | 
					  {
 | 
				
			||||||
    "name": "jellyfin/jellyfin",
 | 
					    "name": "jellyfin/jellyfin",
 | 
				
			||||||
    "version": "v10.10.7",
 | 
					    "version": "v10.10.7",
 | 
				
			||||||
    "date": "2025-04-05T19:14:59Z"
 | 
					    "date": "2025-04-05T19:14:59Z"
 | 
				
			||||||
  },
 | 
					  },
 | 
				
			||||||
 | 
					  {
 | 
				
			||||||
 | 
					    "name": "wazuh/wazuh",
 | 
				
			||||||
 | 
					    "version": "coverity-w33-4.13.0",
 | 
				
			||||||
 | 
					    "date": "2025-08-13T21:46:59Z"
 | 
				
			||||||
 | 
					  },
 | 
				
			||||||
  {
 | 
					  {
 | 
				
			||||||
    "name": "Kometa-Team/Kometa",
 | 
					    "name": "Kometa-Team/Kometa",
 | 
				
			||||||
    "version": "v2.2.1",
 | 
					    "version": "v2.2.1",
 | 
				
			||||||
@@ -27,27 +137,22 @@
 | 
				
			|||||||
  {
 | 
					  {
 | 
				
			||||||
    "name": "runtipi/runtipi",
 | 
					    "name": "runtipi/runtipi",
 | 
				
			||||||
    "version": "nightly",
 | 
					    "version": "nightly",
 | 
				
			||||||
    "date": "2025-08-12T16:31:27Z"
 | 
					    "date": "2025-08-13T17:14:49Z"
 | 
				
			||||||
  },
 | 
					  },
 | 
				
			||||||
  {
 | 
					  {
 | 
				
			||||||
    "name": "MediaBrowser/Emby.Releases",
 | 
					    "name": "MediaBrowser/Emby.Releases",
 | 
				
			||||||
    "version": "4.9.1.2",
 | 
					    "version": "4.9.1.2",
 | 
				
			||||||
    "date": "2025-06-26T22:08:00Z"
 | 
					    "date": "2025-06-26T22:08:00Z"
 | 
				
			||||||
  },
 | 
					  },
 | 
				
			||||||
  {
 | 
					 | 
				
			||||||
    "name": "immich-app/immich",
 | 
					 | 
				
			||||||
    "version": "v1.138.0",
 | 
					 | 
				
			||||||
    "date": "2025-08-13T17:08:29Z"
 | 
					 | 
				
			||||||
  },
 | 
					 | 
				
			||||||
  {
 | 
					  {
 | 
				
			||||||
    "name": "go-gitea/gitea",
 | 
					    "name": "go-gitea/gitea",
 | 
				
			||||||
    "version": "v1.24.5",
 | 
					    "version": "v1.24.5",
 | 
				
			||||||
    "date": "2025-08-13T16:35:52Z"
 | 
					    "date": "2025-08-13T16:35:52Z"
 | 
				
			||||||
  },
 | 
					  },
 | 
				
			||||||
  {
 | 
					  {
 | 
				
			||||||
    "name": "zabbix/zabbix",
 | 
					    "name": "keycloak/keycloak",
 | 
				
			||||||
    "version": "7.4.2rc1",
 | 
					    "version": "26.2.7",
 | 
				
			||||||
    "date": "2025-08-13T14:15:08Z"
 | 
					    "date": "2025-08-07T08:19:29Z"
 | 
				
			||||||
  },
 | 
					  },
 | 
				
			||||||
  {
 | 
					  {
 | 
				
			||||||
    "name": "zabbix/zabbix",
 | 
					    "name": "zabbix/zabbix",
 | 
				
			||||||
@@ -69,11 +174,6 @@
 | 
				
			|||||||
    "version": "v4.1.1",
 | 
					    "version": "v4.1.1",
 | 
				
			||||||
    "date": "2025-08-13T11:58:04Z"
 | 
					    "date": "2025-08-13T11:58:04Z"
 | 
				
			||||||
  },
 | 
					  },
 | 
				
			||||||
  {
 | 
					 | 
				
			||||||
    "name": "esphome/esphome",
 | 
					 | 
				
			||||||
    "version": "2025.7.5",
 | 
					 | 
				
			||||||
    "date": "2025-08-05T03:37:52Z"
 | 
					 | 
				
			||||||
  },
 | 
					 | 
				
			||||||
  {
 | 
					  {
 | 
				
			||||||
    "name": "raydak-labs/configarr",
 | 
					    "name": "raydak-labs/configarr",
 | 
				
			||||||
    "version": "v1.14.1",
 | 
					    "version": "v1.14.1",
 | 
				
			||||||
@@ -99,11 +199,6 @@
 | 
				
			|||||||
    "version": "v2.16.10",
 | 
					    "version": "v2.16.10",
 | 
				
			||||||
    "date": "2025-08-13T06:43:41Z"
 | 
					    "date": "2025-08-13T06:43:41Z"
 | 
				
			||||||
  },
 | 
					  },
 | 
				
			||||||
  {
 | 
					 | 
				
			||||||
    "name": "Jackett/Jackett",
 | 
					 | 
				
			||||||
    "version": "v0.22.2282",
 | 
					 | 
				
			||||||
    "date": "2025-08-13T06:08:03Z"
 | 
					 | 
				
			||||||
  },
 | 
					 | 
				
			||||||
  {
 | 
					  {
 | 
				
			||||||
    "name": "firefly-iii/firefly-iii",
 | 
					    "name": "firefly-iii/firefly-iii",
 | 
				
			||||||
    "version": "v6.3.0-beta.1",
 | 
					    "version": "v6.3.0-beta.1",
 | 
				
			||||||
@@ -114,41 +209,16 @@
 | 
				
			|||||||
    "version": "v4.0.1",
 | 
					    "version": "v4.0.1",
 | 
				
			||||||
    "date": "2025-08-13T05:40:30Z"
 | 
					    "date": "2025-08-13T05:40:30Z"
 | 
				
			||||||
  },
 | 
					  },
 | 
				
			||||||
  {
 | 
					 | 
				
			||||||
    "name": "goauthentik/authentik",
 | 
					 | 
				
			||||||
    "version": "version/2025.8.0-rc2",
 | 
					 | 
				
			||||||
    "date": "2025-08-12T21:12:08Z"
 | 
					 | 
				
			||||||
  },
 | 
					 | 
				
			||||||
  {
 | 
					 | 
				
			||||||
    "name": "steveiliop56/tinyauth",
 | 
					 | 
				
			||||||
    "version": "v3.6.2",
 | 
					 | 
				
			||||||
    "date": "2025-07-17T12:08:03Z"
 | 
					 | 
				
			||||||
  },
 | 
					 | 
				
			||||||
  {
 | 
					  {
 | 
				
			||||||
    "name": "coder/code-server",
 | 
					    "name": "coder/code-server",
 | 
				
			||||||
    "version": "v4.103.0",
 | 
					    "version": "v4.103.0",
 | 
				
			||||||
    "date": "2025-08-12T22:29:54Z"
 | 
					    "date": "2025-08-12T22:29:54Z"
 | 
				
			||||||
  },
 | 
					  },
 | 
				
			||||||
  {
 | 
					 | 
				
			||||||
    "name": "meilisearch/meilisearch",
 | 
					 | 
				
			||||||
    "version": "latest",
 | 
					 | 
				
			||||||
    "date": "2025-08-12T17:24:32Z"
 | 
					 | 
				
			||||||
  },
 | 
					 | 
				
			||||||
  {
 | 
					  {
 | 
				
			||||||
    "name": "netbox-community/netbox",
 | 
					    "name": "netbox-community/netbox",
 | 
				
			||||||
    "version": "v4.3.6",
 | 
					    "version": "v4.3.6",
 | 
				
			||||||
    "date": "2025-08-12T17:16:42Z"
 | 
					    "date": "2025-08-12T17:16:42Z"
 | 
				
			||||||
  },
 | 
					  },
 | 
				
			||||||
  {
 | 
					 | 
				
			||||||
    "name": "keycloak/keycloak",
 | 
					 | 
				
			||||||
    "version": "26.2.7",
 | 
					 | 
				
			||||||
    "date": "2025-08-07T08:19:29Z"
 | 
					 | 
				
			||||||
  },
 | 
					 | 
				
			||||||
  {
 | 
					 | 
				
			||||||
    "name": "fallenbagel/jellyseerr",
 | 
					 | 
				
			||||||
    "version": "preview-dns-cache-manager",
 | 
					 | 
				
			||||||
    "date": "2025-08-12T15:29:51Z"
 | 
					 | 
				
			||||||
  },
 | 
					 | 
				
			||||||
  {
 | 
					  {
 | 
				
			||||||
    "name": "Brandawg93/PeaNUT",
 | 
					    "name": "Brandawg93/PeaNUT",
 | 
				
			||||||
    "version": "v5.12.0",
 | 
					    "version": "v5.12.0",
 | 
				
			||||||
@@ -159,11 +229,6 @@
 | 
				
			|||||||
    "version": "jenkins-2.523",
 | 
					    "version": "jenkins-2.523",
 | 
				
			||||||
    "date": "2025-08-12T14:54:07Z"
 | 
					    "date": "2025-08-12T14:54:07Z"
 | 
				
			||||||
  },
 | 
					  },
 | 
				
			||||||
  {
 | 
					 | 
				
			||||||
    "name": "rcourtman/Pulse",
 | 
					 | 
				
			||||||
    "version": "v4.3.0",
 | 
					 | 
				
			||||||
    "date": "2025-08-12T13:12:33Z"
 | 
					 | 
				
			||||||
  },
 | 
					 | 
				
			||||||
  {
 | 
					  {
 | 
				
			||||||
    "name": "element-hq/synapse",
 | 
					    "name": "element-hq/synapse",
 | 
				
			||||||
    "version": "v1.136.0",
 | 
					    "version": "v1.136.0",
 | 
				
			||||||
@@ -179,11 +244,6 @@
 | 
				
			|||||||
    "version": "4.5.0",
 | 
					    "version": "4.5.0",
 | 
				
			||||||
    "date": "2025-08-12T07:03:15Z"
 | 
					    "date": "2025-08-12T07:03:15Z"
 | 
				
			||||||
  },
 | 
					  },
 | 
				
			||||||
  {
 | 
					 | 
				
			||||||
    "name": "syncthing/syncthing",
 | 
					 | 
				
			||||||
    "version": "v2.0.0",
 | 
					 | 
				
			||||||
    "date": "2025-08-12T06:13:55Z"
 | 
					 | 
				
			||||||
  },
 | 
					 | 
				
			||||||
  {
 | 
					  {
 | 
				
			||||||
    "name": "pelican-dev/panel",
 | 
					    "name": "pelican-dev/panel",
 | 
				
			||||||
    "version": "v1.0.0-beta24",
 | 
					    "version": "v1.0.0-beta24",
 | 
				
			||||||
@@ -199,11 +259,6 @@
 | 
				
			|||||||
    "version": "REL_13_22",
 | 
					    "version": "REL_13_22",
 | 
				
			||||||
    "date": "2025-08-11T21:10:58Z"
 | 
					    "date": "2025-08-11T21:10:58Z"
 | 
				
			||||||
  },
 | 
					  },
 | 
				
			||||||
  {
 | 
					 | 
				
			||||||
    "name": "mongodb/mongo",
 | 
					 | 
				
			||||||
    "version": "r8.2.0-rc4",
 | 
					 | 
				
			||||||
    "date": "2025-08-11T19:20:25Z"
 | 
					 | 
				
			||||||
  },
 | 
					 | 
				
			||||||
  {
 | 
					  {
 | 
				
			||||||
    "name": "home-assistant/core",
 | 
					    "name": "home-assistant/core",
 | 
				
			||||||
    "version": "2025.8.1",
 | 
					    "version": "2025.8.1",
 | 
				
			||||||
@@ -214,11 +269,6 @@
 | 
				
			|||||||
    "version": "v1.24.14",
 | 
					    "version": "v1.24.14",
 | 
				
			||||||
    "date": "2025-08-11T16:49:58Z"
 | 
					    "date": "2025-08-11T16:49:58Z"
 | 
				
			||||||
  },
 | 
					  },
 | 
				
			||||||
  {
 | 
					 | 
				
			||||||
    "name": "n8n-io/n8n",
 | 
					 | 
				
			||||||
    "version": "n8n@1.106.3",
 | 
					 | 
				
			||||||
    "date": "2025-08-11T15:16:06Z"
 | 
					 | 
				
			||||||
  },
 | 
					 | 
				
			||||||
  {
 | 
					  {
 | 
				
			||||||
    "name": "TwiN/gatus",
 | 
					    "name": "TwiN/gatus",
 | 
				
			||||||
    "version": "v5.22.0",
 | 
					    "version": "v5.22.0",
 | 
				
			||||||
@@ -259,11 +309,6 @@
 | 
				
			|||||||
    "version": "4.5.2",
 | 
					    "version": "4.5.2",
 | 
				
			||||||
    "date": "2025-07-09T19:08:28Z"
 | 
					    "date": "2025-07-09T19:08:28Z"
 | 
				
			||||||
  },
 | 
					  },
 | 
				
			||||||
  {
 | 
					 | 
				
			||||||
    "name": "morpheus65535/bazarr",
 | 
					 | 
				
			||||||
    "version": "v1.5.3-beta.10",
 | 
					 | 
				
			||||||
    "date": "2025-07-15T06:07:03Z"
 | 
					 | 
				
			||||||
  },
 | 
					 | 
				
			||||||
  {
 | 
					  {
 | 
				
			||||||
    "name": "moghtech/komodo",
 | 
					    "name": "moghtech/komodo",
 | 
				
			||||||
    "version": "v1.18.4",
 | 
					    "version": "v1.18.4",
 | 
				
			||||||
@@ -274,11 +319,6 @@
 | 
				
			|||||||
    "version": "v1.37.0.5076",
 | 
					    "version": "v1.37.0.5076",
 | 
				
			||||||
    "date": "2025-06-04T11:04:53Z"
 | 
					    "date": "2025-06-04T11:04:53Z"
 | 
				
			||||||
  },
 | 
					  },
 | 
				
			||||||
  {
 | 
					 | 
				
			||||||
    "name": "Luligu/matterbridge",
 | 
					 | 
				
			||||||
    "version": "3.2.2",
 | 
					 | 
				
			||||||
    "date": "2025-08-11T00:22:17Z"
 | 
					 | 
				
			||||||
  },
 | 
					 | 
				
			||||||
  {
 | 
					  {
 | 
				
			||||||
    "name": "slskd/slskd",
 | 
					    "name": "slskd/slskd",
 | 
				
			||||||
    "version": "0.23.2",
 | 
					    "version": "0.23.2",
 | 
				
			||||||
@@ -324,11 +364,6 @@
 | 
				
			|||||||
    "version": "v0.86.1",
 | 
					    "version": "v0.86.1",
 | 
				
			||||||
    "date": "2025-08-09T22:05:10Z"
 | 
					    "date": "2025-08-09T22:05:10Z"
 | 
				
			||||||
  },
 | 
					  },
 | 
				
			||||||
  {
 | 
					 | 
				
			||||||
    "name": "wizarrrr/wizarr",
 | 
					 | 
				
			||||||
    "version": "2025.8.2",
 | 
					 | 
				
			||||||
    "date": "2025-08-09T18:11:46Z"
 | 
					 | 
				
			||||||
  },
 | 
					 | 
				
			||||||
  {
 | 
					  {
 | 
				
			||||||
    "name": "Stirling-Tools/Stirling-PDF",
 | 
					    "name": "Stirling-Tools/Stirling-PDF",
 | 
				
			||||||
    "version": "v1.2.0",
 | 
					    "version": "v1.2.0",
 | 
				
			||||||
@@ -389,16 +424,6 @@
 | 
				
			|||||||
    "version": "v25.2",
 | 
					    "version": "v25.2",
 | 
				
			||||||
    "date": "2025-07-04T08:21:42Z"
 | 
					    "date": "2025-07-04T08:21:42Z"
 | 
				
			||||||
  },
 | 
					  },
 | 
				
			||||||
  {
 | 
					 | 
				
			||||||
    "name": "wazuh/wazuh",
 | 
					 | 
				
			||||||
    "version": "coverity-w32-4.13.0",
 | 
					 | 
				
			||||||
    "date": "2025-07-30T08:30:15Z"
 | 
					 | 
				
			||||||
  },
 | 
					 | 
				
			||||||
  {
 | 
					 | 
				
			||||||
    "name": "mattermost/mattermost",
 | 
					 | 
				
			||||||
    "version": "server/public/v0.1.16",
 | 
					 | 
				
			||||||
    "date": "2025-07-28T22:46:46Z"
 | 
					 | 
				
			||||||
  },
 | 
					 | 
				
			||||||
  {
 | 
					  {
 | 
				
			||||||
    "name": "apache/tika",
 | 
					    "name": "apache/tika",
 | 
				
			||||||
    "version": "3.2.2",
 | 
					    "version": "3.2.2",
 | 
				
			||||||
@@ -409,11 +434,6 @@
 | 
				
			|||||||
    "version": "mariadb-12.0.2",
 | 
					    "version": "mariadb-12.0.2",
 | 
				
			||||||
    "date": "2025-08-07T21:23:15Z"
 | 
					    "date": "2025-08-07T21:23:15Z"
 | 
				
			||||||
  },
 | 
					  },
 | 
				
			||||||
  {
 | 
					 | 
				
			||||||
    "name": "ollama/ollama",
 | 
					 | 
				
			||||||
    "version": "v0.11.4",
 | 
					 | 
				
			||||||
    "date": "2025-08-07T21:23:55Z"
 | 
					 | 
				
			||||||
  },
 | 
					 | 
				
			||||||
  {
 | 
					  {
 | 
				
			||||||
    "name": "tailscale/tailscale",
 | 
					    "name": "tailscale/tailscale",
 | 
				
			||||||
    "version": "v1.86.4",
 | 
					    "version": "v1.86.4",
 | 
				
			||||||
@@ -534,11 +554,6 @@
 | 
				
			|||||||
    "version": "pmm-6401-v1.123.0",
 | 
					    "version": "pmm-6401-v1.123.0",
 | 
				
			||||||
    "date": "2025-08-04T15:11:36Z"
 | 
					    "date": "2025-08-04T15:11:36Z"
 | 
				
			||||||
  },
 | 
					  },
 | 
				
			||||||
  {
 | 
					 | 
				
			||||||
    "name": "Paymenter/Paymenter",
 | 
					 | 
				
			||||||
    "version": "v1.2.8",
 | 
					 | 
				
			||||||
    "date": "2025-08-04T13:44:03Z"
 | 
					 | 
				
			||||||
  },
 | 
					 | 
				
			||||||
  {
 | 
					  {
 | 
				
			||||||
    "name": "apache/tomcat",
 | 
					    "name": "apache/tomcat",
 | 
				
			||||||
    "version": "10.1.44",
 | 
					    "version": "10.1.44",
 | 
				
			||||||
@@ -629,11 +644,6 @@
 | 
				
			|||||||
    "version": "1.23.1",
 | 
					    "version": "1.23.1",
 | 
				
			||||||
    "date": "2025-08-01T04:30:24Z"
 | 
					    "date": "2025-08-01T04:30:24Z"
 | 
				
			||||||
  },
 | 
					  },
 | 
				
			||||||
  {
 | 
					 | 
				
			||||||
    "name": "gristlabs/grist-core",
 | 
					 | 
				
			||||||
    "version": "v1.7.1",
 | 
					 | 
				
			||||||
    "date": "2025-07-31T22:26:54Z"
 | 
					 | 
				
			||||||
  },
 | 
					 | 
				
			||||||
  {
 | 
					  {
 | 
				
			||||||
    "name": "lazy-media/Reactive-Resume",
 | 
					    "name": "lazy-media/Reactive-Resume",
 | 
				
			||||||
    "version": "v1.2.3",
 | 
					    "version": "v1.2.3",
 | 
				
			||||||
@@ -699,11 +709,6 @@
 | 
				
			|||||||
    "version": "v0.58.0",
 | 
					    "version": "v0.58.0",
 | 
				
			||||||
    "date": "2025-07-28T18:59:50Z"
 | 
					    "date": "2025-07-28T18:59:50Z"
 | 
				
			||||||
  },
 | 
					  },
 | 
				
			||||||
  {
 | 
					 | 
				
			||||||
    "name": "AdguardTeam/AdGuardHome",
 | 
					 | 
				
			||||||
    "version": "v0.107.64",
 | 
					 | 
				
			||||||
    "date": "2025-07-28T14:24:56Z"
 | 
					 | 
				
			||||||
  },
 | 
					 | 
				
			||||||
  {
 | 
					  {
 | 
				
			||||||
    "name": "PrivateBin/PrivateBin",
 | 
					    "name": "PrivateBin/PrivateBin",
 | 
				
			||||||
    "version": "2.0.0",
 | 
					    "version": "2.0.0",
 | 
				
			||||||
@@ -769,11 +774,6 @@
 | 
				
			|||||||
    "version": "5.0.0",
 | 
					    "version": "5.0.0",
 | 
				
			||||||
    "date": "2025-07-21T07:16:58Z"
 | 
					    "date": "2025-07-21T07:16:58Z"
 | 
				
			||||||
  },
 | 
					  },
 | 
				
			||||||
  {
 | 
					 | 
				
			||||||
    "name": "linkwarden/linkwarden",
 | 
					 | 
				
			||||||
    "version": "v2.11.5",
 | 
					 | 
				
			||||||
    "date": "2025-07-20T03:14:42Z"
 | 
					 | 
				
			||||||
  },
 | 
					 | 
				
			||||||
  {
 | 
					  {
 | 
				
			||||||
    "name": "wavelog/wavelog",
 | 
					    "name": "wavelog/wavelog",
 | 
				
			||||||
    "version": "2.0.7",
 | 
					    "version": "2.0.7",
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -1,35 +1,35 @@
 | 
				
			|||||||
{
 | 
					{
 | 
				
			||||||
    "name": "Wiki.js",
 | 
					  "name": "Wiki.js",
 | 
				
			||||||
    "slug": "wikijs",
 | 
					  "slug": "wikijs",
 | 
				
			||||||
    "categories": [
 | 
					  "categories": [
 | 
				
			||||||
        12
 | 
					    12
 | 
				
			||||||
    ],
 | 
					  ],
 | 
				
			||||||
    "date_created": "2024-05-02",
 | 
					  "date_created": "2024-05-02",
 | 
				
			||||||
    "type": "ct",
 | 
					  "type": "ct",
 | 
				
			||||||
    "updateable": true,
 | 
					  "updateable": true,
 | 
				
			||||||
    "privileged": false,
 | 
					  "privileged": false,
 | 
				
			||||||
    "interface_port": 3000,
 | 
					  "interface_port": 3000,
 | 
				
			||||||
    "documentation": null,
 | 
					  "documentation": "https://docs.requarks.io/",
 | 
				
			||||||
    "website": "https://js.wiki/",
 | 
					  "website": "https://js.wiki/",
 | 
				
			||||||
    "logo": "https://cdn.jsdelivr.net/gh/selfhst/icons/webp/wiki-js.webp",
 | 
					  "logo": "https://cdn.jsdelivr.net/gh/selfhst/icons/webp/wiki-js.webp",
 | 
				
			||||||
    "config_path": "/opt/wikijs/config.yml",
 | 
					  "config_path": "/opt/wikijs/config.yml",
 | 
				
			||||||
    "description": "Wiki.js is a free, open-source, and modern wiki application built using Node.js. It is designed to be fast, easy to use, and flexible, with a range of features for collaboration, knowledge management, and content creation. Wiki.js supports Markdown syntax for editing pages, and includes features such as version control, page history, and access control, making it easy to manage content and collaborate with others. The software is fully customizable, with a range of themes and extensions available, and can be deployed on a local server or in the cloud, making it an ideal choice for small teams and organizations looking to create and manage a wiki. Wiki.js provides a modern, user-friendly interface, and supports a range of data sources, including local file systems, databases, and cloud storage services.",
 | 
					  "description": "Wiki.js is a free, open-source, and modern wiki application built using Node.js. It is designed to be fast, easy to use, and flexible, with a range of features for collaboration, knowledge management, and content creation. Wiki.js supports Markdown syntax for editing pages, and includes features such as version control, page history, and access control, making it easy to manage content and collaborate with others. The software is fully customizable, with a range of themes and extensions available, and can be deployed on a local server or in the cloud, making it an ideal choice for small teams and organizations looking to create and manage a wiki. Wiki.js provides a modern, user-friendly interface, and supports a range of data sources, including local file systems, databases, and cloud storage services.",
 | 
				
			||||||
    "install_methods": [
 | 
					  "install_methods": [
 | 
				
			||||||
        {
 | 
					    {
 | 
				
			||||||
            "type": "default",
 | 
					      "type": "default",
 | 
				
			||||||
            "script": "ct/wikijs.sh",
 | 
					      "script": "ct/wikijs.sh",
 | 
				
			||||||
            "resources": {
 | 
					      "resources": {
 | 
				
			||||||
                "cpu": 2,
 | 
					        "cpu": 2,
 | 
				
			||||||
                "ram": 2048,
 | 
					        "ram": 2048,
 | 
				
			||||||
                "hdd": 7,
 | 
					        "hdd": 7,
 | 
				
			||||||
                "os": "debian",
 | 
					        "os": "debian",
 | 
				
			||||||
                "version": "12"
 | 
					        "version": "12"
 | 
				
			||||||
            }
 | 
					      }
 | 
				
			||||||
        }
 | 
					    }
 | 
				
			||||||
    ],
 | 
					  ],
 | 
				
			||||||
    "default_credentials": {
 | 
					  "default_credentials": {
 | 
				
			||||||
        "username": null,
 | 
					    "username": null,
 | 
				
			||||||
        "password": null
 | 
					    "password": null
 | 
				
			||||||
    },
 | 
					  },
 | 
				
			||||||
    "notes": []
 | 
					  "notes": []
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -46,6 +46,10 @@
 | 
				
			|||||||
    {
 | 
					    {
 | 
				
			||||||
      "text": "Wireguard and WGDashboard are not the same. More info: `https://docs.wgdashboard.dev/what-is-wireguard-what-is-wgdashboard.html`",
 | 
					      "text": "Wireguard and WGDashboard are not the same. More info: `https://docs.wgdashboard.dev/what-is-wireguard-what-is-wgdashboard.html`",
 | 
				
			||||||
      "type": "info"
 | 
					      "type": "info"
 | 
				
			||||||
 | 
					    },
 | 
				
			||||||
 | 
					    {
 | 
				
			||||||
 | 
					      "text": "WGDashboard installation is optional.`",
 | 
				
			||||||
 | 
					      "type": "info"
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
  ]
 | 
					  ]
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -9,7 +9,7 @@
 | 
				
			|||||||
  "updateable": true,
 | 
					  "updateable": true,
 | 
				
			||||||
  "privileged": false,
 | 
					  "privileged": false,
 | 
				
			||||||
  "interface_port": 3000,
 | 
					  "interface_port": 3000,
 | 
				
			||||||
  "documentation": null,
 | 
					  "documentation": "https://zipline.diced.sh/docs/get-started",
 | 
				
			||||||
  "website": "https://zipline.diced.sh/",
 | 
					  "website": "https://zipline.diced.sh/",
 | 
				
			||||||
  "logo": "https://cdn.jsdelivr.net/gh/selfhst/icons/webp/zipline.webp",
 | 
					  "logo": "https://cdn.jsdelivr.net/gh/selfhst/icons/webp/zipline.webp",
 | 
				
			||||||
  "config_path": "/opt/zipline/.env",
 | 
					  "config_path": "/opt/zipline/.env",
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -1,35 +1,35 @@
 | 
				
			|||||||
{
 | 
					{
 | 
				
			||||||
    "name": "Zoraxy",
 | 
					  "name": "Zoraxy",
 | 
				
			||||||
    "slug": "zoraxy",
 | 
					  "slug": "zoraxy",
 | 
				
			||||||
    "categories": [
 | 
					  "categories": [
 | 
				
			||||||
        4
 | 
					    4
 | 
				
			||||||
    ],
 | 
					  ],
 | 
				
			||||||
    "date_created": "2024-05-02",
 | 
					  "date_created": "2024-05-02",
 | 
				
			||||||
    "type": "ct",
 | 
					  "type": "ct",
 | 
				
			||||||
    "updateable": true,
 | 
					  "updateable": true,
 | 
				
			||||||
    "privileged": false,
 | 
					  "privileged": false,
 | 
				
			||||||
    "interface_port": 8000,
 | 
					  "interface_port": 8000,
 | 
				
			||||||
    "documentation": null,
 | 
					  "documentation": "https://github.com/tobychui/zoraxy/wiki",
 | 
				
			||||||
    "website": "https://zoraxy.aroz.org/",
 | 
					  "website": "https://zoraxy.aroz.org/",
 | 
				
			||||||
    "logo": "https://cdn.jsdelivr.net/gh/selfhst/icons/webp/zoraxy.webp",
 | 
					  "logo": "https://cdn.jsdelivr.net/gh/selfhst/icons/webp/zoraxy.webp",
 | 
				
			||||||
    "config_path": "",
 | 
					  "config_path": "",
 | 
				
			||||||
    "description": "Zoraxy is an all in one homelab network routing solution.",
 | 
					  "description": "Zoraxy is an all in one homelab network routing solution.",
 | 
				
			||||||
    "install_methods": [
 | 
					  "install_methods": [
 | 
				
			||||||
        {
 | 
					    {
 | 
				
			||||||
            "type": "default",
 | 
					      "type": "default",
 | 
				
			||||||
            "script": "ct/zoraxy.sh",
 | 
					      "script": "ct/zoraxy.sh",
 | 
				
			||||||
            "resources": {
 | 
					      "resources": {
 | 
				
			||||||
                "cpu": 2,
 | 
					        "cpu": 2,
 | 
				
			||||||
                "ram": 2048,
 | 
					        "ram": 2048,
 | 
				
			||||||
                "hdd": 6,
 | 
					        "hdd": 6,
 | 
				
			||||||
                "os": "debian",
 | 
					        "os": "debian",
 | 
				
			||||||
                "version": "12"
 | 
					        "version": "12"
 | 
				
			||||||
            }
 | 
					      }
 | 
				
			||||||
        }
 | 
					    }
 | 
				
			||||||
    ],
 | 
					  ],
 | 
				
			||||||
    "default_credentials": {
 | 
					  "default_credentials": {
 | 
				
			||||||
        "username": null,
 | 
					    "username": null,
 | 
				
			||||||
        "password": null
 | 
					    "password": null
 | 
				
			||||||
    },
 | 
					  },
 | 
				
			||||||
    "notes": []
 | 
					  "notes": []
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -455,6 +455,8 @@ systemctl enable -q --now "$APPLICATION"-ml.service "$APPLICATION"-web.service
 | 
				
			|||||||
msg_ok "Created user, env file, scripts and services"
 | 
					msg_ok "Created user, env file, scripts and services"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
sed -i "$ a VERSION_ID=12" /etc/os-release # otherwise the motd_ssh function will fail
 | 
					sed -i "$ a VERSION_ID=12" /etc/os-release # otherwise the motd_ssh function will fail
 | 
				
			||||||
 | 
					cp /etc/debian_version ~/.debian_version.bak
 | 
				
			||||||
 | 
					sed -i 's/.*/13.0/' /etc/debian_version
 | 
				
			||||||
motd_ssh
 | 
					motd_ssh
 | 
				
			||||||
customize
 | 
					customize
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -34,7 +34,7 @@ chown -R pulse:pulse /etc/pulse /opt/pulse
 | 
				
			|||||||
msg_ok "Installed Pulse"
 | 
					msg_ok "Installed Pulse"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
msg_info "Creating Service"
 | 
					msg_info "Creating Service"
 | 
				
			||||||
cat <<EOF >/etc/systemd/system/pulse.service
 | 
					cat <<EOF >/etc/systemd/system/pulse-backend.service
 | 
				
			||||||
[Unit]
 | 
					[Unit]
 | 
				
			||||||
Description=Pulse Monitoring Server
 | 
					Description=Pulse Monitoring Server
 | 
				
			||||||
After=network.target
 | 
					After=network.target
 | 
				
			||||||
@@ -44,7 +44,7 @@ Type=simple
 | 
				
			|||||||
User=pulse
 | 
					User=pulse
 | 
				
			||||||
Group=pulse
 | 
					Group=pulse
 | 
				
			||||||
WorkingDirectory=/opt/pulse
 | 
					WorkingDirectory=/opt/pulse
 | 
				
			||||||
ExecStart=/opt/pulse/pulse
 | 
					ExecStart=/opt/pulse/bin/pulse
 | 
				
			||||||
Restart=always
 | 
					Restart=always
 | 
				
			||||||
RestartSec=3
 | 
					RestartSec=3
 | 
				
			||||||
StandardOutput=journal
 | 
					StandardOutput=journal
 | 
				
			||||||
@@ -55,7 +55,7 @@ Environment="PULSE_DATA_DIR=/etc/pulse"
 | 
				
			|||||||
[Install]
 | 
					[Install]
 | 
				
			||||||
WantedBy=multi-user.target
 | 
					WantedBy=multi-user.target
 | 
				
			||||||
EOF
 | 
					EOF
 | 
				
			||||||
systemctl enable -q --now pulse
 | 
					systemctl enable -q --now pulse-backend
 | 
				
			||||||
msg_ok "Created Service"
 | 
					msg_ok "Created Service"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
motd_ssh
 | 
					motd_ssh
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -13,34 +13,36 @@ setting_up_container
 | 
				
			|||||||
network_check
 | 
					network_check
 | 
				
			||||||
update_os
 | 
					update_os
 | 
				
			||||||
 | 
					
 | 
				
			||||||
msg_info "Installing Dependencies (Patience)"
 | 
					msg_info "Installing SearXNG dependencies"
 | 
				
			||||||
 | 
					echo "deb http://deb.debian.org/debian bookworm-backports main" > /etc/apt/sources.list.d/backports.list
 | 
				
			||||||
 | 
					$STD apt-get update
 | 
				
			||||||
$STD apt-get install -y \
 | 
					$STD apt-get install -y \
 | 
				
			||||||
  redis-server \
 | 
					  python3-dev python3-babel python3-venv python-is-python3 \
 | 
				
			||||||
  build-essential \
 | 
					  uwsgi uwsgi-plugin-python3 \
 | 
				
			||||||
  libffi-dev \
 | 
					  git build-essential libxslt-dev zlib1g-dev libffi-dev libssl-dev sudo valkey
 | 
				
			||||||
  libssl-dev \
 | 
					msg_ok "Installed dependencies"
 | 
				
			||||||
  git
 | 
					 | 
				
			||||||
msg_ok "Installed Dependencies"
 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
msg_info "Setup Python3"
 | 
					msg_info "Creating user and preparing directories"
 | 
				
			||||||
$STD apt-get install -y \
 | 
					useradd --system --shell /bin/bash --home-dir "/usr/local/searxng" --comment 'Privacy-respecting metasearch engine' searxng || true
 | 
				
			||||||
  python3 \
 | 
					mkdir -p /usr/local/searxng
 | 
				
			||||||
  python3-{pip,venv,yaml,dev}
 | 
					chown -R searxng:searxng /usr/local/searxng
 | 
				
			||||||
$STD pip install --upgrade pip setuptools wheel
 | 
					msg_ok "User and directories ready"
 | 
				
			||||||
$STD pip install pyyaml
 | 
					 | 
				
			||||||
msg_ok "Setup Python3"
 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
msg_info "Setup SearXNG"
 | 
					msg_info "Cloning SearXNG source"
 | 
				
			||||||
mkdir -p /usr/local/searxng /etc/searxng
 | 
					$STD sudo -H -u searxng git clone https://github.com/searxng/searxng /usr/local/searxng/searxng-src
 | 
				
			||||||
useradd -d /etc/searxng searxng
 | 
					msg_ok "Cloned SearXNG"
 | 
				
			||||||
chown searxng:searxng /usr/local/searxng /etc/searxng
 | 
					
 | 
				
			||||||
$STD git clone https://github.com/searxng/searxng.git /usr/local/searxng/searxng-src
 | 
					msg_info "Creating Python virtual environment"
 | 
				
			||||||
cd /usr/local/searxng/
 | 
					sudo -H -u searxng bash -c "
 | 
				
			||||||
sudo -u searxng python3 -m venv /usr/local/searxng/searx-pyenv
 | 
					  python3 -m venv /usr/local/searxng/searx-pyenv &&
 | 
				
			||||||
source /usr/local/searxng/searx-pyenv/bin/activate
 | 
					  . /usr/local/searxng/searx-pyenv/bin/activate &&
 | 
				
			||||||
$STD pip install --upgrade pip setuptools wheel
 | 
					  $STD pip install -U pip setuptools wheel pyyaml &&
 | 
				
			||||||
$STD pip install pyyaml
 | 
					  $STD pip install --use-pep517 --no-build-isolation -e /usr/local/searxng/searxng-src
 | 
				
			||||||
$STD pip install --use-pep517 --no-build-isolation -e /usr/local/searxng/searxng-src
 | 
					"
 | 
				
			||||||
 | 
					msg_ok "Python environment ready"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					msg_info "Configuring SearXNG settings"
 | 
				
			||||||
 | 
					mkdir -p /etc/searxng
 | 
				
			||||||
SECRET_KEY=$(openssl rand -hex 32)
 | 
					SECRET_KEY=$(openssl rand -hex 32)
 | 
				
			||||||
cat <<EOF >/etc/searxng/settings.yml
 | 
					cat <<EOF >/etc/searxng/settings.yml
 | 
				
			||||||
# SearXNG settings
 | 
					# SearXNG settings
 | 
				
			||||||
@@ -56,8 +58,8 @@ server:
 | 
				
			|||||||
  secret_key: "${SECRET_KEY}"
 | 
					  secret_key: "${SECRET_KEY}"
 | 
				
			||||||
  limiter: false
 | 
					  limiter: false
 | 
				
			||||||
  image_proxy: true
 | 
					  image_proxy: true
 | 
				
			||||||
redis:
 | 
					valkey:
 | 
				
			||||||
  url: "redis://127.0.0.1:6379/0"
 | 
					  url: "valkey://localhost:6379/0"
 | 
				
			||||||
ui:
 | 
					ui:
 | 
				
			||||||
  static_use_hash: true
 | 
					  static_use_hash: true
 | 
				
			||||||
enabled_plugins:
 | 
					enabled_plugins:
 | 
				
			||||||
@@ -78,16 +80,17 @@ engines:
 | 
				
			|||||||
    shortcut: ddg
 | 
					    shortcut: ddg
 | 
				
			||||||
    display_error_messages: true
 | 
					    display_error_messages: true
 | 
				
			||||||
EOF
 | 
					EOF
 | 
				
			||||||
 | 
					
 | 
				
			||||||
chown searxng:searxng /etc/searxng/settings.yml
 | 
					chown searxng:searxng /etc/searxng/settings.yml
 | 
				
			||||||
chmod 640 /etc/searxng/settings.yml
 | 
					chmod 640 /etc/searxng/settings.yml
 | 
				
			||||||
msg_ok "Setup SearXNG"
 | 
					msg_ok "Configured settings"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
msg_info "Set up web services"
 | 
					msg_info "Set up web services"
 | 
				
			||||||
cat <<EOF >/etc/systemd/system/searxng.service
 | 
					cat <<EOF >/etc/systemd/system/searxng.service
 | 
				
			||||||
[Unit]
 | 
					[Unit]
 | 
				
			||||||
Description=SearXNG service
 | 
					Description=SearXNG service
 | 
				
			||||||
After=network.target redis-server.service
 | 
					After=network.target valkey-server.service
 | 
				
			||||||
Wants=redis-server.service
 | 
					Wants=valkey-server.service
 | 
				
			||||||
 | 
					
 | 
				
			||||||
[Service]
 | 
					[Service]
 | 
				
			||||||
Type=simple
 | 
					Type=simple
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -43,17 +43,19 @@ echo "${RELEASE}" >/opt/${APPLICATION}_version.txt
 | 
				
			|||||||
msg_ok "Installed Spoolman"
 | 
					msg_ok "Installed Spoolman"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
msg_info "Creating Service"
 | 
					msg_info "Creating Service"
 | 
				
			||||||
cat <<EOF >/etc/systemd/system/spoolman.service
 | 
					cat <<'EOF' >/etc/systemd/system/spoolman.service
 | 
				
			||||||
[Unit]
 | 
					[Unit]
 | 
				
			||||||
Description=Spoolman
 | 
					Description=Spoolman
 | 
				
			||||||
After=network.target
 | 
					After=network.target
 | 
				
			||||||
 | 
					
 | 
				
			||||||
[Service]
 | 
					[Service]
 | 
				
			||||||
Type=simple
 | 
					Type=simple
 | 
				
			||||||
WorkingDirectory=/opt/spoolman
 | 
					WorkingDirectory=/opt/spoolman
 | 
				
			||||||
EnvironmentFile=/opt/spoolman/.env
 | 
					EnvironmentFile=/opt/spoolman/.env
 | 
				
			||||||
ExecStart=uvicorn spoolman.main:app --host 0.0.0.0 --port 7912
 | 
					ExecStart=uvicorn spoolman.main:app --host "${SPOOLMAN_HOST}" --port "${SPOOLMAN_PORT}"
 | 
				
			||||||
Restart=always
 | 
					Restart=always
 | 
				
			||||||
User=root
 | 
					User=root
 | 
				
			||||||
 | 
					
 | 
				
			||||||
[Install]
 | 
					[Install]
 | 
				
			||||||
WantedBy=multi-user.target
 | 
					WantedBy=multi-user.target
 | 
				
			||||||
EOF
 | 
					EOF
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -20,6 +20,7 @@ msg_ok "Installed Dependencies"
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
NODE_VERSION="20" NODE_MODULE="yarn@latest,node-gyp" setup_nodejs
 | 
					NODE_VERSION="20" NODE_MODULE="yarn@latest,node-gyp" setup_nodejs
 | 
				
			||||||
PG_VERSION="17" setup_postgresql
 | 
					PG_VERSION="17" setup_postgresql
 | 
				
			||||||
 | 
					fetch_and_deploy_gh_release "wikijs" "requarks/wiki" "prebuild" "latest" "/opt/wikijs" "wiki-js.tar.gz"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
msg_info "Set up PostgreSQL"
 | 
					msg_info "Set up PostgreSQL"
 | 
				
			||||||
DB_NAME="wiki"
 | 
					DB_NAME="wiki"
 | 
				
			||||||
@@ -39,17 +40,11 @@ $STD sudo -u postgres psql -c "ALTER ROLE $DB_USER SET timezone TO 'UTC';"
 | 
				
			|||||||
} >>~/wikijs.creds
 | 
					} >>~/wikijs.creds
 | 
				
			||||||
msg_ok "Set up PostgreSQL"
 | 
					msg_ok "Set up PostgreSQL"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
msg_info "Setup Wiki.js"
 | 
					msg_info "Configuring Wiki.js"
 | 
				
			||||||
temp_file=$(mktemp)
 | 
					 | 
				
			||||||
RELEASE=$(curl -fsSL https://api.github.com/repos/Requarks/wiki/releases/latest | grep "tag_name" | awk '{print substr($2, 3, length($2)-4) }')
 | 
					 | 
				
			||||||
curl -fsSL "https://github.com/requarks/wiki/releases/download/v${RELEASE}/wiki-js.tar.gz" -o ""$temp_file""
 | 
					 | 
				
			||||||
mkdir /opt/wikijs
 | 
					 | 
				
			||||||
tar -xzf "$temp_file" -C /opt/wikijs
 | 
					 | 
				
			||||||
mv /opt/wikijs/config.sample.yml /opt/wikijs/config.yml
 | 
					mv /opt/wikijs/config.sample.yml /opt/wikijs/config.yml
 | 
				
			||||||
sed -i -E 's|^( *user: ).*|\1'"$DB_USER"'|' /opt/wikijs/config.yml
 | 
					sed -i -E 's|^( *user: ).*|\1'"$DB_USER"'|' /opt/wikijs/config.yml
 | 
				
			||||||
sed -i -E 's|^( *pass: ).*|\1'"$DB_PASS"'|' /opt/wikijs/config.yml
 | 
					sed -i -E 's|^( *pass: ).*|\1'"$DB_PASS"'|' /opt/wikijs/config.yml
 | 
				
			||||||
echo "${RELEASE}" >"/opt/${APPLICATION}_version.txt"
 | 
					msg_ok "Configured Wiki.js"
 | 
				
			||||||
msg_ok "Installed Wiki.js"
 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
msg_info "Creating Service"
 | 
					msg_info "Creating Service"
 | 
				
			||||||
cat <<EOF >/etc/systemd/system/wikijs.service
 | 
					cat <<EOF >/etc/systemd/system/wikijs.service
 | 
				
			||||||
@@ -75,7 +70,6 @@ motd_ssh
 | 
				
			|||||||
customize
 | 
					customize
 | 
				
			||||||
 | 
					
 | 
				
			||||||
msg_info "Cleaning up"
 | 
					msg_info "Cleaning up"
 | 
				
			||||||
rm -f "$temp_file"
 | 
					 | 
				
			||||||
$STD apt-get -y autoremove
 | 
					$STD apt-get -y autoremove
 | 
				
			||||||
$STD apt-get -y autoclean
 | 
					$STD apt-get -y autoclean
 | 
				
			||||||
msg_ok "Cleaned"
 | 
					msg_ok "Cleaned"
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -13,28 +13,27 @@ setting_up_container
 | 
				
			|||||||
network_check
 | 
					network_check
 | 
				
			||||||
update_os
 | 
					update_os
 | 
				
			||||||
 | 
					
 | 
				
			||||||
msg_info "Installing Dependencies"
 | 
					 | 
				
			||||||
$STD apt-get install -y git
 | 
					 | 
				
			||||||
msg_ok "Installed Dependencies"
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
msg_info "Installing WireGuard"
 | 
					msg_info "Installing WireGuard"
 | 
				
			||||||
$STD apt-get install -y wireguard wireguard-tools net-tools iptables
 | 
					$STD apt-get install -y wireguard wireguard-tools net-tools iptables
 | 
				
			||||||
DEBIAN_FRONTEND=noninteractive apt-get -o Dpkg::Options::="--force-confnew" install -y iptables-persistent &>/dev/null
 | 
					DEBIAN_FRONTEND=noninteractive apt-get -o Dpkg::Options::="--force-confnew" install -y iptables-persistent &>/dev/null
 | 
				
			||||||
$STD netfilter-persistent reload
 | 
					$STD netfilter-persistent reload
 | 
				
			||||||
msg_ok "Installed WireGuard"
 | 
					msg_ok "Installed WireGuard"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
msg_info "Installing WGDashboard"
 | 
					read -r -p "${TAB3}Would you like to add WGDashboard? <y/N> " prompt
 | 
				
			||||||
git clone -q https://github.com/donaldzou/WGDashboard.git /etc/wgdashboard
 | 
					if [[ "${prompt,,}" =~ ^(y|yes)$ ]]; then
 | 
				
			||||||
cd /etc/wgdashboard/src
 | 
					  fetch_and_deploy_gh_release "wgdashboard" "donaldzou/WGDashboard" "tarball" "latest" "/etc/wgdashboard"
 | 
				
			||||||
chmod u+x wgd.sh
 | 
					 | 
				
			||||||
$STD ./wgd.sh install
 | 
					 | 
				
			||||||
echo "net.ipv4.ip_forward=1" >>/etc/sysctl.conf
 | 
					 | 
				
			||||||
$STD sysctl -p /etc/sysctl.conf
 | 
					 | 
				
			||||||
msg_ok "Installed WGDashboard"
 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
msg_info "Create Example Config for WGDashboard"
 | 
					  msg_info "Installing WGDashboard"
 | 
				
			||||||
private_key=$(wg genkey)
 | 
					  cd /etc/wgdashboard/src
 | 
				
			||||||
cat <<EOF >/etc/wireguard/wg0.conf
 | 
					  chmod u+x wgd.sh
 | 
				
			||||||
 | 
					  $STD ./wgd.sh install
 | 
				
			||||||
 | 
					  echo "net.ipv4.ip_forward=1" >>/etc/sysctl.conf
 | 
				
			||||||
 | 
					  $STD sysctl -p /etc/sysctl.conf
 | 
				
			||||||
 | 
					  msg_ok "Installed WGDashboard"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  msg_info "Create Example Config for WGDashboard"
 | 
				
			||||||
 | 
					  private_key=$(wg genkey)
 | 
				
			||||||
 | 
					  cat <<EOF >/etc/wireguard/wg0.conf
 | 
				
			||||||
[Interface]
 | 
					[Interface]
 | 
				
			||||||
PrivateKey = ${private_key}
 | 
					PrivateKey = ${private_key}
 | 
				
			||||||
Address = 10.0.0.1/24
 | 
					Address = 10.0.0.1/24
 | 
				
			||||||
@@ -43,10 +42,10 @@ PostUp = iptables -A FORWARD -i wg0 -j ACCEPT; iptables -A FORWARD -o wg0 -j ACC
 | 
				
			|||||||
PostDown = iptables -D FORWARD -i wg0 -j ACCEPT; iptables -D FORWARD -o wg0 -j ACCEPT; iptables -t nat -D POSTROUTING -o eth0 -j MASQUERADE;
 | 
					PostDown = iptables -D FORWARD -i wg0 -j ACCEPT; iptables -D FORWARD -o wg0 -j ACCEPT; iptables -t nat -D POSTROUTING -o eth0 -j MASQUERADE;
 | 
				
			||||||
ListenPort = 51820
 | 
					ListenPort = 51820
 | 
				
			||||||
EOF
 | 
					EOF
 | 
				
			||||||
msg_ok "Created Example Config for WGDashboard"
 | 
					  msg_ok "Created Example Config for WGDashboard"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
msg_info "Creating Service"
 | 
					  msg_info "Creating Service"
 | 
				
			||||||
cat <<EOF >/etc/systemd/system/wg-dashboard.service
 | 
					  cat <<EOF >/etc/systemd/system/wg-dashboard.service
 | 
				
			||||||
[Unit]
 | 
					[Unit]
 | 
				
			||||||
After=syslog.target network-online.target
 | 
					After=syslog.target network-online.target
 | 
				
			||||||
Wants=wg-quick.target
 | 
					Wants=wg-quick.target
 | 
				
			||||||
@@ -66,8 +65,9 @@ Restart=always
 | 
				
			|||||||
[Install]
 | 
					[Install]
 | 
				
			||||||
WantedBy=multi-user.target
 | 
					WantedBy=multi-user.target
 | 
				
			||||||
EOF
 | 
					EOF
 | 
				
			||||||
systemctl enable -q --now wg-dashboard
 | 
					  systemctl enable -q --now wg-dashboard
 | 
				
			||||||
msg_ok "Created Service"
 | 
					  msg_ok "Created Service"
 | 
				
			||||||
 | 
					fi
 | 
				
			||||||
 | 
					
 | 
				
			||||||
motd_ssh
 | 
					motd_ssh
 | 
				
			||||||
customize
 | 
					customize
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -13,13 +13,7 @@ setting_up_container
 | 
				
			|||||||
network_check
 | 
					network_check
 | 
				
			||||||
update_os
 | 
					update_os
 | 
				
			||||||
 | 
					
 | 
				
			||||||
msg_info "Installing Dependencies (Patience)"
 | 
					PHP_VERSION="8.4" PHP_FPM="YES" PHP_MODULE="common,snmp,imap,mysql" PHP_APACHE="YES" setup_php
 | 
				
			||||||
$STD apt-get install -y \
 | 
					 | 
				
			||||||
  apache2 \
 | 
					 | 
				
			||||||
  php8.2-{bcmath,common,cli,curl,fpm,gd,snmp,imap,mbstring,mysql,xml,zip} \
 | 
					 | 
				
			||||||
  libapache2-mod-php
 | 
					 | 
				
			||||||
msg_ok "Installed Dependencies"
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
setup_mariadb
 | 
					setup_mariadb
 | 
				
			||||||
 | 
					
 | 
				
			||||||
msg_info "Setting up Database"
 | 
					msg_info "Setting up Database"
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -17,17 +17,8 @@ msg_info "Installing Dependencies"
 | 
				
			|||||||
$STD apt-get install -y ffmpeg
 | 
					$STD apt-get install -y ffmpeg
 | 
				
			||||||
msg_ok "Installed Dependencies"
 | 
					msg_ok "Installed Dependencies"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
msg_info "Installing ${APPLICATION}"
 | 
					fetch_and_deploy_gh_release "yt-dlp-webui" "marcopiovanello/yt-dlp-web-ui" "singlefile" "latest" "/usr/local/bin" "yt-dlp-webui_linux-amd64"
 | 
				
			||||||
RELEASE=$(curl -fsSL https://api.github.com/repos/marcopiovanello/yt-dlp-web-ui/releases/latest | grep "tag_name" | awk '{print substr($2, 3, length($2)-4) }')
 | 
					fetch_and_deploy_gh_release "yt-dlp" "yt-dlp/yt-dlp" "singlefile" "latest" "/usr/local/bin" "yt-dlp"
 | 
				
			||||||
curl -fsSL "https://github.com/marcopiovanello/yt-dlp-web-ui/releases/download/v${RELEASE}/yt-dlp-webui_linux-amd64" -o "/usr/local/bin/yt-dlp-webui"
 | 
					 | 
				
			||||||
chmod +x /usr/local/bin/yt-dlp-webui
 | 
					 | 
				
			||||||
echo "${RELEASE}" >"/opt/${APPLICATION}_version.txt"
 | 
					 | 
				
			||||||
msg_ok "Installed ${APPLICATION}"
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
msg_info "Installing yt-dlp"
 | 
					 | 
				
			||||||
curl -fsSL "https://github.com/yt-dlp/yt-dlp/releases/latest/download/yt-dlp" -o "/usr/local/bin/yt-dlp"
 | 
					 | 
				
			||||||
chmod a+rx /usr/local/bin/yt-dlp
 | 
					 | 
				
			||||||
msg_ok "Installed yt-dlp"
 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
msg_info "Setting up ${APPLICATION}"
 | 
					msg_info "Setting up ${APPLICATION}"
 | 
				
			||||||
mkdir -p /opt/yt-dlp-webui
 | 
					mkdir -p /opt/yt-dlp-webui
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -16,6 +16,7 @@ update_os
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
NODE_VERSION="22" NODE_MODULE="pnpm@latest" setup_nodejs
 | 
					NODE_VERSION="22" NODE_MODULE="pnpm@latest" setup_nodejs
 | 
				
			||||||
PG_VERSION="16" setup_postgresql
 | 
					PG_VERSION="16" setup_postgresql
 | 
				
			||||||
 | 
					fetch_and_deploy_gh_release "zipline" "diced/zipline" "tarball"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
msg_info "Setting up PostgreSQL"
 | 
					msg_info "Setting up PostgreSQL"
 | 
				
			||||||
DB_NAME=ziplinedb
 | 
					DB_NAME=ziplinedb
 | 
				
			||||||
@@ -37,11 +38,6 @@ $STD sudo -u postgres psql -c "ALTER ROLE $DB_USER SET timezone TO 'UTC'"
 | 
				
			|||||||
msg_ok "Set up PostgreSQL"
 | 
					msg_ok "Set up PostgreSQL"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
msg_info "Installing Zipline (Patience)"
 | 
					msg_info "Installing Zipline (Patience)"
 | 
				
			||||||
cd /opt
 | 
					 | 
				
			||||||
RELEASE=$(curl -fsSL https://api.github.com/repos/diced/zipline/releases/latest | grep "tag_name" | awk '{print substr($2, 3, length($2)-4) }')
 | 
					 | 
				
			||||||
curl -fsSL "https://github.com/diced/zipline/archive/refs/tags/v${RELEASE}.zip" -o "v${RELEASE}.zip"
 | 
					 | 
				
			||||||
$STD unzip v"${RELEASE}".zip
 | 
					 | 
				
			||||||
mv zipline-"${RELEASE}" /opt/zipline
 | 
					 | 
				
			||||||
cd /opt/zipline
 | 
					cd /opt/zipline
 | 
				
			||||||
cat <<EOF >/opt/zipline/.env
 | 
					cat <<EOF >/opt/zipline/.env
 | 
				
			||||||
DATABASE_URL=postgres://$DB_USER:$DB_PASS@localhost:5432/$DB_NAME
 | 
					DATABASE_URL=postgres://$DB_USER:$DB_PASS@localhost:5432/$DB_NAME
 | 
				
			||||||
@@ -55,7 +51,6 @@ EOF
 | 
				
			|||||||
mkdir -p /opt/zipline-uploads
 | 
					mkdir -p /opt/zipline-uploads
 | 
				
			||||||
$STD pnpm install
 | 
					$STD pnpm install
 | 
				
			||||||
$STD pnpm build
 | 
					$STD pnpm build
 | 
				
			||||||
echo "${RELEASE}" >"/opt/${APPLICATION}_version.txt"
 | 
					 | 
				
			||||||
msg_ok "Installed Zipline"
 | 
					msg_ok "Installed Zipline"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
msg_info "Creating Service"
 | 
					msg_info "Creating Service"
 | 
				
			||||||
@@ -77,8 +72,8 @@ msg_ok "Created Service"
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
motd_ssh
 | 
					motd_ssh
 | 
				
			||||||
customize
 | 
					customize
 | 
				
			||||||
 | 
					
 | 
				
			||||||
msg_info "Cleaning up"
 | 
					msg_info "Cleaning up"
 | 
				
			||||||
rm -f /opt/v${RELEASE}.zip
 | 
					 | 
				
			||||||
$STD apt-get -y autoremove
 | 
					$STD apt-get -y autoremove
 | 
				
			||||||
$STD apt-get -y autoclean
 | 
					$STD apt-get -y autoclean
 | 
				
			||||||
msg_ok "Cleaned"
 | 
					msg_ok "Cleaned"
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -17,7 +17,7 @@ msg_info "Installing Dependencies (Patience)"
 | 
				
			|||||||
$STD apt-get install -y ca-certificates
 | 
					$STD apt-get install -y ca-certificates
 | 
				
			||||||
msg_ok "Installed Dependecies"
 | 
					msg_ok "Installed Dependecies"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
PG_VERSION="17" PG_MODULES="common" setup_postgresql
 | 
					PG_VERSION="17" setup_postgresql
 | 
				
			||||||
 | 
					
 | 
				
			||||||
msg_info "Installing Postgresql"
 | 
					msg_info "Installing Postgresql"
 | 
				
			||||||
DB_NAME="zitadel"
 | 
					DB_NAME="zitadel"
 | 
				
			||||||
@@ -39,11 +39,7 @@ $STD sudo -u postgres psql -c "CREATE DATABASE $DB_NAME OWNER $DB_ADMIN_USER;"
 | 
				
			|||||||
} >>~/zitadel.creds
 | 
					} >>~/zitadel.creds
 | 
				
			||||||
msg_ok "Installed PostgreSQL"
 | 
					msg_ok "Installed PostgreSQL"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
msg_info "Installing Zitadel"
 | 
					fetch_and_deploy_gh_release "zitadel" "zitadel/zitadel" "prebuild" "latest" "/usr/local/bin" "zitadel-linux-amd64.tar.gz"
 | 
				
			||||||
RELEASE=$(curl -fsSL https://api.github.com/repos/zitadel/zitadel/releases/latest | grep "tag_name" | awk '{print substr($2, 3, length($2)-4) }')
 | 
					 | 
				
			||||||
curl -fsSL "https://github.com/zitadel/zitadel/releases/download/v$RELEASE/zitadel-linux-amd64.tar.gz" | tar -xz
 | 
					 | 
				
			||||||
mv zitadel-linux-amd64/zitadel /usr/local/bin
 | 
					 | 
				
			||||||
msg_ok "Installed Zitadel"
 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
msg_info "Setting up Zitadel Environments"
 | 
					msg_info "Setting up Zitadel Environments"
 | 
				
			||||||
mkdir -p /opt/zitadel
 | 
					mkdir -p /opt/zitadel
 | 
				
			||||||
@@ -114,7 +110,7 @@ NoNewPrivileges=true
 | 
				
			|||||||
[Install]
 | 
					[Install]
 | 
				
			||||||
WantedBy=multi-user.target
 | 
					WantedBy=multi-user.target
 | 
				
			||||||
EOF
 | 
					EOF
 | 
				
			||||||
systemctl enable -q zitadel.service
 | 
					systemctl enable -q --now zitadel
 | 
				
			||||||
msg_ok "Created Services"
 | 
					msg_ok "Created Services"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
msg_info "Zitadel initial setup"
 | 
					msg_info "Zitadel initial setup"
 | 
				
			||||||
@@ -122,7 +118,6 @@ zitadel start-from-init --masterkeyFile /opt/zitadel/.masterkey --config /opt/zi
 | 
				
			|||||||
sleep 60
 | 
					sleep 60
 | 
				
			||||||
kill $(lsof -i | awk '/zitadel/ {print $2}' | head -n1)
 | 
					kill $(lsof -i | awk '/zitadel/ {print $2}' | head -n1)
 | 
				
			||||||
useradd zitadel
 | 
					useradd zitadel
 | 
				
			||||||
echo "${RELEASE}" >/opt/${APPLICATION}_version.txt
 | 
					 | 
				
			||||||
msg_ok "Zitadel initialized"
 | 
					msg_ok "Zitadel initialized"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
msg_info "Set ExternalDomain to current IP and restart Zitadel"
 | 
					msg_info "Set ExternalDomain to current IP and restart Zitadel"
 | 
				
			||||||
@@ -145,7 +140,6 @@ motd_ssh
 | 
				
			|||||||
customize
 | 
					customize
 | 
				
			||||||
 | 
					
 | 
				
			||||||
msg_info "Cleaning up"
 | 
					msg_info "Cleaning up"
 | 
				
			||||||
rm -rf ~/zitadel-linux-amd64
 | 
					 | 
				
			||||||
$STD apt-get -y autoremove
 | 
					$STD apt-get -y autoremove
 | 
				
			||||||
$STD apt-get -y autoclean
 | 
					$STD apt-get -y autoclean
 | 
				
			||||||
msg_ok "Cleaned"
 | 
					msg_ok "Cleaned"
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -13,15 +13,8 @@ setting_up_container
 | 
				
			|||||||
network_check
 | 
					network_check
 | 
				
			||||||
update_os
 | 
					update_os
 | 
				
			||||||
 | 
					
 | 
				
			||||||
msg_info "Installing Zoraxy (Patience)"
 | 
					fetch_and_deploy_gh_release "zoraxy" "tobychui/zoraxy" "singlefile" "latest" "/opt/zoraxy" "zoraxy_linux_amd64"
 | 
				
			||||||
RELEASE=$(curl -fsSL https://api.github.com/repos/tobychui/zoraxy/releases/latest | grep "tag_name" | awk '{print substr($2, 2, length($2)-3) }')
 | 
					 | 
				
			||||||
curl -fsSL "https://github.com/tobychui/zoraxy/releases/download/${RELEASE}/zoraxy_linux_amd64" -o zoraxy_linux_amd64
 | 
					 | 
				
			||||||
mkdir -p /opt/zoraxy
 | 
					 | 
				
			||||||
mv zoraxy_linux_amd64 /opt/zoraxy/zoraxy
 | 
					 | 
				
			||||||
chmod +x /opt/zoraxy/zoraxy
 | 
					 | 
				
			||||||
ln -s /opt/zoraxy/zoraxy /usr/local/bin/zoraxy
 | 
					ln -s /opt/zoraxy/zoraxy /usr/local/bin/zoraxy
 | 
				
			||||||
echo "${RELEASE}" >/opt/${APPLICATION}_version.txt
 | 
					 | 
				
			||||||
msg_ok "Installed Zoraxy"
 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
msg_info "Creating Service"
 | 
					msg_info "Creating Service"
 | 
				
			||||||
cat <<EOF >/etc/systemd/system/zoraxy.service
 | 
					cat <<EOF >/etc/systemd/system/zoraxy.service
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -17,11 +17,9 @@ msg_info "Installing Dependencies"
 | 
				
			|||||||
$STD apt-get install -y apache2-utils
 | 
					$STD apt-get install -y apache2-utils
 | 
				
			||||||
msg_ok "Installed Dependencies"
 | 
					msg_ok "Installed Dependencies"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
msg_info "Installing Zot Registry"
 | 
					fetch_and_deploy_gh_release "zot" "project-zot/zot" "singlefile" "latest" "/usr/bin" "zot-linux-amd64"
 | 
				
			||||||
RELEASE=$(curl -fsSL https://api.github.com/repos/project-zot/zot/releases/latest | grep "tag_name" | awk '{print substr($2, 2, length($2)-3) }')
 | 
					
 | 
				
			||||||
curl -fsSL "https://github.com/project-zot/zot/releases/download/${RELEASE}/zot-linux-amd64" -o /usr/bin/zot
 | 
					msg_info "Configuring Zot Registry"
 | 
				
			||||||
chmod +x /usr/bin/zot
 | 
					 | 
				
			||||||
chown root:root /usr/bin/zot
 | 
					 | 
				
			||||||
mkdir -p /etc/zot
 | 
					mkdir -p /etc/zot
 | 
				
			||||||
curl -fsSL https://raw.githubusercontent.com/project-zot/zot/refs/heads/main/examples/config-ui.json -o /etc/zot/config.json
 | 
					curl -fsSL https://raw.githubusercontent.com/project-zot/zot/refs/heads/main/examples/config-ui.json -o /etc/zot/config.json
 | 
				
			||||||
ZOTPASSWORD=$(openssl rand -base64 18 | tr -dc 'a-zA-Z0-9' | head -c13)
 | 
					ZOTPASSWORD=$(openssl rand -base64 18 | tr -dc 'a-zA-Z0-9' | head -c13)
 | 
				
			||||||
@@ -31,8 +29,7 @@ $STD htpasswd -b -B -c /etc/zot/htpasswd admin "$ZOTPASSWORD"
 | 
				
			|||||||
  echo "Zot User: admin"
 | 
					  echo "Zot User: admin"
 | 
				
			||||||
  echo "Zot Password: $ZOTPASSWORD"
 | 
					  echo "Zot Password: $ZOTPASSWORD"
 | 
				
			||||||
} >>~/zot.creds
 | 
					} >>~/zot.creds
 | 
				
			||||||
echo "${RELEASE}" >~/.${APPLICATION}
 | 
					msg_ok "Configured Zot Registry"
 | 
				
			||||||
msg_ok "Installed Zot Registry"
 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
msg_info "Setup Service"
 | 
					msg_info "Setup Service"
 | 
				
			||||||
cat <<EOF >/etc/systemd/system/zot.service
 | 
					cat <<EOF >/etc/systemd/system/zot.service
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -13,19 +13,15 @@ setting_up_container
 | 
				
			|||||||
network_check
 | 
					network_check
 | 
				
			||||||
update_os
 | 
					update_os
 | 
				
			||||||
 | 
					
 | 
				
			||||||
msg_info "Installing Z-Wave JS UI"
 | 
					fetch_and_deploy_gh_release "zwave-js-ui" "zwave-js/zwave-js-ui" "prebuild" "latest" "/opt/zwave-js-ui" "zwave-js-ui*-linux.zip"
 | 
				
			||||||
mkdir -p /opt/zwave-js-ui
 | 
					
 | 
				
			||||||
 | 
					msg_info "Configuring Z-Wave JS UI"
 | 
				
			||||||
mkdir -p /opt/zwave_store
 | 
					mkdir -p /opt/zwave_store
 | 
				
			||||||
cd /opt/zwave-js-ui
 | 
					 | 
				
			||||||
RELEASE=$(curl -fsSL https://api.github.com/repos/zwave-js/zwave-js-ui/releases/latest | grep "tag_name" | awk '{print substr($2, 2, length($2)-3) }')
 | 
					 | 
				
			||||||
curl -fsSL "https://github.com/zwave-js/zwave-js-ui/releases/download/${RELEASE}/zwave-js-ui-${RELEASE}-linux.zip" -o "zwave-js-ui-${RELEASE}-linux.zip"
 | 
					 | 
				
			||||||
$STD unzip zwave-js-ui-${RELEASE}-linux.zip
 | 
					 | 
				
			||||||
cat <<EOF >/opt/.env
 | 
					cat <<EOF >/opt/.env
 | 
				
			||||||
ZWAVEJS_EXTERNAL_CONFIG=/opt/zwave_store/.config-db
 | 
					ZWAVEJS_EXTERNAL_CONFIG=/opt/zwave_store/.config-db
 | 
				
			||||||
STORE_DIR=/opt/zwave_store
 | 
					STORE_DIR=/opt/zwave_store
 | 
				
			||||||
EOF
 | 
					EOF
 | 
				
			||||||
echo "${RELEASE}" >"/opt/${APPLICATION}_version.txt"
 | 
					msg_ok "Configured Z-Wave JS UI"
 | 
				
			||||||
msg_ok "Installed Z-Wave JS UI"
 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
msg_info "Creating Service"
 | 
					msg_info "Creating Service"
 | 
				
			||||||
cat <<EOF >/etc/systemd/system/zwave-js-ui.service
 | 
					cat <<EOF >/etc/systemd/system/zwave-js-ui.service
 | 
				
			||||||
@@ -50,7 +46,6 @@ motd_ssh
 | 
				
			|||||||
customize
 | 
					customize
 | 
				
			||||||
 | 
					
 | 
				
			||||||
msg_info "Cleaning up"
 | 
					msg_info "Cleaning up"
 | 
				
			||||||
rm zwave-js-ui-${RELEASE}-linux.zip
 | 
					 | 
				
			||||||
$STD apt-get -y autoremove
 | 
					$STD apt-get -y autoremove
 | 
				
			||||||
$STD apt-get -y autoclean
 | 
					$STD apt-get -y autoclean
 | 
				
			||||||
msg_ok "Cleaned"
 | 
					msg_ok "Cleaned"
 | 
				
			||||||
 
 | 
				
			|||||||
							
								
								
									
										18
									
								
								misc/images/logo-proxmoxve-name.svg
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										18
									
								
								misc/images/logo-proxmoxve-name.svg
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,18 @@
 | 
				
			|||||||
 | 
					<?xml version="1.0" encoding="utf-8"?>
 | 
				
			||||||
 | 
					<svg height="100%" style="fill-rule:evenodd;clip-rule:evenodd;stroke-linecap:round;stroke-linejoin:round;" width="100%" version="1.1" viewBox="0 0 150 150" xmlns="http://www.w3.org/2000/svg" xmlns:bx="https://boxy-svg.com">
 | 
				
			||||||
 | 
					  <desc>Proxmox VE Helper-Scripts</desc>
 | 
				
			||||||
 | 
					  <title>ProxmoxVE</title>
 | 
				
			||||||
 | 
					  <defs>
 | 
				
			||||||
 | 
					    <bx:grid x="0" y="0" width="15" height="15"/>
 | 
				
			||||||
 | 
					  </defs>
 | 
				
			||||||
 | 
					  <g transform="matrix(0, -1.333333, 1.333333, 0, 7.499997, 52.499993)" style="transform-origin: 67.5px 22.5px;">
 | 
				
			||||||
 | 
					    <g transform="matrix(1, 0, 0, 1, 0, 5.823999)">
 | 
				
			||||||
 | 
					      <path d="M 75 -20.824 L 120 24.176 L 105 24.176 L 75 -5.824 L 45 24.176 L 30 24.176 L 75 -20.824 Z" style="fill: rgb(0, 128, 196);"/>
 | 
				
			||||||
 | 
					      <path d="M 60 54.176 L 105 9.176 L 90 9.176 L 60 39.176 L 30 9.176 L 15 9.176 L 60 54.176 Z" style="stroke-width: 1; fill: rgb(140, 154, 154);"/>
 | 
				
			||||||
 | 
					      <path d="M 75 -20.824 L 75 -5.824 L 45 24.176 L 30 24.176 L 75 -20.824 Z" style="fill: rgb(0, 128, 196);"/>
 | 
				
			||||||
 | 
					      <path d="M 30 24.176 L 33.75 12.926 L 37.5 16.676 L 33.75 20.426 L 30 24.176 Z" style="fill: rgb(84, 91, 90);"/>
 | 
				
			||||||
 | 
					    </g>
 | 
				
			||||||
 | 
					    <path d="M 105 15 L 101.25 26.25 L 97.5 22.5 L 101.25 18.75 L 105 15 Z" style="fill: rgb(18, 85, 112);"/>
 | 
				
			||||||
 | 
					  </g>
 | 
				
			||||||
 | 
					  <text style="fill: rgb(140, 154, 154); font-family: Arial, sans-serif; font-size: 4.8px; white-space: pre; stroke-width: 1; transform-origin: 80.82px 79.594px;" transform="matrix(0.707107, -0.707107, 0.707107, 0.707107, -21.326438, -37.194571)" x="45.272" y="79.196">Helper-Scripts.com</text>
 | 
				
			||||||
 | 
					</svg>
 | 
				
			||||||
| 
		 After Width: | Height: | Size: 1.5 KiB  | 
							
								
								
									
										17
									
								
								misc/images/logo-proxmoxve.svg
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										17
									
								
								misc/images/logo-proxmoxve.svg
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,17 @@
 | 
				
			|||||||
 | 
					<?xml version="1.0" encoding="utf-8"?>
 | 
				
			||||||
 | 
					<svg height="100%" style="fill-rule:evenodd;clip-rule:evenodd;stroke-linecap:round;stroke-linejoin:round;" width="100%" version="1.1" viewBox="0 0 150 150" xmlns="http://www.w3.org/2000/svg" xmlns:bx="https://boxy-svg.com">
 | 
				
			||||||
 | 
					  <desc>Proxmox VE Helper-Scripts</desc>
 | 
				
			||||||
 | 
					  <title>ProxmoxVE</title>
 | 
				
			||||||
 | 
					  <defs>
 | 
				
			||||||
 | 
					    <bx:grid x="0" y="0" width="15" height="15"/>
 | 
				
			||||||
 | 
					  </defs>
 | 
				
			||||||
 | 
					  <g transform="matrix(0, -1.333333, 1.333333, 0, 7.499997, 52.499993)" style="transform-origin: 67.5px 22.5px;">
 | 
				
			||||||
 | 
					    <g transform="matrix(1, 0, 0, 1, 0, 5.823999)">
 | 
				
			||||||
 | 
					      <path d="M 75 -20.824 L 120 24.176 L 105 24.176 L 75 -5.824 L 45 24.176 L 30 24.176 L 75 -20.824 Z" style="fill: rgb(0, 128, 196);"/>
 | 
				
			||||||
 | 
					      <path d="M 60 54.176 L 105 9.176 L 90 9.176 L 60 39.176 L 30 9.176 L 15 9.176 L 60 54.176 Z" style="stroke-width: 1; fill: rgb(140, 154, 154);"/>
 | 
				
			||||||
 | 
					      <path d="M 75 -20.824 L 75 -5.824 L 45 24.176 L 30 24.176 L 75 -20.824 Z" style="fill: rgb(0, 128, 196);"/>
 | 
				
			||||||
 | 
					      <path d="M 30 24.176 L 33.75 12.926 L 37.5 16.676 L 33.75 20.426 L 30 24.176 Z" style="fill: rgb(84, 91, 90);"/>
 | 
				
			||||||
 | 
					    </g>
 | 
				
			||||||
 | 
					    <path d="M 105 15 L 101.25 26.25 L 97.5 22.5 L 101.25 18.75 L 105 15 Z" style="fill: rgb(18, 85, 112);"/>
 | 
				
			||||||
 | 
					  </g>
 | 
				
			||||||
 | 
					</svg>
 | 
				
			||||||
| 
		 After Width: | Height: | Size: 1.2 KiB  | 
		Reference in New Issue
	
	Block a user