Compare commits

..

30 Commits

Author SHA1 Message Date
community-scripts-pr-app[bot]
523b3e6a70 Update CHANGELOG.md (#6037)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2025-07-17 00:14:03 +00:00
community-scripts-pr-app[bot]
4ce715acd4 Update versions.json (#6036)
Co-authored-by: GitHub Actions[bot] <github-actions[bot]@users.noreply.github.com>
2025-07-17 02:13:42 +02:00
community-scripts-pr-app[bot]
1ad394367e Update CHANGELOG.md (#6034)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2025-07-16 17:32:43 +00:00
Chris
0b0ae1a3bc homepage.sh: hotfix #6028 (#6032) 2025-07-16 19:32:17 +02:00
community-scripts-pr-app[bot]
63c5912723 Update CHANGELOG.md (#6033)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2025-07-16 16:31:43 +00:00
Chris
dafb4af6a8 karakeep-install: Disable Playwright browser download, remove MCP build (#5833)
Co-authored-by: CanbiZ <47820557+MickLesk@users.noreply.github.com>
2025-07-16 18:31:24 +02:00
community-scripts-pr-app[bot]
88e3a334f7 Update versions.json (#6027)
Co-authored-by: GitHub Actions[bot] <github-actions[bot]@users.noreply.github.com>
2025-07-16 14:06:10 +02:00
community-scripts-pr-app[bot]
bbd600a348 Update CHANGELOG.md (#6024)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2025-07-16 06:53:57 +00:00
Kimmo Saari
c90f800a69 chore: reorganize nginxproxymanager update script (#5971) 2025-07-16 08:53:35 +02:00
Cristian
ca5f0629b0 Update mealie.json -- interface_port (#6021) 2025-07-16 08:53:11 +02:00
community-scripts-pr-app[bot]
a7f67e5534 Update CHANGELOG.md (#6023)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2025-07-16 00:14:00 +00:00
community-scripts-pr-app[bot]
03c4e54da6 Update versions.json (#6022)
Co-authored-by: GitHub Actions[bot] <github-actions[bot]@users.noreply.github.com>
2025-07-16 02:13:38 +02:00
CanbiZ
eb86d3e960 qf: ffmpeg hw acc 2025-07-15 16:57:43 +02:00
CanbiZ
968b7cdf43 set ffmeg_type to full 2025-07-15 14:20:22 +02:00
community-scripts-pr-app[bot]
688d296d13 Update CHANGELOG.md (#6016)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2025-07-15 12:06:23 +00:00
community-scripts-pr-app[bot]
0379223ead Update versions.json (#6015)
Co-authored-by: GitHub Actions[bot] <github-actions[bot]@users.noreply.github.com>
2025-07-15 14:05:58 +02:00
CanbiZ
7a0ca05153 fix possible whiptail issue 2025-07-15 13:47:08 +02:00
CanbiZ
fb3bf03332 Update build.func 2025-07-15 13:43:05 +02:00
community-scripts-pr-app[bot]
6d312c9c8d Update CHANGELOG.md (#6012)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2025-07-15 11:38:45 +00:00
CanbiZ
a2dde6594e add missing choise 2025-07-15 13:38:25 +02:00
community-scripts-pr-app[bot]
f7c9d77019 Update CHANGELOG.md (#6009)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2025-07-15 11:16:02 +00:00
CanbiZ
8f4f2f4d92 Whiptail: Improve Dialogue to work with ESC (#6003) 2025-07-15 13:15:42 +02:00
community-scripts-pr-app[bot]
f15e4ea552 Update CHANGELOG.md (#6008)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2025-07-15 11:12:51 +00:00
CanbiZ
1a90d90d5e 2FAuth: Improve Update-Check (#5998) 2025-07-15 13:12:32 +02:00
community-scripts-pr-app[bot]
11f1e86500 Update CHANGELOG.md (#6007)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2025-07-15 11:11:29 +00:00
CanbiZ
9d84657763 EMQX_ Purge Old Install (#5999) 2025-07-15 13:11:07 +02:00
community-scripts-pr-app[bot]
31d57da5ab Update CHANGELOG.md (#6006)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2025-07-15 10:22:57 +00:00
CanbiZ
7d223b984b Refactor: PeaNUT (#6002) 2025-07-15 12:22:38 +02:00
community-scripts-pr-app[bot]
417c4e466c Update CHANGELOG.md (#6005)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2025-07-15 10:21:33 +00:00
CanbiZ
b16fa8d34f checkmk: change password crawling based on there docs (#6001)
* checkmk: change variable name for reserved PASSWORD

* Update checkmk-install.sh

* Update checkmk-install.sh

* Update checkmk-install.sh
2025-07-15 12:21:10 +02:00
17 changed files with 412 additions and 350 deletions

View File

@@ -10,8 +10,39 @@
> [!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-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 ## 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 ## 2025-07-14
### 🆕 New Scripts ### 🆕 New Scripts

View File

@@ -28,8 +28,11 @@ 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/Bubka/2FAuth/releases/latest | grep "tag_name" | awk '{print substr($2, 2, length($2)-3) }') if ! command -v jq &>/dev/null; then
if [[ "${RELEASE}" != "$(cat ~/.2fauth 2>/dev/null || cat /opt/2fauth_version.txt 2>/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}" msg_info "Updating $APP to ${RELEASE}"
$STD apt-get update $STD apt-get update
$STD apt-get -y upgrade $STD apt-get -y upgrade
@@ -45,10 +48,11 @@ function update_script() {
$STD apt-get install -y \ $STD apt-get install -y \
lsb-release \ lsb-release \
gnupg2 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 sed -i 's/php8.2/php8.3/g' /etc/nginx/conf.d/2fauth.conf
fi fi
fetch_and_deploy_gh_release "2fauth" "Bubka/2FAuth" fetch_and_deploy_gh_release "2fauth" "Bubka/2FAuth"
setup_composer
mv "/opt/2fauth-backup/.env" "/opt/2fauth/.env" mv "/opt/2fauth-backup/.env" "/opt/2fauth/.env"
mv "/opt/2fauth-backup/storage" "/opt/2fauth/storage" mv "/opt/2fauth-backup/storage" "/opt/2fauth/storage"
cd "/opt/2fauth" || return cd "/opt/2fauth" || return

View File

@@ -30,6 +30,10 @@ function update_script() {
systemctl stop emqx systemctl stop emqx
msg_ok "Stopped 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}" msg_info "Downloading EMQX v${RELEASE}"
DEB_FILE="/tmp/emqx-enterprise-${RELEASE}-debian12-amd64.deb" 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" curl -fsSL -o "$DEB_FILE" "https://www.emqx.com/en/downloads/enterprise/v${RELEASE}/emqx-enterprise-${RELEASE}-debian12-amd64.deb"

View File

@@ -56,7 +56,7 @@ function update_script() {
rm -rf homepage-${RELEASE} rm -rf homepage-${RELEASE}
cd /opt/homepage cd /opt/homepage
$STD pnpm install $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_VERSION="v$RELEASE"
export NEXT_PUBLIC_REVISION="source" export NEXT_PUBLIC_REVISION="source"
export NEXT_PUBLIC_BUILDTIME=$(curl -fsSL https://api.github.com/repos/gethomepage/homepage/releases/latest | jq -r '.published_at') export NEXT_PUBLIC_BUILDTIME=$(curl -fsSL https://api.github.com/repos/gethomepage/homepage/releases/latest | jq -r '.published_at')

View File

@@ -27,59 +27,67 @@ 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/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" RELEASE=$(curl -fsSL https://api.github.com/repos/karakeep-app/karakeep/releases/latest | grep "tag_name" | awk '{print substr($2, 3, length($2)-4) }')
systemctl start karakeep-browser karakeep-workers karakeep-web if [[ -f ~/.karakeep && "$RELEASE" == "$(cat ~/.karakeep)" ]]; then
msg_ok "Started Services" msg_ok "No update required. ${APP} is already at ${RELEASE}"
msg_info "Cleaning up" exit
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}."
fi 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 exit
} }

View File

@@ -27,15 +27,32 @@ function update_script() {
msg_error "No ${APP} Installation Found!" msg_error "No ${APP} Installation Found!"
exit exit
fi fi
if ! command -v pnpm &>/dev/null; then if ! command -v pnpm &>/dev/null; then
msg_info "Installing pnpm" msg_info "Installing pnpm"
#export NODE_OPTIONS=--openssl-legacy-provider #export NODE_OPTIONS=--openssl-legacy-provider
$STD npm install -g pnpm@8.15 $STD npm install -g pnpm@8.15
msg_ok "Installed pnpm" msg_ok "Installed pnpm"
fi fi
RELEASE=$(curl -fsSL https://api.github.com/repos/NginxProxyManager/nginx-proxy-manager/releases/latest | RELEASE=$(curl -fsSL https://api.github.com/repos/NginxProxyManager/nginx-proxy-manager/releases/latest |
grep "tag_name" | grep "tag_name" |
awk '{print substr($2, 3, length($2)-4) }') 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" msg_info "Stopping Services"
systemctl stop openresty systemctl stop openresty
systemctl stop npm systemctl stop npm
@@ -50,12 +67,7 @@ function update_script() {
"$STD" /var/cache/nginx "$STD" /var/cache/nginx
msg_ok "Cleaned Old Files" msg_ok "Cleaned Old Files"
msg_info "Downloading NPM v${RELEASE}" msg_info "Setting up Environment"
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"
ln -sf /usr/bin/python3 /usr/bin/python ln -sf /usr/bin/python3 /usr/bin/python
ln -sf /usr/bin/certbot /opt/certbot/bin/certbot ln -sf /usr/bin/certbot /opt/certbot/bin/certbot
ln -sf /usr/local/openresty/nginx/sbin/nginx /usr/sbin/nginx 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 $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 fi
mkdir -p /app/global /app/frontend/images 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 backend/* /app
cp -r global/* /app/global cp -r global/* /app/global
$STD python3 -m pip install --no-cache-dir --break-system-packages certbot-dns-cloudflare $STD python3 -m pip install --no-cache-dir --break-system-packages certbot-dns-cloudflare
msg_ok "Setup Enviroment" msg_ok "Setup Environment"
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_info "Initializing Backend" msg_info "Initializing Backend"
$STD rm -rf /app/config/default.json $STD rm -rf /app/config/default.json
@@ -128,7 +133,7 @@ function update_script() {
} }
EOF EOF
fi fi
cd /app cd /app || exit
$STD pnpm install $STD pnpm install
msg_ok "Initialized Backend" msg_ok "Initialized Backend"

View File

@@ -8,7 +8,7 @@ source <(curl -fsSL https://raw.githubusercontent.com/community-scripts/ProxmoxV
APP="PeaNUT" APP="PeaNUT"
var_tags="${var_tags:-network;ups;}" var_tags="${var_tags:-network;ups;}"
var_cpu="${var_cpu:-2}" var_cpu="${var_cpu:-2}"
var_ram="${var_ram:-3072}" var_ram="${var_ram:-4096}"
var_disk="${var_disk:-7}" var_disk="${var_disk:-7}"
var_os="${var_os:-debian}" var_os="${var_os:-debian}"
var_version="${var_version:-12}" var_version="${var_version:-12}"
@@ -27,22 +27,31 @@ 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/Brandawg93/PeaNUT/releases/latest | grep '"tag_name":' | cut -d'"' -f4) if ! command -v jq &>/dev/null; then
if [[ ! -f /opt/${APP}_version.txt ]] || [[ "${RELEASE}" != "$(cat /opt/${APP}_version.txt)" ]]; then $STD apt-get install -y jq
msg_info "Updating $APP to ${RELEASE}" 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 systemctl stop peanut
curl -fsSL "https://api.github.com/repos/Brandawg93/PeaNUT/tarball/${RELEASE}" -o "peanut.tar.gz" msg_ok "Stopped $APP"
tar -xzf peanut.tar.gz -C /opt/peanut --strip-components=1
rm peanut.tar.gz fetch_and_deploy_gh_release "peanut" "Brandawg93/PeaNUT" "tarball" "latest" "/opt/peanut"
msg_info "Updating $APP to ${RELEASE}"
cd /opt/peanut cd /opt/peanut
$STD pnpm i $STD pnpm i
$STD pnpm run build $STD pnpm run build:local
cp -r .next/static .next/standalone/.next/ cp -r .next/static .next/standalone/.next/
mkdir -p /opt/peanut/.next/standalone/config mkdir -p /opt/peanut/.next/standalone/config
ln -sf /etc/peanut/settings.yml /opt/peanut/.next/standalone/config/settings.yml 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_ok "Updated $APP to ${RELEASE}"
msg_info "Starting $APP"
systemctl start peanut
msg_ok "Started $APP"
else else
msg_ok "No update required. ${APP} is already at ${RELEASE}" msg_ok "No update required. ${APP} is already at ${RELEASE}"
fi fi

View File

@@ -9,7 +9,7 @@
"updateable": true, "updateable": true,
"privileged": false, "privileged": false,
"config_path": "/opt/mealie/mealie.env", "config_path": "/opt/mealie/mealie.env",
"interface_port": 3000, "interface_port": 9000,
"documentation": "https://mealie.io/", "documentation": "https://mealie.io/",
"website": "https://mealie.io/", "website": "https://mealie.io/",
"logo": "https://cdn.jsdelivr.net/gh/selfhst/icons/webp/mealie.webp", "logo": "https://cdn.jsdelivr.net/gh/selfhst/icons/webp/mealie.webp",

View File

@@ -1,35 +1,35 @@
{ {
"name": "PeaNUT", "name": "PeaNUT",
"slug": "peanut", "slug": "peanut",
"categories": [ "categories": [
4 4
], ],
"date_created": "2024-06-14", "date_created": "2024-06-14",
"type": "ct", "type": "ct",
"updateable": true, "updateable": true,
"privileged": false, "privileged": false,
"interface_port": 3000, "interface_port": 3000,
"documentation": null, "documentation": null,
"website": "https://github.com/Brandawg93/PeaNUT/", "website": "https://github.com/Brandawg93/PeaNUT/",
"logo": "https://cdn.jsdelivr.net/gh/selfhst/icons/webp/peanut.webp", "logo": "https://cdn.jsdelivr.net/gh/selfhst/icons/webp/peanut.webp",
"config_path": "/etc/peanut/settings.yml", "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.", "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": [ "install_methods": [
{ {
"type": "default", "type": "default",
"script": "ct/peanut.sh", "script": "ct/peanut.sh",
"resources": { "resources": {
"cpu": 2, "cpu": 2,
"ram": 3072, "ram": 4096,
"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": []
} }

View File

@@ -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", "name": "steveiliop56/tinyauth",
"version": "v3.6.1", "version": "v3.6.1",
"date": "2025-07-12T13:41:57Z" "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", "name": "rcourtman/Pulse",
"version": "v3.42.0", "version": "v3.42.0",
"date": "2025-07-14T22:07:28Z" "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", "name": "pi-hole/pi-hole",
"version": "v6.1.4", "version": "v6.1.4",
"date": "2025-07-14T21:22:17Z" "date": "2025-07-14T21:22:17Z"
}, },
{
"name": "postgres/postgres",
"version": "REL_18_BETA2",
"date": "2025-07-14T20:12:49Z"
},
{ {
"name": "ipfs/kubo", "name": "ipfs/kubo",
"version": "v0.36.0", "version": "v0.36.0",
"date": "2025-07-14T18:59:57Z" "date": "2025-07-14T18:59:57Z"
}, },
{
"name": "esphome/esphome",
"version": "2025.6.3",
"date": "2025-07-03T01:07:26Z"
},
{ {
"name": "open-webui/open-webui", "name": "open-webui/open-webui",
"version": "v0.6.16", "version": "v0.6.16",
@@ -52,27 +237,7 @@
{ {
"name": "theonedev/onedev", "name": "theonedev/onedev",
"version": "v12.0.0", "version": "v12.0.0",
"date": "2025-07-14T06:19:59Z" "date": "2025-07-14T10:08:45Z"
},
{
"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"
}, },
{ {
"name": "firefly-iii/firefly-iii", "name": "firefly-iii/firefly-iii",
@@ -99,11 +264,6 @@
"version": "5.0.0.M4", "version": "5.0.0.M4",
"date": "2025-07-13T16:04:39Z" "date": "2025-07-13T16:04:39Z"
}, },
{
"name": "msgbyte/tianji",
"version": "v1.23.5",
"date": "2025-07-13T15:23:02Z"
},
{ {
"name": "mayswind/AriaNg", "name": "mayswind/AriaNg",
"version": "1.3.11", "version": "1.3.11",
@@ -134,16 +294,6 @@
"version": "v4.47.1", "version": "v4.47.1",
"date": "2025-01-05T21:14:23Z" "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", "name": "jellyfin/jellyfin",
"version": "v10.10.7", "version": "v10.10.7",
@@ -164,41 +314,16 @@
"version": "v1.28.1", "version": "v1.28.1",
"date": "2025-07-12T08:50:59Z" "date": "2025-07-12T08:50:59Z"
}, },
{
"name": "fallenbagel/jellyseerr",
"version": "preview-seerr",
"date": "2025-07-12T08:15:55Z"
},
{ {
"name": "leiweibau/Pi.Alert", "name": "leiweibau/Pi.Alert",
"version": "v2025-07-12", "version": "v2025-07-12",
"date": "2025-07-12T07:53:52Z" "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", "name": "eclipse-mosquitto/mosquitto",
"version": "v2.0.22", "version": "v2.0.22",
"date": "2025-07-11T21:34:20Z" "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", "name": "TandoorRecipes/recipes",
"version": "1.5.35", "version": "1.5.35",
@@ -219,11 +344,6 @@
"version": "v10.9.0", "version": "v10.9.0",
"date": "2025-07-11T12:57:54Z" "date": "2025-07-11T12:57:54Z"
}, },
{
"name": "zitadel/zitadel",
"version": "v3.3.1",
"date": "2025-07-11T11:51:48Z"
},
{ {
"name": "traefik/traefik", "name": "traefik/traefik",
"version": "v3.4.4", "version": "v3.4.4",
@@ -244,11 +364,6 @@
"version": "v0.85.1", "version": "v0.85.1",
"date": "2025-07-11T01:17:53Z" "date": "2025-07-11T01:17:53Z"
}, },
{
"name": "jenkinsci/jenkins",
"version": "jenkins-2.518",
"date": "2025-07-08T13:52:55Z"
},
{ {
"name": "LibreTranslate/LibreTranslate", "name": "LibreTranslate/LibreTranslate",
"version": "v1.7.2", "version": "v1.7.2",
@@ -259,11 +374,6 @@
"version": "v2.13.0", "version": "v2.13.0",
"date": "2025-07-10T19:27:54Z" "date": "2025-07-10T19:27:54Z"
}, },
{
"name": "ollama/ollama",
"version": "v0.9.6",
"date": "2025-07-08T01:26:29Z"
},
{ {
"name": "forgejo/forgejo", "name": "forgejo/forgejo",
"version": "v11.0.3", "version": "v11.0.3",
@@ -274,11 +384,6 @@
"version": "v1.6.10", "version": "v1.6.10",
"date": "2025-07-10T12:04:30Z" "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", "name": "pocket-id/pocket-id",
"version": "v1.6.2", "version": "v1.6.2",
@@ -324,11 +429,6 @@
"version": "16.0", "version": "16.0",
"date": "2025-07-09T13:28:43Z" "date": "2025-07-09T13:28:43Z"
}, },
{
"name": "element-hq/synapse",
"version": "v1.133.0",
"date": "2025-07-01T15:13:42Z"
},
{ {
"name": "AdguardTeam/AdGuardHome", "name": "AdguardTeam/AdGuardHome",
"version": "v0.107.63", "version": "v0.107.63",
@@ -374,11 +474,6 @@
"version": "v2.38.2", "version": "v2.38.2",
"date": "2025-07-08T09:35:14Z" "date": "2025-07-08T09:35:14Z"
}, },
{
"name": "Checkmk/checkmk",
"version": "v2.4.0p7",
"date": "2025-07-08T05:51:08Z"
},
{ {
"name": "VictoriaMetrics/VictoriaMetrics", "name": "VictoriaMetrics/VictoriaMetrics",
"version": "pmm-6401-v1.121.0", "version": "pmm-6401-v1.121.0",
@@ -454,16 +549,6 @@
"version": "v4.3.0", "version": "v4.3.0",
"date": "2025-07-05T12:14:52Z" "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", "name": "kimai/kimai",
"version": "2.37.0", "version": "2.37.0",
@@ -504,11 +589,6 @@
"version": "2.5.1", "version": "2.5.1",
"date": "2025-07-02T19:38:06Z" "date": "2025-07-02T19:38:06Z"
}, },
{
"name": "glpi-project/glpi",
"version": "10.0.18",
"date": "2025-02-12T11:07:02Z"
},
{ {
"name": "apache/tomcat", "name": "apache/tomcat",
"version": "9.0.107", "version": "9.0.107",
@@ -549,11 +629,6 @@
"version": "v0.57.0", "version": "v0.57.0",
"date": "2025-07-01T16:47:46Z" "date": "2025-07-01T16:47:46Z"
}, },
{
"name": "zabbix/zabbix",
"version": "7.4.0",
"date": "2025-07-01T04:36:51Z"
},
{ {
"name": "openobserve/openobserve", "name": "openobserve/openobserve",
"version": "v0.15.0-rc3", "version": "v0.15.0-rc3",
@@ -564,11 +639,6 @@
"version": "v2.32.0", "version": "v2.32.0",
"date": "2025-06-30T22:12:48Z" "date": "2025-06-30T22:12:48Z"
}, },
{
"name": "jhuckaby/Cronicle",
"version": "v0.9.81",
"date": "2025-06-30T16:40:33Z"
},
{ {
"name": "jupyter/notebook", "name": "jupyter/notebook",
"version": "v7.4.4", "version": "v7.4.4",
@@ -584,11 +654,6 @@
"version": "v29.0", "version": "v29.0",
"date": "2025-06-30T03:52:33Z" "date": "2025-06-30T03:52:33Z"
}, },
{
"name": "plexguide/Huntarr.io",
"version": "8.1.11",
"date": "2025-06-28T03:42:46Z"
},
{ {
"name": "tobychui/zoraxy", "name": "tobychui/zoraxy",
"version": "v3.2.4", "version": "v3.2.4",
@@ -599,11 +664,6 @@
"version": "version/2025.6.3", "version": "version/2025.6.3",
"date": "2025-06-27T14:01:06Z" "date": "2025-06-27T14:01:06Z"
}, },
{
"name": "netbox-community/netbox",
"version": "v4.3.3",
"date": "2025-06-26T18:42:56Z"
},
{ {
"name": "tailscale/tailscale", "name": "tailscale/tailscale",
"version": "v1.84.3", "version": "v1.84.3",
@@ -619,11 +679,6 @@
"version": "v1.6.1", "version": "v1.6.1",
"date": "2025-06-25T21:19:25Z" "date": "2025-06-25T21:19:25Z"
}, },
{
"name": "coder/code-server",
"version": "v4.101.2",
"date": "2025-06-25T21:18:52Z"
},
{ {
"name": "moghtech/komodo", "name": "moghtech/komodo",
"version": "v1.18.4", "version": "v1.18.4",
@@ -644,11 +699,6 @@
"version": "RELEASE.2025-06-13T11-33-47Z", "version": "RELEASE.2025-06-13T11-33-47Z",
"date": "2025-06-23T20:58:42Z" "date": "2025-06-23T20:58:42Z"
}, },
{
"name": "gotson/komga",
"version": "1.22.0",
"date": "2025-06-23T03:11:37Z"
},
{ {
"name": "clusterzx/paperless-ai", "name": "clusterzx/paperless-ai",
"version": "v3.0.7", "version": "v3.0.7",
@@ -669,11 +719,6 @@
"version": "v0.28.4", "version": "v0.28.4",
"date": "2025-06-21T08:29:04Z" "date": "2025-06-21T08:29:04Z"
}, },
{
"name": "go-gitea/gitea",
"version": "v1.24.2",
"date": "2025-06-20T20:37:55Z"
},
{ {
"name": "immich-app/immich", "name": "immich-app/immich",
"version": "v1.135.3", "version": "v1.135.3",
@@ -799,11 +844,6 @@
"version": "v0.8.4", "version": "v0.8.4",
"date": "2025-06-10T07:57:14Z" "date": "2025-06-10T07:57:14Z"
}, },
{
"name": "Brandawg93/PeaNUT",
"version": "v5.8.0",
"date": "2025-06-09T16:08:33Z"
},
{ {
"name": "ellite/Wallos", "name": "ellite/Wallos",
"version": "v3.3.0", "version": "v3.3.0",
@@ -839,11 +879,6 @@
"version": "v0.26.1", "version": "v0.26.1",
"date": "2025-06-06T11:22:02Z" "date": "2025-06-06T11:22:02Z"
}, },
{
"name": "benjaminjonard/koillection",
"version": "1.6.14",
"date": "2025-06-05T16:40:52Z"
},
{ {
"name": "MariaDB/server", "name": "MariaDB/server",
"version": "mariadb-11.8.2", "version": "mariadb-11.8.2",
@@ -869,16 +904,6 @@
"version": "1.26.3", "version": "1.26.3",
"date": "2025-06-02T22:00:14Z" "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", "name": "release-argus/Argus",
"version": "0.26.3", "version": "0.26.3",
@@ -924,11 +949,6 @@
"version": "0.5", "version": "0.5",
"date": "2025-05-21T20:19:14Z" "date": "2025-05-21T20:19:14Z"
}, },
{
"name": "sbondCo/Watcharr",
"version": "v2.1.0",
"date": "2025-05-18T18:20:43Z"
},
{ {
"name": "YunoHost/yunohost", "name": "YunoHost/yunohost",
"version": "debian/12.1.6.1", "version": "debian/12.1.6.1",
@@ -979,21 +999,11 @@
"version": "v1.8.1", "version": "v1.8.1",
"date": "2025-05-06T04:27:00Z" "date": "2025-05-06T04:27:00Z"
}, },
{
"name": "postgres/postgres",
"version": "REL_13_21",
"date": "2025-05-05T20:34:49Z"
},
{ {
"name": "apache/couchdb", "name": "apache/couchdb",
"version": "3.5.0", "version": "3.5.0",
"date": "2025-05-05T16:28:24Z" "date": "2025-05-05T16:28:24Z"
}, },
{
"name": "WordPress/WordPress",
"version": "6.8.1",
"date": "2025-04-30T16:44:16Z"
},
{ {
"name": "deluge-torrent/deluge", "name": "deluge-torrent/deluge",
"version": "deluge-2.2.0", "version": "deluge-2.2.0",
@@ -1019,11 +1029,6 @@
"version": "v1.4.0", "version": "v1.4.0",
"date": "2025-04-24T16:20:17Z" "date": "2025-04-24T16:20:17Z"
}, },
{
"name": "NLnetLabs/unbound",
"version": "release-1.23.0",
"date": "2025-04-24T08:07:21Z"
},
{ {
"name": "monicahq/monica", "name": "monicahq/monica",
"version": "v4.1.2", "version": "v4.1.2",
@@ -1204,11 +1209,6 @@
"version": "v7.4.1", "version": "v7.4.1",
"date": "2025-02-15T20:54:00Z" "date": "2025-02-15T20:54:00Z"
}, },
{
"name": "TryGhost/Ghost-CLI",
"version": "v1.27.0",
"date": "2025-02-13T15:55:36Z"
},
{ {
"name": "actualbudget/actual-server", "name": "actualbudget/actual-server",
"version": "v25.2.1", "version": "v25.2.1",

View File

@@ -19,7 +19,7 @@ $STD apt-get install -y \
nginx nginx
msg_ok "Installed Dependencies" 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_composer
setup_mariadb setup_mariadb

View File

@@ -24,13 +24,20 @@ motd_ssh
customize customize
msg_info "Creating Service" msg_info "Creating Service"
PASSWORD=$(omd create monitoring | grep "password:" | awk '{print $NF}') SITE_NAME="monitoring"
$STD omd start $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 "Application-Credentials"
echo "Username: cmkadmin" echo "Username: cmkadmin"
echo "Password: $PASSWORD" echo "Password: $MKPASSWORD"
echo "Site: $SITE_NAME"
} >>~/checkmk.creds } >>~/checkmk.creds
msg_ok "Created Service" msg_ok "Created Service"
msg_info "Cleaning up" msg_info "Cleaning up"

View File

@@ -13,7 +13,7 @@ setting_up_container
network_check network_check
update_os update_os
FFMPEG_VERSION="latest" FFMPEG_TYPE="medium" setup_ffmpeg FFMPEG_VERSION="latest" FFMPEG_TYPE="full" setup_ffmpeg
msg_info "Setting Up Hardware Acceleration" msg_info "Setting Up Hardware Acceleration"
$STD apt-get -y install {va-driver-all,ocl-icd-libopencl1,intel-opencl-icd,vainfo,intel-gpu-tools} $STD apt-get -y install {va-driver-all,ocl-icd-libopencl1,intel-opencl-icd,vainfo,intel-gpu-tools}

View File

@@ -22,7 +22,8 @@ $STD apt-get install -y \
chromium/stable \ chromium/stable \
chromium-common/stable \ chromium-common/stable \
graphicsmagick \ graphicsmagick \
ghostscript ghostscript \
jq
msg_ok "Installed Dependencies" msg_ok "Installed Dependencies"
msg_info "Installing Additional Tools" msg_info "Installing Additional Tools"
@@ -48,18 +49,14 @@ sed -i \
/etc/meilisearch.toml /etc/meilisearch.toml
msg_ok "Installed Meilisearch" msg_ok "Installed Meilisearch"
NODE_VERSION="22" NODE_MODULE="yarn@latest" setup_nodejs fetch_and_deploy_gh_release "karakeep" "karakeep-app/karakeep"
$STD npm install -g corepack@0.31.0 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" 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 PUPPETEER_SKIP_DOWNLOAD="true"
export PLAYWRIGHT_SKIP_BROWSER_DOWNLOAD="true"
export NEXT_TELEMETRY_DISABLED=1 export NEXT_TELEMETRY_DISABLED=1
export CI="true" export CI="true"
cd /opt/karakeep/apps/web cd /opt/karakeep/apps/web
@@ -70,15 +67,13 @@ $STD pnpm install --frozen-lockfile
cd /opt/karakeep/apps/cli cd /opt/karakeep/apps/cli
$STD pnpm install --frozen-lockfile $STD pnpm install --frozen-lockfile
$STD pnpm build $STD pnpm build
cd /opt/karakeep/apps/mcp $STD pnpm store prune
$STD pnpm install --frozen-lockfile
$STD pnpm build
export DATA_DIR=/opt/karakeep_data export DATA_DIR=/opt/karakeep_data
karakeep_SECRET=$(openssl rand -base64 36 | cut -c1-24) karakeep_SECRET=$(openssl rand -base64 36 | cut -c1-24)
mkdir -p /etc/karakeep mkdir -p /etc/karakeep
cat <<EOF >/etc/karakeep/karakeep.env cat <<EOF >/etc/karakeep/karakeep.env
SERVER_VERSION=$RELEASE SERVER_VERSION="$(cat ~/.karakeep)"
NEXTAUTH_SECRET="$karakeep_SECRET" NEXTAUTH_SECRET="$karakeep_SECRET"
NEXTAUTH_URL="http://localhost:3000" NEXTAUTH_URL="http://localhost:3000"
DATA_DIR="$DATA_DIR" DATA_DIR="$DATA_DIR"
@@ -112,7 +107,6 @@ BROWSER_WEB_URL="http://127.0.0.1:9222"
# CRAWLER_VIDEO_DOWNLOAD_MAX_SIZE="50" # CRAWLER_VIDEO_DOWNLOAD_MAX_SIZE="50"
# CRAWLER_ENABLE_ADBLOCKER=true # CRAWLER_ENABLE_ADBLOCKER=true
EOF EOF
echo "${RELEASE}" >"/opt/${APPLICATION}_version.txt"
msg_ok "Installed karakeep" msg_ok "Installed karakeep"
msg_info "Running Database Migration" msg_info "Running Database Migration"
@@ -190,7 +184,6 @@ customize
msg_info "Cleaning up" msg_info "Cleaning up"
rm -rf /tmp/meilisearch.deb rm -rf /tmp/meilisearch.deb
rm -f /opt/v"${RELEASE}".zip
$STD apt-get autoremove -y $STD apt-get autoremove -y
$STD apt-get autoclean -y $STD apt-get autoclean -y
msg_ok "Cleaned" msg_ok "Cleaned"

View File

@@ -14,22 +14,17 @@ setting_up_container
network_check network_check
update_os update_os
NODE_VERSION="22" setup_nodejs
msg_info "Installing NUT" msg_info "Installing NUT"
$STD apt-get install -y nut-client $STD apt-get install -y nut-client
msg_ok "Installed NUT" msg_ok "Installed NUT"
msg_info "Installing Peanut" NODE_VERSION="22" NODE_MODULE="pnpm" setup_nodejs
RELEASE=$(curl -fsSL https://api.github.com/repos/Brandawg93/PeaNUT/releases/latest | grep '"tag_name":' | cut -d'"' -f4) fetch_and_deploy_gh_release "peanut" "Brandawg93/PeaNUT" "tarball" "latest" "/opt/peanut"
curl -fsSL "https://api.github.com/repos/Brandawg93/PeaNUT/tarball/${RELEASE}" -o "peanut.tar.gz"
mkdir -p /opt/peanut msg_info "Setup Peanut"
tar -xzf peanut.tar.gz -C /opt/peanut --strip-components=1
rm peanut.tar.gz
cd /opt/peanut cd /opt/peanut
$STD npm install -g pnpm
$STD pnpm i $STD pnpm i
$STD pnpm run build $STD pnpm run build:local
cp -r .next/static .next/standalone/.next/ cp -r .next/static .next/standalone/.next/
mkdir -p /opt/peanut/.next/standalone/config mkdir -p /opt/peanut/.next/standalone/config
mkdir -p /etc/peanut/ mkdir -p /etc/peanut/
@@ -40,7 +35,7 @@ NUT_HOST: 0.0.0.0
NUT_PORT: 3493 NUT_PORT: 3493
EOF EOF
ln -sf /etc/peanut/settings.yml /opt/peanut/.next/standalone/config/settings.yml 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" msg_info "Creating Service"
cat <<EOF >/etc/systemd/system/peanut.service cat <<EOF >/etc/systemd/system/peanut.service

View File

@@ -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 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" FILEPATH="/opt/community-scripts/${NSAPP}.conf"
if [[ ! -f $FILEPATH ]]; then if [[ ! -f $FILEPATH ]]; then
cat <<EOF >"$FILEPATH" cat <<EOF >"$FILEPATH"
# ${NSAPP} Configuration File # ${NSAPP} Configuration File
# Generated on $(date) # Generated on $(date)
@@ -264,7 +264,7 @@ EOF
echo -e "${INFO}${BOLD}${RD}Configuration file already exists at ${FILEPATH}${CL}" 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 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" rm -f "$FILEPATH"
cat <<EOF >"$FILEPATH" cat <<EOF >"$FILEPATH"
# ${NSAPP} Configuration File # ${NSAPP} Configuration File
# Generated on $(date) # Generated on $(date)
@@ -875,20 +875,24 @@ install_script() {
header_info header_info
while true; do while true; do
CHOICE=$(whiptail --backtitle "Proxmox VE Helper Scripts" --title "SETTINGS" --menu "Choose an option:" \ TMP_CHOICE=$(whiptail --backtitle "Proxmox VE Helper Scripts" \
18 60 6 \ --title "SETTINGS" \
--menu "Choose an option:" 20 60 6 \
"1" "Default Settings" \ "1" "Default Settings" \
"2" "Default Settings (with verbose)" \ "2" "Default Settings (with verbose)" \
"3" "Advanced Settings" \ "3" "Advanced Settings" \
"4" "Use Config File" \ "4" "Use Config File" \
"5" "Diagnostic Settings" \ "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 if [ -z "$TMP_CHOICE" ]; then
echo -e "${CROSS}${RD} Menu canceled. Exiting.${CL}" echo -e "\n${CROSS}${RD}Menu canceled. Exiting script.${CL}\n"
exit 0 exit 0
fi fi
CHOICE="$TMP_CHOICE"
case $CHOICE in case $CHOICE in
1) 1)
header_info header_info
@@ -943,11 +947,11 @@ install_script() {
;; ;;
6) 6)
echo -e "${CROSS}${RD}Exiting.${CL}" echo -e "\n${CROSS}${RD}Script terminated. Have a great day!${CL}\n"
exit 0 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 esac
done done

View File

@@ -1772,6 +1772,7 @@ function setup_ffmpeg() {
libx264-dev libx265-dev libvpx-dev libmp3lame-dev libx264-dev libx265-dev libvpx-dev libmp3lame-dev
libfreetype6-dev libass-dev libopus-dev libvorbis-dev libfreetype6-dev libass-dev libopus-dev libvorbis-dev
libdav1d-dev libsvtav1-dev zlib1g-dev libnuma-dev libdav1d-dev libsvtav1-dev zlib1g-dev libnuma-dev
libva-dev libdrm-dev
) )
;; ;;
*) *)
@@ -1808,6 +1809,7 @@ function setup_ffmpeg() {
if [[ "$TYPE" == "full" ]]; then if [[ "$TYPE" == "full" ]]; then
args+=(--enable-libx265 --enable-libdav1d --enable-zlib) args+=(--enable-libx265 --enable-libdav1d --enable-zlib)
args+=(--enable-vaapi --enable-libdrm)
fi fi
if [[ ${#args[@]} -eq 0 ]]; then if [[ ${#args[@]} -eq 0 ]]; then