mirror of
				https://github.com/community-scripts/ProxmoxVE.git
				synced 2025-11-04 10:22:50 +00:00 
			
		
		
		
	Compare commits
	
		
			30 Commits
		
	
	
		
			2025-07-14
			...
			2025-07-16
		
	
	| Author | SHA1 | Date | |
|---|---|---|---|
| 
						 | 
					523b3e6a70 | ||
| 
						 | 
					4ce715acd4 | ||
| 
						 | 
					1ad394367e | ||
| 
						 | 
					0b0ae1a3bc | ||
| 
						 | 
					63c5912723 | ||
| 
						 | 
					dafb4af6a8 | ||
| 
						 | 
					88e3a334f7 | ||
| 
						 | 
					bbd600a348 | ||
| 
						 | 
					c90f800a69 | ||
| 
						 | 
					ca5f0629b0 | ||
| 
						 | 
					a7f67e5534 | ||
| 
						 | 
					03c4e54da6 | ||
| 
						 | 
					eb86d3e960 | ||
| 
						 | 
					968b7cdf43 | ||
| 
						 | 
					688d296d13 | ||
| 
						 | 
					0379223ead | ||
| 
						 | 
					7a0ca05153 | ||
| 
						 | 
					fb3bf03332 | ||
| 
						 | 
					6d312c9c8d | ||
| 
						 | 
					a2dde6594e | ||
| 
						 | 
					f7c9d77019 | ||
| 
						 | 
					8f4f2f4d92 | ||
| 
						 | 
					f15e4ea552 | ||
| 
						 | 
					1a90d90d5e | ||
| 
						 | 
					11f1e86500 | ||
| 
						 | 
					9d84657763 | ||
| 
						 | 
					31d57da5ab | ||
| 
						 | 
					7d223b984b | ||
| 
						 | 
					417c4e466c | ||
| 
						 | 
					b16fa8d34f | 
							
								
								
									
										31
									
								
								CHANGELOG.md
									
									
									
									
									
								
							
							
						
						
									
										31
									
								
								CHANGELOG.md
									
									
									
									
									
								
							@@ -10,8 +10,39 @@
 | 
			
		||||
> [!CAUTION]
 | 
			
		||||
Exercise vigilance regarding copycat or coat-tailing sites that seek to exploit the project's popularity for potentially malicious purposes.
 | 
			
		||||
 | 
			
		||||
## 2025-07-17
 | 
			
		||||
 | 
			
		||||
## 2025-07-16
 | 
			
		||||
 | 
			
		||||
