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,31 +27,43 @@ 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) }') 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 ~/.karakeep && "$RELEASE" == "$(cat ~/.karakeep)" ]]; then
if [[ ! -f /opt/${APP}_version.txt ]] || [[ "${RELEASE}" != "${PREV_RELEASE}" ]]; then msg_ok "No update required. ${APP} is already at ${RELEASE}"
exit
fi
msg_info "Stopping Services" msg_info "Stopping Services"
systemctl stop karakeep-web karakeep-workers karakeep-browser systemctl stop karakeep-web karakeep-workers karakeep-browser
msg_ok "Stopped Services" msg_ok "Stopped Services"
msg_info "Updating yt-dlp" msg_info "Updating yt-dlp"
$STD yt-dlp --update-to nightly $STD yt-dlp --update-to nightly
msg_ok "Updated yt-dlp" msg_ok "Updated yt-dlp"
msg_info "Updating ${APP} to v${RELEASE}"
if [[ $(corepack -v) < "0.31.0" ]]; then msg_info "Prepare update"
$STD npm install -g corepack@0.31.0 if [[ -f /opt/${APP}_version.txt && "$(cat /opt/${APP}_version.txt)" < "0.23.0" ]]; then
fi
if [[ "${PREV_RELEASE}" < 0.23.0 ]]; then
$STD apt-get install -y graphicsmagick ghostscript $STD apt-get install -y graphicsmagick ghostscript
fi fi
cd /opt
if [[ -f /opt/karakeep/.env ]] && [[ ! -f /etc/karakeep/karakeep.env ]]; then if [[ -f /opt/karakeep/.env ]] && [[ ! -f /etc/karakeep/karakeep.env ]]; then
mkdir -p /etc/karakeep mkdir -p /etc/karakeep
mv /opt/karakeep/.env /etc/karakeep/karakeep.env mv /opt/karakeep/.env /etc/karakeep/karakeep.env
fi fi
rm -rf /opt/karakeep rm -rf /opt/karakeep
curl -fsSL "https://github.com/karakeep-app/karakeep/archive/refs/tags/v${RELEASE}.zip" -o "v${RELEASE}.zip" msg_ok "Update prepared"
$STD unzip "v${RELEASE}.zip"
mv karakeep-"${RELEASE}" /opt/karakeep 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 cd /opt/karakeep/apps/web
$STD pnpm install --frozen-lockfile $STD pnpm install --frozen-lockfile
$STD pnpm build $STD pnpm build
@@ -60,26 +72,22 @@ function update_script() {
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 install --frozen-lockfile
$STD pnpm build
export DATA_DIR=/opt/karakeep_data export DATA_DIR=/opt/karakeep_data
cd /opt/karakeep/packages/db cd /opt/karakeep/packages/db
$STD pnpm migrate $STD pnpm migrate
sed -i "s/SERVER_VERSION=${PREV_RELEASE}/SERVER_VERSION=${RELEASE}/" /etc/karakeep/karakeep.env $STD pnpm store prune
sed -i "s/^SERVER_VERSION=.*$/SERVER_VERSION=${RELEASE}/" /etc/karakeep/karakeep.env
msg_ok "Updated ${APP} to v${RELEASE}" msg_ok "Updated ${APP} to v${RELEASE}"
msg_info "Starting Services" msg_info "Starting Services"
systemctl start karakeep-browser karakeep-workers karakeep-web systemctl start karakeep-browser karakeep-workers karakeep-web
msg_ok "Started Services" msg_ok "Started Services"
msg_info "Cleaning up" msg_info "Cleaning up"
rm -R /opt/v"${RELEASE}".zip $STD apt-get autoremove -y
echo "${RELEASE}" >/opt/${APP}_version.txt $STD apt-get autoclean -y
msg_ok "Cleaned" msg_ok "Cleaned"
msg_ok "Updated Successfully" msg_ok "Updated Successfully"
else
msg_ok "No update required. ${APP} is already at ${RELEASE}."
fi
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

@@ -20,7 +20,7 @@
"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"

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

@@ -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