### 🚀 Updated Scripts
 | 
			
		||||
 | 
			
		||||
  - #### 🐞 Bug Fixes
 | 
			
		||||
 | 
			
		||||
    - homepage.sh: resolves #6028 [@vhsdream](https://github.com/vhsdream) ([#6032](https://github.com/community-scripts/ProxmoxVE/pull/6032))
 | 
			
		||||
    - karakeep-install: Disable Playwright browser download, remove MCP build [@vhsdream](https://github.com/vhsdream) ([#5833](https://github.com/community-scripts/ProxmoxVE/pull/5833))
 | 
			
		||||
 | 
			
		||||
  - #### 🔧 Refactor
 | 
			
		||||
 | 
			
		||||
    - chore: reorganize nginxproxymanager update script [@Kirbo](https://github.com/Kirbo) ([#5971](https://github.com/community-scripts/ProxmoxVE/pull/5971))
 | 
			
		||||
 | 
			
		||||
## 2025-07-15
 | 
			
		||||
 | 
			
		||||
### 🚀 Updated Scripts
 | 
			
		||||
 | 
			
		||||
  - #### 🐞 Bug Fixes
 | 
			
		||||
 | 
			
		||||
    - checkmk: change password crawling based on there docs [@MickLesk](https://github.com/MickLesk) ([#6001](https://github.com/community-scripts/ProxmoxVE/pull/6001))
 | 
			
		||||
    - Whiptail: Improve Dialogue to work with ESC [@MickLesk](https://github.com/MickLesk) ([#6003](https://github.com/community-scripts/ProxmoxVE/pull/6003))
 | 
			
		||||
    - 2FAuth: Improve Update-Check [@MickLesk](https://github.com/MickLesk) ([#5998](https://github.com/community-scripts/ProxmoxVE/pull/5998))
 | 
			
		||||
 | 
			
		||||
  - #### 💥 Breaking Changes
 | 
			
		||||
 | 
			
		||||
    - EMQX: Purge Old Install (remove acl.conf too!) [@MickLesk](https://github.com/MickLesk) ([#5999](https://github.com/community-scripts/ProxmoxVE/pull/5999))
 | 
			
		||||
 | 
			
		||||
  - #### 🔧 Refactor
 | 
			
		||||
 | 
			
		||||
    - Refactor: PeaNUT [@MickLesk](https://github.com/MickLesk) ([#6002](https://github.com/community-scripts/ProxmoxVE/pull/6002))
 | 
			
		||||
 | 
			
		||||
## 2025-07-14
 | 
			
		||||
 | 
			
		||||
### 🆕 New Scripts
 | 
			
		||||
 
 | 
			
		||||
							
								
								
									
										10
									
								
								ct/2fauth.sh
									
									
									
									
									
								
							
							
						
						
									
										10
									
								
								ct/2fauth.sh
									
									
									
									
									
								
							@@ -28,8 +28,11 @@ function update_script() {
 | 
			
		||||
    msg_error "No ${APP} Installation Found!"
 | 
			
		||||
    exit
 | 
			
		||||
  fi
 | 
			
		||||
  RELEASE=$(curl -fsSL https://api.github.com/repos/Bubka/2FAuth/releases/latest | grep "tag_name" | awk '{print substr($2, 2, length($2)-3) }')
 | 
			
		||||
  if [[ "${RELEASE}" != "$(cat ~/.2fauth 2>/dev/null || cat /opt/2fauth_version.txt 2>/dev/null)" ]]; then
 | 
			
		||||
  if ! command -v jq &>/dev/null; then
 | 
			
		||||
    $STD apt-get install -y jq
 | 
			
		||||
  fi
 | 
			
		||||
  RELEASE=$(curl -fsSL https://api.github.com/repos/Bubka/2FAuth/releases/latest | jq -r '.tag_name' | sed 's/^v//')
 | 
			
		||||
  if [[ "${RELEASE}" != "$(cat ~/.2fauth 2>/dev/null)" ]] || [[ ! -f ~/.2fauth ]]; then
 | 
			
		||||
    msg_info "Updating $APP to ${RELEASE}"
 | 
			
		||||
    $STD apt-get update
 | 
			
		||||
    $STD apt-get -y upgrade
 | 
			
		||||
@@ -45,10 +48,11 @@ function update_script() {
 | 
			
		||||
      $STD apt-get install -y \
 | 
			
		||||
        lsb-release \
 | 
			
		||||
        gnupg2
 | 
			
		||||
      PHP_VERSION="8.3" PHP_MODULE="common,ctype,fileinfo,fpm,mysql,cli" setup_php
 | 
			
		||||
      PHP_VERSION="8.3" PHP_MODULE="common,ctype,fileinfo,mysql,cli" PHP_FPM="YES" setup_php
 | 
			
		||||
      sed -i 's/php8.2/php8.3/g' /etc/nginx/conf.d/2fauth.conf
 | 
			
		||||
    fi
 | 
			
		||||
    fetch_and_deploy_gh_release "2fauth" "Bubka/2FAuth"
 | 
			
		||||
    setup_composer
 | 
			
		||||
    mv "/opt/2fauth-backup/.env" "/opt/2fauth/.env"
 | 
			
		||||
    mv "/opt/2fauth-backup/storage" "/opt/2fauth/storage"
 | 
			
		||||
    cd "/opt/2fauth" || return
 | 
			
		||||
 
 | 
			
		||||
@@ -30,6 +30,10 @@ function update_script() {
 | 
			
		||||
    systemctl stop emqx
 | 
			
		||||
    msg_ok "Stopped EMQX"
 | 
			
		||||
 | 
			
		||||
    msg_info "Removing old EMQX"
 | 
			
		||||
    $STD apt-get remove --purge -y emqx
 | 
			
		||||
    msg_ok "Removed old EMQX"
 | 
			
		||||
 | 
			
		||||
    msg_info "Downloading EMQX v${RELEASE}"
 | 
			
		||||
    DEB_FILE="/tmp/emqx-enterprise-${RELEASE}-debian12-amd64.deb"
 | 
			
		||||
    curl -fsSL -o "$DEB_FILE" "https://www.emqx.com/en/downloads/enterprise/v${RELEASE}/emqx-enterprise-${RELEASE}-debian12-amd64.deb"
 | 
			
		||||
 
 | 
			
		||||
@@ -56,7 +56,7 @@ function update_script() {
 | 
			
		||||
    rm -rf homepage-${RELEASE}
 | 
			
		||||
    cd /opt/homepage
 | 
			
		||||
    $STD pnpm install
 | 
			
		||||
    $STD npx --yes update-browserslist-db@latest
 | 
			
		||||
    $STD pnpm update --no-save caniuse-lite
 | 
			
		||||
    export NEXT_PUBLIC_VERSION="v$RELEASE"
 | 
			
		||||
    export NEXT_PUBLIC_REVISION="source"
 | 
			
		||||
    export NEXT_PUBLIC_BUILDTIME=$(curl -fsSL https://api.github.com/repos/gethomepage/homepage/releases/latest | jq -r '.published_at')
 | 
			
		||||
 
 | 
			
		||||
							
								
								
									
										110
									
								
								ct/karakeep.sh
									
									
									
									
									
								
							
							
						
						
									
										110
									
								
								ct/karakeep.sh
									
									
									
									
									
								
							@@ -27,59 +27,67 @@ function update_script() {
 | 
			
		||||
    msg_error "No ${APP} Installation Found!"
 | 
			
		||||
    exit
 | 
			
		||||
  fi
 | 
			
		||||
  RELEASE=$(curl -fsSL https://api.github.com/repos/karakeep-app/karakeep/releases/latest | grep "tag_name" | awk '{print substr($2, 3, length($2)-4) }')
 | 
			
		||||
  PREV_RELEASE=$(cat /opt/${APP}_version.txt)
 | 
			
		||||
  if [[ ! -f /opt/${APP}_version.txt ]] || [[ "${RELEASE}" != "${PREV_RELEASE}" ]]; then
 | 
			
		||||
    msg_info "Stopping Services"
 | 
			
		||||
    systemctl stop karakeep-web karakeep-workers karakeep-browser
 | 
			
		||||
    msg_ok "Stopped Services"
 | 
			
		||||
    msg_info "Updating yt-dlp"
 | 
			
		||||
    $STD yt-dlp --update-to nightly
 | 
			
		||||
    msg_ok "Updated yt-dlp"
 | 
			
		||||
    msg_info "Updating ${APP} to v${RELEASE}"
 | 
			
		||||
    if [[ $(corepack -v) < "0.31.0" ]]; then
 | 
			
		||||
      $STD npm install -g corepack@0.31.0
 | 
			
		||||
    fi
 | 
			
		||||
    if [[ "${PREV_RELEASE}" < 0.23.0 ]]; then
 | 
			
		||||
      $STD apt-get install -y graphicsmagick ghostscript
 | 
			
		||||
    fi
 | 
			
		||||
    cd /opt
 | 
			
		||||
    if [[ -f /opt/karakeep/.env ]] && [[ ! -f /etc/karakeep/karakeep.env ]]; then
 | 
			
		||||
      mkdir -p /etc/karakeep
 | 
			
		||||
      mv /opt/karakeep/.env /etc/karakeep/karakeep.env
 | 
			
		||||
    fi
 | 
			
		||||
    rm -rf /opt/karakeep
 | 
			
		||||
    curl -fsSL "https://github.com/karakeep-app/karakeep/archive/refs/tags/v${RELEASE}.zip" -o "v${RELEASE}.zip"
 | 
			
		||||
    $STD unzip "v${RELEASE}.zip"
 | 
			
		||||
    mv karakeep-"${RELEASE}" /opt/karakeep
 | 
			
		||||
    cd /opt/karakeep/apps/web
 | 
			
		||||
    $STD pnpm install --frozen-lockfile
 | 
			
		||||
    $STD pnpm build
 | 
			
		||||
    cd /opt/karakeep/apps/workers
 | 
			
		||||
    $STD pnpm install --frozen-lockfile
 | 
			
		||||
    cd /opt/karakeep/apps/cli
 | 
			
		||||
    $STD pnpm install --frozen-lockfile
 | 
			
		||||
    $STD pnpm build
 | 
			
		||||
    cd /opt/karakeep/apps/mcp
 | 
			
		||||
    $STD pnpm install --frozen-lockfile
 | 
			
		||||
    $STD pnpm build
 | 
			
		||||
    export DATA_DIR=/opt/karakeep_data
 | 
			
		||||
    cd /opt/karakeep/packages/db
 | 
			
		||||
    $STD pnpm migrate
 | 
			
		||||
    sed -i "s/SERVER_VERSION=${PREV_RELEASE}/SERVER_VERSION=${RELEASE}/" /etc/karakeep/karakeep.env
 | 
			
		||||
    msg_ok "Updated ${APP} to v${RELEASE}"
 | 
			
		||||
 | 
			
		||||
    msg_info "Starting Services"
 | 
			
		||||
    systemctl start karakeep-browser karakeep-workers karakeep-web
 | 
			
		||||
    msg_ok "Started Services"
 | 
			
		||||
    msg_info "Cleaning up"
 | 
			
		||||
    rm -R /opt/v"${RELEASE}".zip
 | 
			
		||||
    echo "${RELEASE}" >/opt/${APP}_version.txt
 | 
			
		||||
    msg_ok "Cleaned"
 | 
			
		||||
    msg_ok "Updated Successfully"
 | 
			
		||||
  else
 | 
			
		||||
    msg_ok "No update required.  ${APP} is already at ${RELEASE}."
 | 
			
		||||
  RELEASE=$(curl -fsSL https://api.github.com/repos/karakeep-app/karakeep/releases/latest | grep "tag_name" | awk '{print substr($2, 3, length($2)-4) }')
 | 
			
		||||
  if [[ -f ~/.karakeep && "$RELEASE" == "$(cat ~/.karakeep)" ]]; then
 | 
			
		||||
    msg_ok "No update required. ${APP} is already at ${RELEASE}"
 | 
			
		||||
    exit
 | 
			
		||||
  fi
 | 
			
		||||
  msg_info "Stopping Services"
 | 
			
		||||
  systemctl stop karakeep-web karakeep-workers karakeep-browser
 | 
			
		||||
  msg_ok "Stopped Services"
 | 
			
		||||
  
 | 
			
		||||
  msg_info "Updating yt-dlp"
 | 
			
		||||
  $STD yt-dlp --update-to nightly
 | 
			
		||||
  msg_ok "Updated yt-dlp"
 | 
			
		||||
  
 | 
			
		||||
  msg_info "Prepare update"
 | 
			
		||||
  if [[ -f /opt/${APP}_version.txt && "$(cat /opt/${APP}_version.txt)" < "0.23.0" ]]; then
 | 
			
		||||
    $STD apt-get install -y graphicsmagick ghostscript
 | 
			
		||||
  fi
 | 
			
		||||
  if [[ -f /opt/karakeep/.env ]] && [[ ! -f /etc/karakeep/karakeep.env ]]; then
 | 
			
		||||
    mkdir -p /etc/karakeep
 | 
			
		||||
    mv /opt/karakeep/.env /etc/karakeep/karakeep.env
 | 
			
		||||
  fi
 | 
			
		||||
  rm -rf /opt/karakeep
 | 
			
		||||
  msg_ok "Update prepared"
 | 
			
		||||
  
 | 
			
		||||
  fetch_and_deploy_gh_release "karakeep" "karakeep-app/karakeep"
 | 
			
		||||
  if command -v corepack; then
 | 
			
		||||
    $STD corepack disable
 | 
			
		||||
  fi
 | 
			
		||||
  MODULE_VERSION="$(jq -r '.packageManager | split("@")[1]' /opt/karakeep/package.json)"
 | 
			
		||||
  NODE_VERSION="22" NODE_MODULE="pnpm@${MODULE_VERSION}" setup_nodejs
 | 
			
		||||
  
 | 
			
		||||
  msg_info "Updating ${APP} to v${RELEASE}"
 | 
			
		||||
  export PUPPETEER_SKIP_DOWNLOAD="true"
 | 
			
		||||
  export PLAYWRIGHT_SKIP_BROWSER_DOWNLOAD="true"
 | 
			
		||||
  export NEXT_TELEMETRY_DISABLED=1
 | 
			
		||||
  export CI="true"
 | 
			
		||||
  cd /opt/karakeep/apps/web
 | 
			
		||||
  $STD pnpm install --frozen-lockfile
 | 
			
		||||
  $STD pnpm build
 | 
			
		||||
  cd /opt/karakeep/apps/workers
 | 
			
		||||
  $STD pnpm install --frozen-lockfile
 | 
			
		||||
  cd /opt/karakeep/apps/cli
 | 
			
		||||
  $STD pnpm install --frozen-lockfile
 | 
			
		||||
  $STD pnpm build
 | 
			
		||||
  export DATA_DIR=/opt/karakeep_data
 | 
			
		||||
  cd /opt/karakeep/packages/db
 | 
			
		||||
  $STD pnpm migrate
 | 
			
		||||
  $STD pnpm store prune
 | 
			
		||||
  sed -i "s/^SERVER_VERSION=.*$/SERVER_VERSION=${RELEASE}/" /etc/karakeep/karakeep.env
 | 
			
		||||
  msg_ok "Updated ${APP} to v${RELEASE}"
 | 
			
		||||
 | 
			
		||||
  msg_info "Starting Services"
 | 
			
		||||
  systemctl start karakeep-browser karakeep-workers karakeep-web
 | 
			
		||||
  msg_ok "Started Services"
 | 
			
		||||
  
 | 
			
		||||
  msg_info "Cleaning up"
 | 
			
		||||
  $STD apt-get autoremove -y
 | 
			
		||||
  $STD apt-get autoclean -y
 | 
			
		||||
  msg_ok "Cleaned"
 | 
			
		||||
  msg_ok "Updated Successfully"
 | 
			
		||||
  exit
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
 
 | 
			
		||||
@@ -27,15 +27,32 @@ function update_script() {
 | 
			
		||||
    msg_error "No ${APP} Installation Found!"
 | 
			
		||||
    exit
 | 
			
		||||
  fi
 | 
			
		||||
 | 
			
		||||
  if ! command -v pnpm &>/dev/null; then
 | 
			
		||||
    msg_info "Installing pnpm"
 | 
			
		||||
    #export NODE_OPTIONS=--openssl-legacy-provider
 | 
			
		||||
    $STD npm install -g pnpm@8.15
 | 
			
		||||
    msg_ok "Installed pnpm"
 | 
			
		||||
  fi
 | 
			
		||||
 | 
			
		||||
  RELEASE=$(curl -fsSL https://api.github.com/repos/NginxProxyManager/nginx-proxy-manager/releases/latest |
 | 
			
		||||
    grep "tag_name" |
 | 
			
		||||
    awk '{print substr($2, 3, length($2)-4) }')
 | 
			
		||||
 | 
			
		||||
  msg_info "Downloading NPM v${RELEASE}"
 | 
			
		||||
  curl -fsSL "https://codeload.github.com/NginxProxyManager/nginx-proxy-manager/tar.gz/v${RELEASE}" | tar -xz
 | 
			
		||||
  cd nginx-proxy-manager-"${RELEASE}" || exit
 | 
			
		||||
  msg_ok "Downloaded NPM v${RELEASE}"
 | 
			
		||||
 | 
			
		||||
  msg_info "Building Frontend"
 | 
			
		||||
  (
 | 
			
		||||
    cd ./frontend || exit
 | 
			
		||||
    $STD pnpm install
 | 
			
		||||
    $STD pnpm upgrade
 | 
			
		||||
    $STD pnpm run build
 | 
			
		||||
  )
 | 
			
		||||
  msg_ok "Built Frontend"
 | 
			
		||||
 | 
			
		||||
  msg_info "Stopping Services"
 | 
			
		||||
  systemctl stop openresty
 | 
			
		||||
  systemctl stop npm
 | 
			
		||||
@@ -50,12 +67,7 @@ function update_script() {
 | 
			
		||||
    "$STD" /var/cache/nginx
 | 
			
		||||
  msg_ok "Cleaned Old Files"
 | 
			
		||||
 | 
			
		||||
  msg_info "Downloading NPM v${RELEASE}"
 | 
			
		||||
  curl -fsSL "https://codeload.github.com/NginxProxyManager/nginx-proxy-manager/tar.gz/v${RELEASE}" | tar -xz
 | 
			
		||||
  cd nginx-proxy-manager-"${RELEASE}"
 | 
			
		||||
  msg_ok "Downloaded NPM v${RELEASE}"
 | 
			
		||||
 | 
			
		||||
  msg_info "Setting up Enviroment"
 | 
			
		||||
  msg_info "Setting up Environment"
 | 
			
		||||
  ln -sf /usr/bin/python3 /usr/bin/python
 | 
			
		||||
  ln -sf /usr/bin/certbot /opt/certbot/bin/certbot
 | 
			
		||||
  ln -sf /usr/local/openresty/nginx/sbin/nginx /usr/sbin/nginx
 | 
			
		||||
@@ -97,19 +109,12 @@ function update_script() {
 | 
			
		||||
    $STD openssl req -new -newkey rsa:2048 -days 3650 -nodes -x509 -subj "/O=Nginx Proxy Manager/OU=Dummy Certificate/CN=localhost" -keyout /data/nginx/dummykey.pem -out /data/nginx/dummycert.pem
 | 
			
		||||
  fi
 | 
			
		||||
  mkdir -p /app/global /app/frontend/images
 | 
			
		||||
  cp -r frontend/dist/* /app/frontend
 | 
			
		||||
  cp -r frontend/app-images/* /app/frontend/images
 | 
			
		||||
  cp -r backend/* /app
 | 
			
		||||
  cp -r global/* /app/global
 | 
			
		||||
  $STD python3 -m pip install --no-cache-dir --break-system-packages certbot-dns-cloudflare
 | 
			
		||||
  msg_ok "Setup Enviroment"
 | 
			
		||||
 | 
			
		||||
  msg_info "Building Frontend"
 | 
			
		||||
  cd ./frontend
 | 
			
		||||
  $STD pnpm install
 | 
			
		||||
  $STD pnpm upgrade
 | 
			
		||||
  $STD pnpm run build
 | 
			
		||||
  cp -r dist/* /app/frontend
 | 
			
		||||
  cp -r app-images/* /app/frontend/images
 | 
			
		||||
  msg_ok "Built Frontend"
 | 
			
		||||
  msg_ok "Setup Environment"
 | 
			
		||||
 | 
			
		||||
  msg_info "Initializing Backend"
 | 
			
		||||
  $STD rm -rf /app/config/default.json
 | 
			
		||||
@@ -128,7 +133,7 @@ function update_script() {
 | 
			
		||||
}
 | 
			
		||||
EOF
 | 
			
		||||
  fi
 | 
			
		||||
  cd /app
 | 
			
		||||
  cd /app || exit
 | 
			
		||||
  $STD pnpm install
 | 
			
		||||
  msg_ok "Initialized Backend"
 | 
			
		||||
 | 
			
		||||
 
 | 
			
		||||
							
								
								
									
										29
									
								
								ct/peanut.sh
									
									
									
									
									
								
							
							
						
						
									
										29
									
								
								ct/peanut.sh
									
									
									
									
									
								
							@@ -8,7 +8,7 @@ source <(curl -fsSL https://raw.githubusercontent.com/community-scripts/ProxmoxV
 | 
			
		||||
APP="PeaNUT"
 | 
			
		||||
var_tags="${var_tags:-network;ups;}"
 | 
			
		||||
var_cpu="${var_cpu:-2}"
 | 
			
		||||
var_ram="${var_ram:-3072}"
 | 
			
		||||
var_ram="${var_ram:-4096}"
 | 
			
		||||
var_disk="${var_disk:-7}"
 | 
			
		||||
var_os="${var_os:-debian}"
 | 
			
		||||
var_version="${var_version:-12}"
 | 
			
		||||
@@ -27,22 +27,31 @@ function update_script() {
 | 
			
		||||
    msg_error "No ${APP} Installation Found!"
 | 
			
		||||
    exit
 | 
			
		||||
  fi
 | 
			
		||||
  RELEASE=$(curl -fsSL https://api.github.com/repos/Brandawg93/PeaNUT/releases/latest | grep '"tag_name":' | cut -d'"' -f4)
 | 
			
		||||
  if [[ ! -f /opt/${APP}_version.txt ]] || [[ "${RELEASE}" != "$(cat /opt/${APP}_version.txt)" ]]; then
 | 
			
		||||
    msg_info "Updating $APP to ${RELEASE}"
 | 
			
		||||
  if ! command -v jq &>/dev/null; then
 | 
			
		||||
    $STD apt-get install -y jq
 | 
			
		||||
  fi
 | 
			
		||||
  NODE_VERSION="22" NODE_MODULE="pnpm" setup_nodejs
 | 
			
		||||
  RELEASE=$(curl -fsSL https://api.github.com/repos/Brandawg93/PeaNUT/releases/latest | jq -r '.tag_name' | sed 's/^v//')
 | 
			
		||||
  if [[ "${RELEASE}" != "$(cat ~/.peanut 2>/dev/null)" ]] || [[ ! -f ~/.peanut ]]; then
 | 
			
		||||
 | 
			
		||||
    msg_info "Stopping $APP"
 | 
			
		||||
    systemctl stop peanut
 | 
			
		||||
    curl -fsSL "https://api.github.com/repos/Brandawg93/PeaNUT/tarball/${RELEASE}" -o "peanut.tar.gz"
 | 
			
		||||
    tar -xzf peanut.tar.gz -C /opt/peanut --strip-components=1
 | 
			
		||||
    rm peanut.tar.gz
 | 
			
		||||
    msg_ok "Stopped $APP"
 | 
			
		||||
 | 
			
		||||
    fetch_and_deploy_gh_release "peanut" "Brandawg93/PeaNUT" "tarball" "latest" "/opt/peanut"
 | 
			
		||||
 | 
			
		||||
    msg_info "Updating $APP to ${RELEASE}"
 | 
			
		||||
    cd /opt/peanut
 | 
			
		||||
    $STD pnpm i
 | 
			
		||||
    $STD pnpm run build
 | 
			
		||||
    $STD pnpm run build:local
 | 
			
		||||
    cp -r .next/static .next/standalone/.next/
 | 
			
		||||
    mkdir -p /opt/peanut/.next/standalone/config
 | 
			
		||||
    ln -sf /etc/peanut/settings.yml /opt/peanut/.next/standalone/config/settings.yml
 | 
			
		||||
    systemctl start peanut
 | 
			
		||||
    echo "${RELEASE}" >/opt/${APP}_version.txt
 | 
			
		||||
    msg_ok "Updated $APP to ${RELEASE}"
 | 
			
		||||
 | 
			
		||||
    msg_info "Starting $APP"
 | 
			
		||||
    systemctl start peanut
 | 
			
		||||
    msg_ok "Started $APP"
 | 
			
		||||
  else
 | 
			
		||||
    msg_ok "No update required. ${APP} is already at ${RELEASE}"
 | 
			
		||||
  fi
 | 
			
		||||
 
 | 
			
		||||
							
								
								
									
										2
									
								
								frontend/public/json/mealie.json
									
									
									
										generated
									
									
									
								
							
							
						
						
									
										2
									
								
								frontend/public/json/mealie.json
									
									
									
										generated
									
									
									
								
							@@ -9,7 +9,7 @@
 | 
			
		||||
  "updateable": true,
 | 
			
		||||
  "privileged": false,
 | 
			
		||||
  "config_path": "/opt/mealie/mealie.env",
 | 
			
		||||
  "interface_port": 3000,
 | 
			
		||||
  "interface_port": 9000,
 | 
			
		||||
  "documentation": "https://mealie.io/",
 | 
			
		||||
  "website": "https://mealie.io/",
 | 
			
		||||
  "logo": "https://cdn.jsdelivr.net/gh/selfhst/icons/webp/mealie.webp",
 | 
			
		||||
 
 | 
			
		||||
							
								
								
									
										66
									
								
								frontend/public/json/peanut.json
									
									
									
										generated
									
									
									
								
							
							
						
						
									
										66
									
								
								frontend/public/json/peanut.json
									
									
									
										generated
									
									
									
								
							@@ -1,35 +1,35 @@
 | 
			
		||||
{
 | 
			
		||||
    "name": "PeaNUT",
 | 
			
		||||
    "slug": "peanut",
 | 
			
		||||
    "categories": [
 | 
			
		||||
        4
 | 
			
		||||
    ],
 | 
			
		||||
    "date_created": "2024-06-14",
 | 
			
		||||
    "type": "ct",
 | 
			
		||||
    "updateable": true,
 | 
			
		||||
    "privileged": false,
 | 
			
		||||
    "interface_port": 3000,
 | 
			
		||||
    "documentation": null,
 | 
			
		||||
    "website": "https://github.com/Brandawg93/PeaNUT/",
 | 
			
		||||
    "logo": "https://cdn.jsdelivr.net/gh/selfhst/icons/webp/peanut.webp",
 | 
			
		||||
    "config_path": "/etc/peanut/settings.yml",
 | 
			
		||||
    "description": "PeaNUT is a small dashboard for Network UPS Tools (NUT). It provides a web interface to monitor and manage UPS devices. PeaNUT allows users to view device status, retrieve information, and manage UPS parameters through its API. It's customizable for different UPS devices and supports integration with the Homepage dashboard.",
 | 
			
		||||
    "install_methods": [
 | 
			
		||||
        {
 | 
			
		||||
            "type": "default",
 | 
			
		||||
            "script": "ct/peanut.sh",
 | 
			
		||||
            "resources": {
 | 
			
		||||
                "cpu": 2,
 | 
			
		||||
                "ram": 3072,
 | 
			
		||||
                "hdd": 7,
 | 
			
		||||
                "os": "debian",
 | 
			
		||||
                "version": "12"
 | 
			
		||||
            }
 | 
			
		||||
        }
 | 
			
		||||
    ],
 | 
			
		||||
    "default_credentials": {
 | 
			
		||||
        "username": null,
 | 
			
		||||
        "password": null
 | 
			
		||||
    },
 | 
			
		||||
    "notes": []
 | 
			
		||||
  "name": "PeaNUT",
 | 
			
		||||
  "slug": "peanut",
 | 
			
		||||
  "categories": [
 | 
			
		||||
    4
 | 
			
		||||
  ],
 | 
			
		||||
  "date_created": "2024-06-14",
 | 
			
		||||
  "type": "ct",
 | 
			
		||||
  "updateable": true,
 | 
			
		||||
  "privileged": false,
 | 
			
		||||
  "interface_port": 3000,
 | 
			
		||||
  "documentation": null,
 | 
			
		||||
  "website": "https://github.com/Brandawg93/PeaNUT/",
 | 
			
		||||
  "logo": "https://cdn.jsdelivr.net/gh/selfhst/icons/webp/peanut.webp",
 | 
			
		||||
  "config_path": "/etc/peanut/settings.yml",
 | 
			
		||||
  "description": "PeaNUT is a small dashboard for Network UPS Tools (NUT). It provides a web interface to monitor and manage UPS devices. PeaNUT allows users to view device status, retrieve information, and manage UPS parameters through its API. It's customizable for different UPS devices and supports integration with the Homepage dashboard.",
 | 
			
		||||
  "install_methods": [
 | 
			
		||||
    {
 | 
			
		||||
      "type": "default",
 | 
			
		||||
      "script": "ct/peanut.sh",
 | 
			
		||||
      "resources": {
 | 
			
		||||
        "cpu": 2,
 | 
			
		||||
        "ram": 4096,
 | 
			
		||||
        "hdd": 7,
 | 
			
		||||
        "os": "debian",
 | 
			
		||||
        "version": "12"
 | 
			
		||||
      }
 | 
			
		||||
    }
 | 
			
		||||
  ],
 | 
			
		||||
  "default_credentials": {
 | 
			
		||||
    "username": null,
 | 
			
		||||
    "password": null
 | 
			
		||||
  },
 | 
			
		||||
  "notes": []
 | 
			
		||||
}
 | 
			
		||||
 
 | 
			
		||||
							
								
								
									
										382
									
								
								frontend/public/json/versions.json
									
									
									
										generated
									
									
									
								
							
							
						
						
									
										382
									
								
								frontend/public/json/versions.json
									
									
									
										generated
									
									
									
								
							@@ -1,29 +1,214 @@
 | 
			
		||||
[
 | 
			
		||||
  {
 | 
			
		||||
    "name": "Brandawg93/PeaNUT",
 | 
			
		||||
    "version": "v5.9.1",
 | 
			
		||||
    "date": "2025-07-16T23:39:51Z"
 | 
			
		||||
  },
 | 
			
		||||
  {
 | 
			
		||||
    "name": "advplyr/audiobookshelf",
 | 
			
		||||
    "version": "v2.26.1",
 | 
			
		||||
    "date": "2025-07-16T22:48:43Z"
 | 
			
		||||
  },
 | 
			
		||||
  {
 | 
			
		||||
    "name": "linkwarden/linkwarden",
 | 
			
		||||
    "version": "v2.11.4",
 | 
			
		||||
    "date": "2025-07-16T21:53:45Z"
 | 
			
		||||
  },
 | 
			
		||||
  {
 | 
			
		||||
    "name": "steveiliop56/tinyauth",
 | 
			
		||||
    "version": "v3.6.1",
 | 
			
		||||
    "date": "2025-07-12T13:41:57Z"
 | 
			
		||||
  },
 | 
			
		||||
  {
 | 
			
		||||
    "name": "Luligu/matterbridge",
 | 
			
		||||
    "version": "3.1.4",
 | 
			
		||||
    "date": "2025-07-16T20:53:12Z"
 | 
			
		||||
  },
 | 
			
		||||
  {
 | 
			
		||||
    "name": "mongodb/mongo",
 | 
			
		||||
    "version": "r7.0.22",
 | 
			
		||||
    "date": "2025-07-16T20:06:11Z"
 | 
			
		||||
  },
 | 
			
		||||
  {
 | 
			
		||||
    "name": "ollama/ollama",
 | 
			
		||||
    "version": "v0.10.0-rc0",
 | 
			
		||||
    "date": "2025-07-16T18:18:16Z"
 | 
			
		||||
  },
 | 
			
		||||
  {
 | 
			
		||||
    "name": "plexguide/Huntarr.io",
 | 
			
		||||
    "version": "8.1.15",
 | 
			
		||||
    "date": "2025-07-16T18:06:03Z"
 | 
			
		||||
  },
 | 
			
		||||
  {
 | 
			
		||||
    "name": "benjaminjonard/koillection",
 | 
			
		||||
    "version": "1.6.15",
 | 
			
		||||
    "date": "2025-07-16T16:47:57Z"
 | 
			
		||||
  },
 | 
			
		||||
  {
 | 
			
		||||
    "name": "usememos/memos",
 | 
			
		||||
    "version": "v0.25.0",
 | 
			
		||||
    "date": "2025-07-16T14:57:02Z"
 | 
			
		||||
  },
 | 
			
		||||
  {
 | 
			
		||||
    "name": "fuma-nama/fumadocs",
 | 
			
		||||
    "version": "fumadocs-ui@15.6.4",
 | 
			
		||||
    "date": "2025-07-16T14:34:07Z"
 | 
			
		||||
  },
 | 
			
		||||
  {
 | 
			
		||||
    "name": "TryGhost/Ghost-CLI",
 | 
			
		||||
    "version": "v1.27.1",
 | 
			
		||||
    "date": "2025-07-16T13:29:00Z"
 | 
			
		||||
  },
 | 
			
		||||
  {
 | 
			
		||||
    "name": "Checkmk/checkmk",
 | 
			
		||||
    "version": "v2.4.0p8-rc2",
 | 
			
		||||
    "date": "2025-07-16T13:21:20Z"
 | 
			
		||||
  },
 | 
			
		||||
  {
 | 
			
		||||
    "name": "wazuh/wazuh",
 | 
			
		||||
    "version": "coverity-w29-4.13.0",
 | 
			
		||||
    "date": "2025-07-16T12:35:22Z"
 | 
			
		||||
  },
 | 
			
		||||
  {
 | 
			
		||||
    "name": "emqx/emqx",
 | 
			
		||||
    "version": "e6.0.0-M1.202507-beta.1",
 | 
			
		||||
    "date": "2025-07-16T12:35:12Z"
 | 
			
		||||
  },
 | 
			
		||||
  {
 | 
			
		||||
    "name": "glpi-project/glpi",
 | 
			
		||||
    "version": "10.0.19",
 | 
			
		||||
    "date": "2025-07-16T09:45:14Z"
 | 
			
		||||
  },
 | 
			
		||||
  {
 | 
			
		||||
    "name": "NLnetLabs/unbound",
 | 
			
		||||
    "version": "release-1.23.1",
 | 
			
		||||
    "date": "2025-07-16T09:20:27Z"
 | 
			
		||||
  },
 | 
			
		||||
  {
 | 
			
		||||
    "name": "meilisearch/meilisearch",
 | 
			
		||||
    "version": "prototype-chat-completions-with-filters-0",
 | 
			
		||||
    "date": "2025-07-16T08:54:57Z"
 | 
			
		||||
  },
 | 
			
		||||
  {
 | 
			
		||||
    "name": "esphome/esphome",
 | 
			
		||||
    "version": "2025.7.0",
 | 
			
		||||
    "date": "2025-07-16T08:46:37Z"
 | 
			
		||||
  },
 | 
			
		||||
  {
 | 
			
		||||
    "name": "Jackett/Jackett",
 | 
			
		||||
    "version": "v0.22.2161",
 | 
			
		||||
    "date": "2025-07-16T05:55:36Z"
 | 
			
		||||
  },
 | 
			
		||||
  {
 | 
			
		||||
    "name": "coder/code-server",
 | 
			
		||||
    "version": "v4.101.2",
 | 
			
		||||
    "date": "2025-06-25T21:18:52Z"
 | 
			
		||||
  },
 | 
			
		||||
  {
 | 
			
		||||
    "name": "sbondCo/Watcharr",
 | 
			
		||||
    "version": "v2.1.1",
 | 
			
		||||
    "date": "2025-07-15T22:38:01Z"
 | 
			
		||||
  },
 | 
			
		||||
  {
 | 
			
		||||
    "name": "rcourtman/Pulse",
 | 
			
		||||
    "version": "v3.42.0",
 | 
			
		||||
    "date": "2025-07-14T22:07:28Z"
 | 
			
		||||
  },
 | 
			
		||||
  {
 | 
			
		||||
    "name": "keycloak/keycloak",
 | 
			
		||||
    "version": "26.0.13",
 | 
			
		||||
    "date": "2025-07-15T17:22:26Z"
 | 
			
		||||
  },
 | 
			
		||||
  {
 | 
			
		||||
    "name": "netbox-community/netbox",
 | 
			
		||||
    "version": "v4.3.4",
 | 
			
		||||
    "date": "2025-07-15T18:01:50Z"
 | 
			
		||||
  },
 | 
			
		||||
  {
 | 
			
		||||
    "name": "gethomepage/homepage",
 | 
			
		||||
    "version": "v1.4.0",
 | 
			
		||||
    "date": "2025-07-15T16:43:28Z"
 | 
			
		||||
  },
 | 
			
		||||
  {
 | 
			
		||||
    "name": "msgbyte/tianji",
 | 
			
		||||
    "version": "v1.24.0",
 | 
			
		||||
    "date": "2025-07-15T16:02:44Z"
 | 
			
		||||
  },
 | 
			
		||||
  {
 | 
			
		||||
    "name": "duplicati/duplicati",
 | 
			
		||||
    "version": "v2.1.0.125-2.1.0.125_canary_2025-07-15",
 | 
			
		||||
    "date": "2025-07-15T15:39:11Z"
 | 
			
		||||
  },
 | 
			
		||||
  {
 | 
			
		||||
    "name": "zitadel/zitadel",
 | 
			
		||||
    "version": "v2.70.14",
 | 
			
		||||
    "date": "2025-07-15T15:27:51Z"
 | 
			
		||||
  },
 | 
			
		||||
  {
 | 
			
		||||
    "name": "WordPress/WordPress",
 | 
			
		||||
    "version": "6.8.2",
 | 
			
		||||
    "date": "2025-07-15T15:14:16Z"
 | 
			
		||||
  },
 | 
			
		||||
  {
 | 
			
		||||
    "name": "jenkinsci/jenkins",
 | 
			
		||||
    "version": "jenkins-2.519",
 | 
			
		||||
    "date": "2025-07-15T14:43:59Z"
 | 
			
		||||
  },
 | 
			
		||||
  {
 | 
			
		||||
    "name": "fallenbagel/jellyseerr",
 | 
			
		||||
    "version": "v2.7.1",
 | 
			
		||||
    "date": "2025-07-15T14:22:46Z"
 | 
			
		||||
  },
 | 
			
		||||
  {
 | 
			
		||||
    "name": "element-hq/synapse",
 | 
			
		||||
    "version": "v1.134.0",
 | 
			
		||||
    "date": "2025-07-15T13:43:39Z"
 | 
			
		||||
  },
 | 
			
		||||
  {
 | 
			
		||||
    "name": "zabbix/zabbix",
 | 
			
		||||
    "version": "7.2.11rc1",
 | 
			
		||||
    "date": "2025-07-15T11:47:53Z"
 | 
			
		||||
  },
 | 
			
		||||
  {
 | 
			
		||||
    "name": "dgtlmoon/changedetection.io",
 | 
			
		||||
    "version": "0.50.7",
 | 
			
		||||
    "date": "2025-07-15T11:29:29Z"
 | 
			
		||||
  },
 | 
			
		||||
  {
 | 
			
		||||
    "name": "morpheus65535/bazarr",
 | 
			
		||||
    "version": "v1.5.3-beta.10",
 | 
			
		||||
    "date": "2025-07-15T06:07:03Z"
 | 
			
		||||
  },
 | 
			
		||||
  {
 | 
			
		||||
    "name": "gotson/komga",
 | 
			
		||||
    "version": "1.22.1",
 | 
			
		||||
    "date": "2025-07-15T06:44:29Z"
 | 
			
		||||
  },
 | 
			
		||||
  {
 | 
			
		||||
    "name": "go-gitea/gitea",
 | 
			
		||||
    "version": "v1.24.3",
 | 
			
		||||
    "date": "2025-07-15T04:56:24Z"
 | 
			
		||||
  },
 | 
			
		||||
  {
 | 
			
		||||
    "name": "jhuckaby/Cronicle",
 | 
			
		||||
    "version": "v0.9.82",
 | 
			
		||||
    "date": "2025-07-15T03:45:44Z"
 | 
			
		||||
  },
 | 
			
		||||
  {
 | 
			
		||||
    "name": "pi-hole/pi-hole",
 | 
			
		||||
    "version": "v6.1.4",
 | 
			
		||||
    "date": "2025-07-14T21:22:17Z"
 | 
			
		||||
  },
 | 
			
		||||
  {
 | 
			
		||||
    "name": "postgres/postgres",
 | 
			
		||||
    "version": "REL_18_BETA2",
 | 
			
		||||
    "date": "2025-07-14T20:12:49Z"
 | 
			
		||||
  },
 | 
			
		||||
  {
 | 
			
		||||
    "name": "ipfs/kubo",
 | 
			
		||||
    "version": "v0.36.0",
 | 
			
		||||
    "date": "2025-07-14T18:59:57Z"
 | 
			
		||||
  },
 | 
			
		||||
  {
 | 
			
		||||
    "name": "esphome/esphome",
 | 
			
		||||
    "version": "2025.6.3",
 | 
			
		||||
    "date": "2025-07-03T01:07:26Z"
 | 
			
		||||
  },
 | 
			
		||||
  {
 | 
			
		||||
    "name": "open-webui/open-webui",
 | 
			
		||||
    "version": "v0.6.16",
 | 
			
		||||
@@ -52,27 +237,7 @@
 | 
			
		||||
  {
 | 
			
		||||
    "name": "theonedev/onedev",
 | 
			
		||||
    "version": "v12.0.0",
 | 
			
		||||
    "date": "2025-07-14T06:19:59Z"
 | 
			
		||||
  },
 | 
			
		||||
  {
 | 
			
		||||
    "name": "wazuh/wazuh",
 | 
			
		||||
    "version": "coverity-w28-4.13.0",
 | 
			
		||||
    "date": "2025-07-08T11:25:24Z"
 | 
			
		||||
  },
 | 
			
		||||
  {
 | 
			
		||||
    "name": "Luligu/matterbridge",
 | 
			
		||||
    "version": "3.1.3",
 | 
			
		||||
    "date": "2025-07-14T07:14:31Z"
 | 
			
		||||
  },
 | 
			
		||||
  {
 | 
			
		||||
    "name": "morpheus65535/bazarr",
 | 
			
		||||
    "version": "v1.5.3-beta.9",
 | 
			
		||||
    "date": "2025-07-14T06:07:20Z"
 | 
			
		||||
  },
 | 
			
		||||
  {
 | 
			
		||||
    "name": "Jackett/Jackett",
 | 
			
		||||
    "version": "v0.22.2154",
 | 
			
		||||
    "date": "2025-07-14T06:00:33Z"
 | 
			
		||||
    "date": "2025-07-14T10:08:45Z"
 | 
			
		||||
  },
 | 
			
		||||
  {
 | 
			
		||||
    "name": "firefly-iii/firefly-iii",
 | 
			
		||||
@@ -99,11 +264,6 @@
 | 
			
		||||
    "version": "5.0.0.M4",
 | 
			
		||||
    "date": "2025-07-13T16:04:39Z"
 | 
			
		||||
  },
 | 
			
		||||
  {
 | 
			
		||||
    "name": "msgbyte/tianji",
 | 
			
		||||
    "version": "v1.23.5",
 | 
			
		||||
    "date": "2025-07-13T15:23:02Z"
 | 
			
		||||
  },
 | 
			
		||||
  {
 | 
			
		||||
    "name": "mayswind/AriaNg",
 | 
			
		||||
    "version": "1.3.11",
 | 
			
		||||
@@ -134,16 +294,6 @@
 | 
			
		||||
    "version": "v4.47.1",
 | 
			
		||||
    "date": "2025-01-05T21:14:23Z"
 | 
			
		||||
  },
 | 
			
		||||
  {
 | 
			
		||||
    "name": "dgtlmoon/changedetection.io",
 | 
			
		||||
    "version": "0.50.6",
 | 
			
		||||
    "date": "2025-07-12T19:52:52Z"
 | 
			
		||||
  },
 | 
			
		||||
  {
 | 
			
		||||
    "name": "advplyr/audiobookshelf",
 | 
			
		||||
    "version": "v2.26.0",
 | 
			
		||||
    "date": "2025-07-12T19:31:21Z"
 | 
			
		||||
  },
 | 
			
		||||
  {
 | 
			
		||||
    "name": "jellyfin/jellyfin",
 | 
			
		||||
    "version": "v10.10.7",
 | 
			
		||||
@@ -164,41 +314,16 @@
 | 
			
		||||
    "version": "v1.28.1",
 | 
			
		||||
    "date": "2025-07-12T08:50:59Z"
 | 
			
		||||
  },
 | 
			
		||||
  {
 | 
			
		||||
    "name": "fallenbagel/jellyseerr",
 | 
			
		||||
    "version": "preview-seerr",
 | 
			
		||||
    "date": "2025-07-12T08:15:55Z"
 | 
			
		||||
  },
 | 
			
		||||
  {
 | 
			
		||||
    "name": "leiweibau/Pi.Alert",
 | 
			
		||||
    "version": "v2025-07-12",
 | 
			
		||||
    "date": "2025-07-12T07:53:52Z"
 | 
			
		||||
  },
 | 
			
		||||
  {
 | 
			
		||||
    "name": "keycloak/keycloak",
 | 
			
		||||
    "version": "26.3.1",
 | 
			
		||||
    "date": "2025-07-09T15:41:43Z"
 | 
			
		||||
  },
 | 
			
		||||
  {
 | 
			
		||||
    "name": "fuma-nama/fumadocs",
 | 
			
		||||
    "version": "fumadocs-openapi@9.1.2",
 | 
			
		||||
    "date": "2025-07-12T03:58:47Z"
 | 
			
		||||
  },
 | 
			
		||||
  {
 | 
			
		||||
    "name": "eclipse-mosquitto/mosquitto",
 | 
			
		||||
    "version": "v2.0.22",
 | 
			
		||||
    "date": "2025-07-11T21:34:20Z"
 | 
			
		||||
  },
 | 
			
		||||
  {
 | 
			
		||||
    "name": "mongodb/mongo",
 | 
			
		||||
    "version": "r8.2.0-alpha0",
 | 
			
		||||
    "date": "2025-07-11T21:06:26Z"
 | 
			
		||||
  },
 | 
			
		||||
  {
 | 
			
		||||
    "name": "duplicati/duplicati",
 | 
			
		||||
    "version": "v2.1.0.124-2.1.0.124_canary_2025-07-11",
 | 
			
		||||
    "date": "2025-07-11T20:09:08Z"
 | 
			
		||||
  },
 | 
			
		||||
  {
 | 
			
		||||
    "name": "TandoorRecipes/recipes",
 | 
			
		||||
    "version": "1.5.35",
 | 
			
		||||
@@ -219,11 +344,6 @@
 | 
			
		||||
    "version": "v10.9.0",
 | 
			
		||||
    "date": "2025-07-11T12:57:54Z"
 | 
			
		||||
  },
 | 
			
		||||
  {
 | 
			
		||||
    "name": "zitadel/zitadel",
 | 
			
		||||
    "version": "v3.3.1",
 | 
			
		||||
    "date": "2025-07-11T11:51:48Z"
 | 
			
		||||
  },
 | 
			
		||||
  {
 | 
			
		||||
    "name": "traefik/traefik",
 | 
			
		||||
    "version": "v3.4.4",
 | 
			
		||||
@@ -244,11 +364,6 @@
 | 
			
		||||
    "version": "v0.85.1",
 | 
			
		||||
    "date": "2025-07-11T01:17:53Z"
 | 
			
		||||
  },
 | 
			
		||||
  {
 | 
			
		||||
    "name": "jenkinsci/jenkins",
 | 
			
		||||
    "version": "jenkins-2.518",
 | 
			
		||||
    "date": "2025-07-08T13:52:55Z"
 | 
			
		||||
  },
 | 
			
		||||
  {
 | 
			
		||||
    "name": "LibreTranslate/LibreTranslate",
 | 
			
		||||
    "version": "v1.7.2",
 | 
			
		||||
@@ -259,11 +374,6 @@
 | 
			
		||||
    "version": "v2.13.0",
 | 
			
		||||
    "date": "2025-07-10T19:27:54Z"
 | 
			
		||||
  },
 | 
			
		||||
  {
 | 
			
		||||
    "name": "ollama/ollama",
 | 
			
		||||
    "version": "v0.9.6",
 | 
			
		||||
    "date": "2025-07-08T01:26:29Z"
 | 
			
		||||
  },
 | 
			
		||||
  {
 | 
			
		||||
    "name": "forgejo/forgejo",
 | 
			
		||||
    "version": "v11.0.3",
 | 
			
		||||
@@ -274,11 +384,6 @@
 | 
			
		||||
    "version": "v1.6.10",
 | 
			
		||||
    "date": "2025-07-10T12:04:30Z"
 | 
			
		||||
  },
 | 
			
		||||
  {
 | 
			
		||||
    "name": "meilisearch/meilisearch",
 | 
			
		||||
    "version": "prototype-incremental-vector-store-3",
 | 
			
		||||
    "date": "2025-07-07T10:27:19Z"
 | 
			
		||||
  },
 | 
			
		||||
  {
 | 
			
		||||
    "name": "pocket-id/pocket-id",
 | 
			
		||||
    "version": "v1.6.2",
 | 
			
		||||
@@ -324,11 +429,6 @@
 | 
			
		||||
    "version": "16.0",
 | 
			
		||||
    "date": "2025-07-09T13:28:43Z"
 | 
			
		||||
  },
 | 
			
		||||
  {
 | 
			
		||||
    "name": "element-hq/synapse",
 | 
			
		||||
    "version": "v1.133.0",
 | 
			
		||||
    "date": "2025-07-01T15:13:42Z"
 | 
			
		||||
  },
 | 
			
		||||
  {
 | 
			
		||||
    "name": "AdguardTeam/AdGuardHome",
 | 
			
		||||
    "version": "v0.107.63",
 | 
			
		||||
@@ -374,11 +474,6 @@
 | 
			
		||||
    "version": "v2.38.2",
 | 
			
		||||
    "date": "2025-07-08T09:35:14Z"
 | 
			
		||||
  },
 | 
			
		||||
  {
 | 
			
		||||
    "name": "Checkmk/checkmk",
 | 
			
		||||
    "version": "v2.4.0p7",
 | 
			
		||||
    "date": "2025-07-08T05:51:08Z"
 | 
			
		||||
  },
 | 
			
		||||
  {
 | 
			
		||||
    "name": "VictoriaMetrics/VictoriaMetrics",
 | 
			
		||||
    "version": "pmm-6401-v1.121.0",
 | 
			
		||||
@@ -454,16 +549,6 @@
 | 
			
		||||
    "version": "v4.3.0",
 | 
			
		||||
    "date": "2025-07-05T12:14:52Z"
 | 
			
		||||
  },
 | 
			
		||||
  {
 | 
			
		||||
    "name": "linkwarden/linkwarden",
 | 
			
		||||
    "version": "v2.11.3",
 | 
			
		||||
    "date": "2025-07-05T04:34:46Z"
 | 
			
		||||
  },
 | 
			
		||||
  {
 | 
			
		||||
    "name": "emqx/emqx",
 | 
			
		||||
    "version": "e6.0.0-M1.202507-alpha.1",
 | 
			
		||||
    "date": "2025-07-04T14:58:23Z"
 | 
			
		||||
  },
 | 
			
		||||
  {
 | 
			
		||||
    "name": "kimai/kimai",
 | 
			
		||||
    "version": "2.37.0",
 | 
			
		||||
@@ -504,11 +589,6 @@
 | 
			
		||||
    "version": "2.5.1",
 | 
			
		||||
    "date": "2025-07-02T19:38:06Z"
 | 
			
		||||
  },
 | 
			
		||||
  {
 | 
			
		||||
    "name": "glpi-project/glpi",
 | 
			
		||||
    "version": "10.0.18",
 | 
			
		||||
    "date": "2025-02-12T11:07:02Z"
 | 
			
		||||
  },
 | 
			
		||||
  {
 | 
			
		||||
    "name": "apache/tomcat",
 | 
			
		||||
    "version": "9.0.107",
 | 
			
		||||
@@ -549,11 +629,6 @@
 | 
			
		||||
    "version": "v0.57.0",
 | 
			
		||||
    "date": "2025-07-01T16:47:46Z"
 | 
			
		||||
  },
 | 
			
		||||
  {
 | 
			
		||||
    "name": "zabbix/zabbix",
 | 
			
		||||
    "version": "7.4.0",
 | 
			
		||||
    "date": "2025-07-01T04:36:51Z"
 | 
			
		||||
  },
 | 
			
		||||
  {
 | 
			
		||||
    "name": "openobserve/openobserve",
 | 
			
		||||
    "version": "v0.15.0-rc3",
 | 
			
		||||
@@ -564,11 +639,6 @@
 | 
			
		||||
    "version": "v2.32.0",
 | 
			
		||||
    "date": "2025-06-30T22:12:48Z"
 | 
			
		||||
  },
 | 
			
		||||
  {
 | 
			
		||||
    "name": "jhuckaby/Cronicle",
 | 
			
		||||
    "version": "v0.9.81",
 | 
			
		||||
    "date": "2025-06-30T16:40:33Z"
 | 
			
		||||
  },
 | 
			
		||||
  {
 | 
			
		||||
    "name": "jupyter/notebook",
 | 
			
		||||
    "version": "v7.4.4",
 | 
			
		||||
@@ -584,11 +654,6 @@
 | 
			
		||||
    "version": "v29.0",
 | 
			
		||||
    "date": "2025-06-30T03:52:33Z"
 | 
			
		||||
  },
 | 
			
		||||
  {
 | 
			
		||||
    "name": "plexguide/Huntarr.io",
 | 
			
		||||
    "version": "8.1.11",
 | 
			
		||||
    "date": "2025-06-28T03:42:46Z"
 | 
			
		||||
  },
 | 
			
		||||
  {
 | 
			
		||||
    "name": "tobychui/zoraxy",
 | 
			
		||||
    "version": "v3.2.4",
 | 
			
		||||
@@ -599,11 +664,6 @@
 | 
			
		||||
    "version": "version/2025.6.3",
 | 
			
		||||
    "date": "2025-06-27T14:01:06Z"
 | 
			
		||||
  },
 | 
			
		||||
  {
 | 
			
		||||
    "name": "netbox-community/netbox",
 | 
			
		||||
    "version": "v4.3.3",
 | 
			
		||||
    "date": "2025-06-26T18:42:56Z"
 | 
			
		||||
  },
 | 
			
		||||
  {
 | 
			
		||||
    "name": "tailscale/tailscale",
 | 
			
		||||
    "version": "v1.84.3",
 | 
			
		||||
@@ -619,11 +679,6 @@
 | 
			
		||||
    "version": "v1.6.1",
 | 
			
		||||
    "date": "2025-06-25T21:19:25Z"
 | 
			
		||||
  },
 | 
			
		||||
  {
 | 
			
		||||
    "name": "coder/code-server",
 | 
			
		||||
    "version": "v4.101.2",
 | 
			
		||||
    "date": "2025-06-25T21:18:52Z"
 | 
			
		||||
  },
 | 
			
		||||
  {
 | 
			
		||||
    "name": "moghtech/komodo",
 | 
			
		||||
    "version": "v1.18.4",
 | 
			
		||||
@@ -644,11 +699,6 @@
 | 
			
		||||
    "version": "RELEASE.2025-06-13T11-33-47Z",
 | 
			
		||||
    "date": "2025-06-23T20:58:42Z"
 | 
			
		||||
  },
 | 
			
		||||
  {
 | 
			
		||||
    "name": "gotson/komga",
 | 
			
		||||
    "version": "1.22.0",
 | 
			
		||||
    "date": "2025-06-23T03:11:37Z"
 | 
			
		||||
  },
 | 
			
		||||
  {
 | 
			
		||||
    "name": "clusterzx/paperless-ai",
 | 
			
		||||
    "version": "v3.0.7",
 | 
			
		||||
@@ -669,11 +719,6 @@
 | 
			
		||||
    "version": "v0.28.4",
 | 
			
		||||
    "date": "2025-06-21T08:29:04Z"
 | 
			
		||||
  },
 | 
			
		||||
  {
 | 
			
		||||
    "name": "go-gitea/gitea",
 | 
			
		||||
    "version": "v1.24.2",
 | 
			
		||||
    "date": "2025-06-20T20:37:55Z"
 | 
			
		||||
  },
 | 
			
		||||
  {
 | 
			
		||||
    "name": "immich-app/immich",
 | 
			
		||||
    "version": "v1.135.3",
 | 
			
		||||
@@ -799,11 +844,6 @@
 | 
			
		||||
    "version": "v0.8.4",
 | 
			
		||||
    "date": "2025-06-10T07:57:14Z"
 | 
			
		||||
  },
 | 
			
		||||
  {
 | 
			
		||||
    "name": "Brandawg93/PeaNUT",
 | 
			
		||||
    "version": "v5.8.0",
 | 
			
		||||
    "date": "2025-06-09T16:08:33Z"
 | 
			
		||||
  },
 | 
			
		||||
  {
 | 
			
		||||
    "name": "ellite/Wallos",
 | 
			
		||||
    "version": "v3.3.0",
 | 
			
		||||
@@ -839,11 +879,6 @@
 | 
			
		||||
    "version": "v0.26.1",
 | 
			
		||||
    "date": "2025-06-06T11:22:02Z"
 | 
			
		||||
  },
 | 
			
		||||
  {
 | 
			
		||||
    "name": "benjaminjonard/koillection",
 | 
			
		||||
    "version": "1.6.14",
 | 
			
		||||
    "date": "2025-06-05T16:40:52Z"
 | 
			
		||||
  },
 | 
			
		||||
  {
 | 
			
		||||
    "name": "MariaDB/server",
 | 
			
		||||
    "version": "mariadb-11.8.2",
 | 
			
		||||
@@ -869,16 +904,6 @@
 | 
			
		||||
    "version": "1.26.3",
 | 
			
		||||
    "date": "2025-06-02T22:00:14Z"
 | 
			
		||||
  },
 | 
			
		||||
  {
 | 
			
		||||
    "name": "usememos/memos",
 | 
			
		||||
    "version": "v0.24.4",
 | 
			
		||||
    "date": "2025-06-02T02:49:05Z"
 | 
			
		||||
  },
 | 
			
		||||
  {
 | 
			
		||||
    "name": "gethomepage/homepage",
 | 
			
		||||
    "version": "v1.3.2",
 | 
			
		||||
    "date": "2025-06-01T19:02:46Z"
 | 
			
		||||
  },
 | 
			
		||||
  {
 | 
			
		||||
    "name": "release-argus/Argus",
 | 
			
		||||
    "version": "0.26.3",
 | 
			
		||||
@@ -924,11 +949,6 @@
 | 
			
		||||
    "version": "0.5",
 | 
			
		||||
    "date": "2025-05-21T20:19:14Z"
 | 
			
		||||
  },
 | 
			
		||||
  {
 | 
			
		||||
    "name": "sbondCo/Watcharr",
 | 
			
		||||
    "version": "v2.1.0",
 | 
			
		||||
    "date": "2025-05-18T18:20:43Z"
 | 
			
		||||
  },
 | 
			
		||||
  {
 | 
			
		||||
    "name": "YunoHost/yunohost",
 | 
			
		||||
    "version": "debian/12.1.6.1",
 | 
			
		||||
@@ -979,21 +999,11 @@
 | 
			
		||||
    "version": "v1.8.1",
 | 
			
		||||
    "date": "2025-05-06T04:27:00Z"
 | 
			
		||||
  },
 | 
			
		||||
  {
 | 
			
		||||
    "name": "postgres/postgres",
 | 
			
		||||
    "version": "REL_13_21",
 | 
			
		||||
    "date": "2025-05-05T20:34:49Z"
 | 
			
		||||
  },
 | 
			
		||||
  {
 | 
			
		||||
    "name": "apache/couchdb",
 | 
			
		||||
    "version": "3.5.0",
 | 
			
		||||
    "date": "2025-05-05T16:28:24Z"
 | 
			
		||||
  },
 | 
			
		||||
  {
 | 
			
		||||
    "name": "WordPress/WordPress",
 | 
			
		||||
    "version": "6.8.1",
 | 
			
		||||
    "date": "2025-04-30T16:44:16Z"
 | 
			
		||||
  },
 | 
			
		||||
  {
 | 
			
		||||
    "name": "deluge-torrent/deluge",
 | 
			
		||||
    "version": "deluge-2.2.0",
 | 
			
		||||
@@ -1019,11 +1029,6 @@
 | 
			
		||||
    "version": "v1.4.0",
 | 
			
		||||
    "date": "2025-04-24T16:20:17Z"
 | 
			
		||||
  },
 | 
			
		||||
  {
 | 
			
		||||
    "name": "NLnetLabs/unbound",
 | 
			
		||||
    "version": "release-1.23.0",
 | 
			
		||||
    "date": "2025-04-24T08:07:21Z"
 | 
			
		||||
  },
 | 
			
		||||
  {
 | 
			
		||||
    "name": "monicahq/monica",
 | 
			
		||||
    "version": "v4.1.2",
 | 
			
		||||
@@ -1204,11 +1209,6 @@
 | 
			
		||||
    "version": "v7.4.1",
 | 
			
		||||
    "date": "2025-02-15T20:54:00Z"
 | 
			
		||||
  },
 | 
			
		||||
  {
 | 
			
		||||
    "name": "TryGhost/Ghost-CLI",
 | 
			
		||||
    "version": "v1.27.0",
 | 
			
		||||
    "date": "2025-02-13T15:55:36Z"
 | 
			
		||||
  },
 | 
			
		||||
  {
 | 
			
		||||
    "name": "actualbudget/actual-server",
 | 
			
		||||
    "version": "v25.2.1",
 | 
			
		||||
 
 | 
			
		||||
@@ -19,7 +19,7 @@ $STD apt-get install -y \
 | 
			
		||||
  nginx
 | 
			
		||||
msg_ok "Installed Dependencies"
 | 
			
		||||
 | 
			
		||||
PHP_VERSION="8.3" PHP_MODULE="common,ctype,fileinfo,fpm,mysql,cli" setup_php
 | 
			
		||||
PHP_VERSION="8.3" PHP_MODULE="common,ctype,fileinfo,mysql,cli" PHP_FPM="YES" setup_php
 | 
			
		||||
setup_composer
 | 
			
		||||
setup_mariadb
 | 
			
		||||
 | 
			
		||||
 
 | 
			
		||||
@@ -24,13 +24,20 @@ motd_ssh
 | 
			
		||||
customize
 | 
			
		||||
 | 
			
		||||
msg_info "Creating Service"
 | 
			
		||||
PASSWORD=$(omd create monitoring | grep "password:" | awk '{print $NF}')
 | 
			
		||||
$STD omd start
 | 
			
		||||
SITE_NAME="monitoring"
 | 
			
		||||
$STD omd create "$SITE_NAME"
 | 
			
		||||
MKPASSWORD=$(openssl rand -base64 18 | tr -d '/+=' | cut -c1-16)
 | 
			
		||||
 | 
			
		||||
echo -e "$MKPASSWORD\n$MKPASSWORD" | su - "$SITE_NAME" -c "cmk-passwd cmkadmin --stdin"
 | 
			
		||||
$STD omd start "$SITE_NAME"
 | 
			
		||||
 | 
			
		||||
{
 | 
			
		||||
    echo "Application-Credentials"
 | 
			
		||||
    echo "Username: cmkadmin"
 | 
			
		||||
    echo "Password: $PASSWORD"
 | 
			
		||||
  echo "Application-Credentials"
 | 
			
		||||
  echo "Username: cmkadmin"
 | 
			
		||||
  echo "Password: $MKPASSWORD"
 | 
			
		||||
  echo "Site: $SITE_NAME"
 | 
			
		||||
} >>~/checkmk.creds
 | 
			
		||||
 | 
			
		||||
msg_ok "Created Service"
 | 
			
		||||
 | 
			
		||||
msg_info "Cleaning up"
 | 
			
		||||
 
 | 
			
		||||
@@ -13,7 +13,7 @@ setting_up_container
 | 
			
		||||
network_check
 | 
			
		||||
update_os
 | 
			
		||||
 | 
			
		||||
FFMPEG_VERSION="latest" FFMPEG_TYPE="medium" setup_ffmpeg
 | 
			
		||||
FFMPEG_VERSION="latest" FFMPEG_TYPE="full" setup_ffmpeg
 | 
			
		||||
 | 
			
		||||
msg_info "Setting Up Hardware Acceleration"
 | 
			
		||||
$STD apt-get -y install {va-driver-all,ocl-icd-libopencl1,intel-opencl-icd,vainfo,intel-gpu-tools}
 | 
			
		||||
 
 | 
			
		||||
@@ -22,7 +22,8 @@ $STD apt-get install -y \
 | 
			
		||||
  chromium/stable \
 | 
			
		||||
  chromium-common/stable \
 | 
			
		||||
  graphicsmagick \
 | 
			
		||||
  ghostscript
 | 
			
		||||
  ghostscript \
 | 
			
		||||
  jq
 | 
			
		||||
msg_ok "Installed Dependencies"
 | 
			
		||||
 | 
			
		||||
msg_info "Installing Additional Tools"
 | 
			
		||||
@@ -48,18 +49,14 @@ sed -i \
 | 
			
		||||
  /etc/meilisearch.toml
 | 
			
		||||
msg_ok "Installed Meilisearch"
 | 
			
		||||
 | 
			
		||||
NODE_VERSION="22" NODE_MODULE="yarn@latest" setup_nodejs
 | 
			
		||||
$STD npm install -g corepack@0.31.0
 | 
			
		||||
fetch_and_deploy_gh_release "karakeep" "karakeep-app/karakeep"
 | 
			
		||||
cd /opt/karakeep
 | 
			
		||||
MODULE_VERSION="$(jq -r '.packageManager | split("@")[1]' /opt/karakeep/package.json)"
 | 
			
		||||
NODE_VERSION="22" NODE_MODULE="pnpm@${MODULE_VERSION}" setup_nodejs
 | 
			
		||||
 | 
			
		||||
msg_info "Installing karakeep"
 | 
			
		||||
cd /opt
 | 
			
		||||
RELEASE=$(curl -fsSL https://api.github.com/repos/karakeep-app/karakeep/releases/latest | grep "tag_name" | awk '{print substr($2, 3, length($2)-4) }')
 | 
			
		||||
curl -fsSL "https://github.com/karakeep-app/karakeep/archive/refs/tags/v${RELEASE}.zip" -o "v${RELEASE}.zip"
 | 
			
		||||
$STD unzip "v${RELEASE}.zip"
 | 
			
		||||
mv karakeep-"${RELEASE}" /opt/karakeep
 | 
			
		||||
cd /opt/karakeep
 | 
			
		||||
corepack enable
 | 
			
		||||
export PUPPETEER_SKIP_DOWNLOAD="true"
 | 
			
		||||
export PLAYWRIGHT_SKIP_BROWSER_DOWNLOAD="true"
 | 
			
		||||
export NEXT_TELEMETRY_DISABLED=1
 | 
			
		||||
export CI="true"
 | 
			
		||||
cd /opt/karakeep/apps/web
 | 
			
		||||
@@ -70,15 +67,13 @@ $STD pnpm install --frozen-lockfile
 | 
			
		||||
cd /opt/karakeep/apps/cli
 | 
			
		||||
$STD pnpm install --frozen-lockfile
 | 
			
		||||
$STD pnpm build
 | 
			
		||||
cd /opt/karakeep/apps/mcp
 | 
			
		||||
$STD pnpm install --frozen-lockfile
 | 
			
		||||
$STD pnpm build
 | 
			
		||||
$STD pnpm store prune
 | 
			
		||||
 | 
			
		||||
export DATA_DIR=/opt/karakeep_data
 | 
			
		||||
karakeep_SECRET=$(openssl rand -base64 36 | cut -c1-24)
 | 
			
		||||
mkdir -p /etc/karakeep
 | 
			
		||||
cat <<EOF >/etc/karakeep/karakeep.env
 | 
			
		||||
SERVER_VERSION=$RELEASE
 | 
			
		||||
SERVER_VERSION="$(cat ~/.karakeep)"
 | 
			
		||||
NEXTAUTH_SECRET="$karakeep_SECRET"
 | 
			
		||||
NEXTAUTH_URL="http://localhost:3000"
 | 
			
		||||
DATA_DIR="$DATA_DIR"
 | 
			
		||||
@@ -112,7 +107,6 @@ BROWSER_WEB_URL="http://127.0.0.1:9222"
 | 
			
		||||
# CRAWLER_VIDEO_DOWNLOAD_MAX_SIZE="50"
 | 
			
		||||
# CRAWLER_ENABLE_ADBLOCKER=true
 | 
			
		||||
EOF
 | 
			
		||||
echo "${RELEASE}" >"/opt/${APPLICATION}_version.txt"
 | 
			
		||||
msg_ok "Installed karakeep"
 | 
			
		||||
 | 
			
		||||
msg_info "Running Database Migration"
 | 
			
		||||
@@ -190,7 +184,6 @@ customize
 | 
			
		||||
 | 
			
		||||
msg_info "Cleaning up"
 | 
			
		||||
rm -rf /tmp/meilisearch.deb
 | 
			
		||||
rm -f /opt/v"${RELEASE}".zip
 | 
			
		||||
$STD apt-get autoremove -y
 | 
			
		||||
$STD apt-get autoclean -y
 | 
			
		||||
msg_ok "Cleaned"
 | 
			
		||||
 
 | 
			
		||||
@@ -14,22 +14,17 @@ setting_up_container
 | 
			
		||||
network_check
 | 
			
		||||
update_os
 | 
			
		||||
 | 
			
		||||
NODE_VERSION="22" setup_nodejs
 | 
			
		||||
 | 
			
		||||
msg_info "Installing NUT"
 | 
			
		||||
$STD apt-get install -y nut-client
 | 
			
		||||
msg_ok "Installed NUT"
 | 
			
		||||
 | 
			
		||||
msg_info "Installing Peanut"
 | 
			
		||||
RELEASE=$(curl -fsSL https://api.github.com/repos/Brandawg93/PeaNUT/releases/latest | grep '"tag_name":' | cut -d'"' -f4)
 | 
			
		||||
curl -fsSL "https://api.github.com/repos/Brandawg93/PeaNUT/tarball/${RELEASE}" -o "peanut.tar.gz"
 | 
			
		||||
mkdir -p /opt/peanut
 | 
			
		||||
tar -xzf peanut.tar.gz -C /opt/peanut --strip-components=1
 | 
			
		||||
rm peanut.tar.gz
 | 
			
		||||
NODE_VERSION="22" NODE_MODULE="pnpm" setup_nodejs
 | 
			
		||||
fetch_and_deploy_gh_release "peanut" "Brandawg93/PeaNUT" "tarball" "latest" "/opt/peanut"
 | 
			
		||||
 | 
			
		||||
msg_info "Setup Peanut"
 | 
			
		||||
cd /opt/peanut
 | 
			
		||||
$STD npm install -g pnpm
 | 
			
		||||
$STD pnpm i
 | 
			
		||||
$STD pnpm run build
 | 
			
		||||
$STD pnpm run build:local
 | 
			
		||||
cp -r .next/static .next/standalone/.next/
 | 
			
		||||
mkdir -p /opt/peanut/.next/standalone/config
 | 
			
		||||
mkdir -p /etc/peanut/
 | 
			
		||||
@@ -40,7 +35,7 @@ NUT_HOST: 0.0.0.0
 | 
			
		||||
NUT_PORT: 3493
 | 
			
		||||
EOF
 | 
			
		||||
ln -sf /etc/peanut/settings.yml /opt/peanut/.next/standalone/config/settings.yml
 | 
			
		||||
msg_ok "Installed Peanut"
 | 
			
		||||
msg_ok "Setup Peanut"
 | 
			
		||||
 | 
			
		||||
msg_info "Creating Service"
 | 
			
		||||
cat <<EOF >/etc/systemd/system/peanut.service
 | 
			
		||||
 
 | 
			
		||||
@@ -227,7 +227,7 @@ write_config() {
 | 
			
		||||
  if whiptail --backtitle "Proxmox VE Helper Scripts" --defaultno --title "Write configfile" --yesno "Do you want to write the selections to a config file?" 10 60; then
 | 
			
		||||
    FILEPATH="/opt/community-scripts/${NSAPP}.conf"
 | 
			
		||||
    if [[ ! -f $FILEPATH ]]; then
 | 
			
		||||
  cat <<EOF >"$FILEPATH"
 | 
			
		||||
      cat <<EOF >"$FILEPATH"
 | 
			
		||||
# ${NSAPP} Configuration File
 | 
			
		||||
# Generated on $(date)
 | 
			
		||||
 | 
			
		||||
@@ -264,7 +264,7 @@ EOF
 | 
			
		||||
      echo -e "${INFO}${BOLD}${RD}Configuration file already exists at ${FILEPATH}${CL}"
 | 
			
		||||
      if whiptail --backtitle "Proxmox VE Helper Scripts" --defaultno --title "Overwrite configfile" --yesno "Do you want to overwrite the existing config file?" 10 60; then
 | 
			
		||||
        rm -f "$FILEPATH"
 | 
			
		||||
          cat <<EOF >"$FILEPATH"
 | 
			
		||||
        cat <<EOF >"$FILEPATH"
 | 
			
		||||
# ${NSAPP} Configuration File
 | 
			
		||||
# Generated on $(date)
 | 
			
		||||
 | 
			
		||||
@@ -875,20 +875,24 @@ install_script() {
 | 
			
		||||
  header_info
 | 
			
		||||
  while true; do
 | 
			
		||||
 | 
			
		||||
    CHOICE=$(whiptail --backtitle "Proxmox VE Helper Scripts" --title "SETTINGS" --menu "Choose an option:" \
 | 
			
		||||
      18 60 6 \
 | 
			
		||||
    TMP_CHOICE=$(whiptail --backtitle "Proxmox VE Helper Scripts" \
 | 
			
		||||
      --title "SETTINGS" \
 | 
			
		||||
      --menu "Choose an option:" 20 60 6 \
 | 
			
		||||
      "1" "Default Settings" \
 | 
			
		||||
      "2" "Default Settings (with verbose)" \
 | 
			
		||||
      "3" "Advanced Settings" \
 | 
			
		||||
      "4" "Use Config File" \
 | 
			
		||||
      "5" "Diagnostic Settings" \
 | 
			
		||||
      "6" "Exit" --nocancel --default-item "1" 3>&1 1>&2 2>&3)
 | 
			
		||||
      "6" "Exit" \
 | 
			
		||||
      --default-item "1" 3>&1 1>&2 2>&3) || true
 | 
			
		||||
 | 
			
		||||
    if [ $? -ne 0 ]; then
 | 
			
		||||
      echo -e "${CROSS}${RD} Menu canceled. Exiting.${CL}"
 | 
			
		||||
    if [ -z "$TMP_CHOICE" ]; then
 | 
			
		||||
      echo -e "\n${CROSS}${RD}Menu canceled. Exiting script.${CL}\n"
 | 
			
		||||
      exit 0
 | 
			
		||||
    fi
 | 
			
		||||
 | 
			
		||||
    CHOICE="$TMP_CHOICE"
 | 
			
		||||
 | 
			
		||||
    case $CHOICE in
 | 
			
		||||
    1)
 | 
			
		||||
      header_info
 | 
			
		||||
@@ -943,11 +947,11 @@ install_script() {
 | 
			
		||||
 | 
			
		||||
      ;;
 | 
			
		||||
    6)
 | 
			
		||||
      echo -e "${CROSS}${RD}Exiting.${CL}"
 | 
			
		||||
      echo -e "\n${CROSS}${RD}Script terminated. Have a great day!${CL}\n"
 | 
			
		||||
      exit 0
 | 
			
		||||
      ;;
 | 
			
		||||
    *)
 | 
			
		||||
      echo -e "${CROSS}${RD}Invalid option, please try again.${CL}"
 | 
			
		||||
      echo -e "\n${CROSS}${RD}Invalid option, please try again.${CL}\n"
 | 
			
		||||
      ;;
 | 
			
		||||
    esac
 | 
			
		||||
  done
 | 
			
		||||
 
 | 
			
		||||
@@ -1772,6 +1772,7 @@ function setup_ffmpeg() {
 | 
			
		||||
      libx264-dev libx265-dev libvpx-dev libmp3lame-dev
 | 
			
		||||
      libfreetype6-dev libass-dev libopus-dev libvorbis-dev
 | 
			
		||||
      libdav1d-dev libsvtav1-dev zlib1g-dev libnuma-dev
 | 
			
		||||
      libva-dev libdrm-dev
 | 
			
		||||
    )
 | 
			
		||||
    ;;
 | 
			
		||||
  *)
 | 
			
		||||
@@ -1808,6 +1809,7 @@ function setup_ffmpeg() {
 | 
			
		||||
 | 
			
		||||
  if [[ "$TYPE" == "full" ]]; then
 | 
			
		||||
    args+=(--enable-libx265 --enable-libdav1d --enable-zlib)
 | 
			
		||||
    args+=(--enable-vaapi --enable-libdrm)
 | 
			
		||||
  fi
 | 
			
		||||
 | 
			
		||||
  if [[ ${#args[@]} -eq 0 ]]; then
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user