Compare commits

..

1 Commits

Author SHA1 Message Date
CanbiZ
7f8df2f122 [core]: switch all base_settings to variables 2025-09-08 13:56:41 +02:00
58 changed files with 412 additions and 516 deletions

View File

@@ -10,69 +10,14 @@
> [!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-09-10
### 🚀 Updated Scripts
- #### ✨ New Features
- Booklore: Add Bookdrop location to .env [@michelroegl-brunner](https://github.com/michelroegl-brunner) ([#7533](https://github.com/community-scripts/ProxmoxVE/pull/7533))
- #### 🔧 Refactor
- Improve npmplus credential retrieval and messaging [@MickLesk](https://github.com/MickLesk) ([#7532](https://github.com/community-scripts/ProxmoxVE/pull/7532))
### 🌐 Website
- #### 📝 Script Information
- set updateable to true for several lxc JSON-configs [@MickLesk](https://github.com/MickLesk) ([#7534](https://github.com/community-scripts/ProxmoxVE/pull/7534))
## 2025-09-09
### 🚀 Updated Scripts
- #### 🐞 Bug Fixes
- Tududi: v0.81 [@vhsdream](https://github.com/vhsdream) ([#7517](https://github.com/community-scripts/ProxmoxVE/pull/7517))
- WGDashboard: Revert back to old update method [@tremor021](https://github.com/tremor021) ([#7500](https://github.com/community-scripts/ProxmoxVE/pull/7500))
- AdventureLog: remove folder during update process [@MickLesk](https://github.com/MickLesk) ([#7507](https://github.com/community-scripts/ProxmoxVE/pull/7507))
- PLANKA: Fix backup and restore commands [@tremor021](https://github.com/tremor021) ([#7505](https://github.com/community-scripts/ProxmoxVE/pull/7505))
- Recyclarr: Suppress config creation output [@tremor021](https://github.com/tremor021) ([#7502](https://github.com/community-scripts/ProxmoxVE/pull/7502))
- #### 🔧 Refactor
- Pulse: standardise install/update with Pulse repo script [@vhsdream](https://github.com/vhsdream) ([#7519](https://github.com/community-scripts/ProxmoxVE/pull/7519))
### 🌐 Website
- #### 🐞 Bug Fixes
- Refactor GitHubStarsButton to wrap in Link component for external navigation [@BramSuurdje](https://github.com/BramSuurdje) ([#7492](https://github.com/community-scripts/ProxmoxVE/pull/7492))
- #### ✨ New Features
- Bump vite from 7.0.0 to 7.1.5 in /frontend [@dependabot[bot]](https://github.com/dependabot[bot]) ([#7522](https://github.com/community-scripts/ProxmoxVE/pull/7522))
- #### 📝 Script Information
- swizzin: Change category from nvr to media [@MickLesk](https://github.com/MickLesk) ([#7511](https://github.com/community-scripts/ProxmoxVE/pull/7511))
## 2025-09-08 ## 2025-09-08
### 🚀 Updated Scripts ### 🚀 Updated Scripts
- #### 🐞 Bug Fixes - #### 🐞 Bug Fixes
- CT's: fix missing variable declaration (actualBudget, openziti, umlautadaptarr) [@MickLesk](https://github.com/MickLesk) ([#7483](https://github.com/community-scripts/ProxmoxVE/pull/7483))
- karakeep: fix service file [@CrazyWolf13](https://github.com/CrazyWolf13) ([#7482](https://github.com/community-scripts/ProxmoxVE/pull/7482))
- Update searxng-install.sh [@sebguy](https://github.com/sebguy) ([#7469](https://github.com/community-scripts/ProxmoxVE/pull/7469)) - Update searxng-install.sh [@sebguy](https://github.com/sebguy) ([#7469](https://github.com/community-scripts/ProxmoxVE/pull/7469))
- #### ✨ New Features
- Immich: bump to version 1.141.1 [@vhsdream](https://github.com/vhsdream) ([#7418](https://github.com/community-scripts/ProxmoxVE/pull/7418))
- [core]: switch all base_settings to variables [@MickLesk](https://github.com/MickLesk) ([#7479](https://github.com/community-scripts/ProxmoxVE/pull/7479))
- #### 💥 Breaking Changes - #### 💥 Breaking Changes
- RustDesk Server: Update the credentials info [@tremor021](https://github.com/tremor021) ([#7473](https://github.com/community-scripts/ProxmoxVE/pull/7473)) - RustDesk Server: Update the credentials info [@tremor021](https://github.com/tremor021) ([#7473](https://github.com/community-scripts/ProxmoxVE/pull/7473))

View File

@@ -6,13 +6,13 @@ source <(curl -fsSL https://raw.githubusercontent.com/community-scripts/ProxmoxV
# Source: https://actualbudget.org/ # Source: https://actualbudget.org/
APP="Actual Budget" APP="Actual Budget"
var_tags="${var_tags:-finance}" var_tags="finance"
var_cpu="${var_cpu:-2}" var_cpu="2"
var_ram="${var_ram:-2048}" var_ram="2048"
var_disk="${var_disk:-4}" var_disk="4"
var_os="${var_os:-debian}" var_os="debian"
var_version="${var_version:-12}" var_version="12"
var_unprivileged="${var_unprivileged:-1}" var_unprivileged="1"
header_info "$APP" header_info "$APP"
variables variables

View File

@@ -39,7 +39,6 @@ function update_script() {
msg_info "Backup Old Installation" msg_info "Backup Old Installation"
cp -r /opt/adventurelog /opt/adventurelog-backup cp -r /opt/adventurelog /opt/adventurelog-backup
rm -rf /opt/adventurelog
msg_ok "Backup done" msg_ok "Backup done"
fetch_and_deploy_gh_release "adventurelog" "seanmorley15/adventurelog" fetch_and_deploy_gh_release "adventurelog" "seanmorley15/adventurelog"

View File

@@ -61,7 +61,7 @@ function update_script() {
done done
msg_ok "Image-processing libraries up to date" msg_ok "Image-processing libraries up to date"
fi fi
RELEASE="1.141.1" RELEASE="1.140.1"
if check_for_gh_release "immich" "immich-app/immich" "${RELEASE}"; then if check_for_gh_release "immich" "immich-app/immich" "${RELEASE}"; then
msg_info "Stopping Services" msg_info "Stopping Services"
systemctl stop immich-web systemctl stop immich-web

View File

@@ -6,13 +6,13 @@ source <(curl -s https://raw.githubusercontent.com/community-scripts/ProxmoxVE/m
# Source: https://github.com/openziti/ziti # Source: https://github.com/openziti/ziti
APP="openziti-controller" APP="openziti-controller"
var_tags="${var_tags:-network;openziti-controller}" var_tags="network;openziti-controller"
var_cpu="${var_cpu:-2}" var_cpu="2"
var_ram="${var_ram:-1024}" var_ram="1024"
var_disk="${var_disk:-8}" var_disk="8"
var_os="${var_os:-debian}" var_os="debian"
var_version="${var_version:-12}" var_version="12"
var_unprivileged="${var_unprivileged:-1}" var_unprivileged="1"
header_info "$APP" header_info "$APP"
variables variables
@@ -20,18 +20,18 @@ color
catch_errors catch_errors
function update_script() { function update_script() {
header_info header_info
check_container_storage check_container_storage
check_container_resources check_container_resources
if [[ ! -d /opt/openziti ]]; then if [[ ! -d /opt/openziti ]]; then
msg_error "No ${APP} Installation Found!" msg_error "No ${APP} Installation Found!"
exit exit
fi fi
msg_info "Updating $APP LXC" msg_info "Updating $APP LXC"
$STD apt-get update $STD apt-get update
$STD apt-get -y upgrade $STD apt-get -y upgrade
msg_ok "Updated $APP LXC" msg_ok "Updated $APP LXC"
exit exit
} }
start start
@@ -41,4 +41,4 @@ description
msg_ok "Completed Successfully!\n" msg_ok "Completed Successfully!\n"
echo -e "${CREATING}${GN}${APP} setup has been successfully initialized!${CL}" echo -e "${CREATING}${GN}${APP} setup has been successfully initialized!${CL}"
echo -e "${INFO}${YW} Access it using the following URL:${CL}" echo -e "${INFO}${YW} Access it using the following URL:${CL}"
echo -e "${TAB}${GATEWAY}${BGN}https://${IP}:<port>/zac${CL}" echo -e "${TAB}${GATEWAY}${BGN}https://${IP}:<port>/zac${CL}"

View File

@@ -34,13 +34,12 @@ function update_script() {
msg_ok "Stopped $APP" msg_ok "Stopped $APP"
msg_info "Backing up data" msg_info "Backing up data"
BK="/opt/planka-backup" mkdir -p /opt/planka-backup/{favicons,user-avatars,background-images,attachments}
mkdir -p "$BK"/{favicons,user-avatars,background-images,attachments} mv /opt/planka/.env /opt/planka-backup
[ -f /opt/planka/.env ] && mv /opt/planka/.env "$BK"/ [ -d /opt/planka/public/favicons ] && find /opt/planka/public/favicons -maxdepth 1 -type f -exec mv -t /opt/planka-backup/favicons {} +
[ -d /opt/planka/public/favicons ] && cp -a /opt/planka/public/favicons/. "$BK/favicons/" [ -d /opt/planka/public/user-avatars ] && find /opt/planka/public/user-avatars -maxdepth 1 -type f -exec mv -t /opt/planka-backup/user-avatars {} +
[ -d /opt/planka/public/user-avatars ] && cp -a /opt/planka/public/user-avatars/. "$BK/user-avatars/" [ -d /opt/planka/public/background-images ] && find /opt/planka/public/background-images -maxdepth 1 -type f -exec mv -t /opt/planka-backup/background-images {} +
[ -d /opt/planka/public/background-images ] && cp -a /opt/planka/public/background-images/. "$BK/background-images/" [ -d /opt/planka/private/attachments ] && find /opt/planka/private/attachments -maxdepth 1 -type f -exec mv -t /opt/planka-backup/attachments {} +
[ -d /opt/planka/private/attachments ] && cp -a /opt/planka/private/attachments/. "$BK/attachments/"
rm -rf /opt/planka rm -rf /opt/planka
msg_ok "Backed up data" msg_ok "Backed up data"
@@ -52,13 +51,11 @@ function update_script() {
msg_ok "Updated Frontend" msg_ok "Updated Frontend"
msg_info "Restoring data" msg_info "Restoring data"
[ -f "$BK/.env" ] && mv "$BK/.env" /opt/planka/.env mv /opt/planka-backup/.env /opt/planka/
mkdir -p /opt/planka/public/{favicons,user-avatars,background-images} /opt/planka/private/attachments [ -d /opt/planka-backup/favicons ] && find /opt/planka-backup/favicons -maxdepth 1 -type f -exec mv -t /opt/planka/public/favicons {} +
[ -d "$BK/favicons" ] && cp -a "$BK/favicons/." /opt/planka/public/favicons/ [ -d /opt/planka-backup/user-avatars ] && find /opt/planka-backup/user-avatars -maxdepth 1 -type f -exec mv -t /opt/planka/public/user-avatars {} +
[ -d "$BK/user-avatars" ] && cp -a "$BK/user-avatars/." /opt/planka/public/user-avatars/ [ -d /opt/planka-backup/background-images ] && find /opt/planka-backup/background-images -maxdepth 1 -type f -exec mv -t /opt/planka/public/background-images {} +
[ -d "$BK/background-images" ] && cp -a "$BK/background-images/." /opt/planka/public/background-images/ [ -d /opt/planka-backup/attachments ] && find /opt/planka-backup/attachments -maxdepth 1 -type f -exec mv -t /opt/planka/private/attachments {} +
[ -d "$BK/attachments" ] && cp -a "$BK/attachments/." /opt/planka/private/attachments/
rm -rf "$BK"
msg_ok "Restored data" msg_ok "Restored data"
msg_info "Starting $APP" msg_info "Starting $APP"

View File

@@ -28,6 +28,10 @@ function update_script() {
exit exit
fi fi
if [[ ! -f ~/.pulse ]]; then
msg_error "Old Installation Found! Please recreate the container due big changes in the software."
exit 1
fi
if check_for_gh_release "pulse" "rcourtman/Pulse"; then if check_for_gh_release "pulse" "rcourtman/Pulse"; then
SERVICE_PATH="/etc/systemd/system" SERVICE_PATH="/etc/systemd/system"
msg_info "Stopping Services" msg_info "Stopping Services"
@@ -39,20 +43,19 @@ function update_script() {
fi fi
fetch_and_deploy_gh_release "pulse" "rcourtman/Pulse" "prebuild" "latest" "/opt/pulse" "*-linux-amd64.tar.gz" fetch_and_deploy_gh_release "pulse" "rcourtman/Pulse" "prebuild" "latest" "/opt/pulse" "*-linux-amd64.tar.gz"
ln -sf /opt/pulse/bin/pulse /usr/local/bin/pulse
chown -R pulse:pulse /etc/pulse /opt/pulse chown -R pulse:pulse /etc/pulse /opt/pulse
if [[ -f "$SERVICE_PATH"/pulse-backend.service ]]; then if [[ -f "$SERVICE_PATH"/pulse.service ]]; then
mv "$SERVICE_PATH"/pulse-backend.service "$SERVICE_PATH"/pulse.service mv "$SERVICE_PATH"/pulse.service "$SERVICE_PATH"/pulse-backend.service
fi fi
sed -i -e 's|pulse/pulse|pulse/bin/pulse|' \ sed -i -e 's|pulse/pulse|pulse/bin/pulse|' \
-e 's/^Environment="API.*$//' "$SERVICE_PATH"/pulse.service -e 's/^Environment="API.*$//' "$SERVICE_PATH"/pulse-backend.service
systemctl daemon-reload systemctl daemon-reload
if grep -q 'pulse-home:/bin/bash' /etc/passwd; then if grep -q 'pulse-home:/bin/bash' /etc/passwd; then
usermod -s /usr/sbin/nologin pulse usermod -s /usr/sbin/nologin pulse
fi fi
msg_info "Starting Services" msg_info "Starting Services"
systemctl start pulse systemctl start pulse-backend
msg_ok "Started Services" msg_ok "Started Services"
msg_ok "Updated Successfully" msg_ok "Updated Successfully"
fi fi

View File

@@ -34,7 +34,6 @@ function update_script() {
msg_ok "Stopped Service" msg_ok "Stopped Service"
fetch_and_deploy_gh_release "recyclarr" "recyclarr/recyclarr" "prebuild" "latest" "/usr/local/bin" "recyclarr-linux-x64.tar.xz" fetch_and_deploy_gh_release "recyclarr" "recyclarr/recyclarr" "prebuild" "latest" "/usr/local/bin" "recyclarr-linux-x64.tar.xz"
msg_info "Starting Service" msg_info "Starting Service"
systemctl start recyclarr systemctl start recyclarr
msg_ok "Started Service" msg_ok "Started Service"

View File

@@ -27,22 +27,17 @@ function update_script() {
msg_error "No ${APP} Installation Found!" msg_error "No ${APP} Installation Found!"
exit exit
fi fi
NODE_VERSION="22" setup_nodejs
if check_for_gh_release "tududi" "chrisvel/tududi"; then if check_for_gh_release "tududi" "chrisvel/tududi"; then
msg_info "Stopping Service" msg_info "Stopping Service"
systemctl stop tududi systemctl stop tududi
msg_ok "Stopped Service" msg_ok "Stopped Service"
msg_info "Remove and backup Files" msg_info "Remove and backup Files"
DB="$(sed -n '/^DB_FILE/s/[^=]*=//p' /opt/tududi/backend/.env)"
export DB_FILE="$DB"
cp /opt/tududi/backend/.env /opt/tududi.env cp /opt/tududi/backend/.env /opt/tududi.env
rm -rf /opt/tududi/backend/dist rm -rf /opt/tududi/backend/dist
msg_ok "Backup and removed Files" msg_ok "Backup and removed Files"
fetch_and_deploy_gh_release "tududi" "chrisvel/tududi" "tarball" "latest" "/opt/tududi" fetch_and_deploy_gh_release "tududi" "chrisvel/tududi" "tarball" "v0.80" "/opt/tududi"
msg_info "Updating ${APP}" msg_info "Updating ${APP}"
cd /opt/tududi cd /opt/tududi
@@ -53,10 +48,6 @@ function update_script() {
mv ./public/locales ./backend/dist mv ./public/locales ./backend/dist
mv ./public/favicon.* ./backend/dist mv ./public/favicon.* ./backend/dist
mv /opt/tududi.env /opt/tududi/.env mv /opt/tududi.env /opt/tududi/.env
sed -i -e 's|/tududi$|/tududi/backend|' \
-e 's|npm run start|bash /opt/tududi/backend/cmd/start.sh|' \
/etc/systemd/system/tududi.service
systemctl daemon-reload
msg_ok "Updated $APP" msg_ok "Updated $APP"
msg_info "Starting Service" msg_info "Starting Service"

View File

@@ -6,13 +6,13 @@ source <(curl -fsSL https://raw.githubusercontent.com/community-scripts/ProxmoxV
# Source: https://github.com/PCJones/UmlautAdaptarr # Source: https://github.com/PCJones/UmlautAdaptarr
APP="UmlautAdaptarr" APP="UmlautAdaptarr"
var_tags="${var_tags:-arr}" var_tags="arr"
var_cpu="${var_cpu:-1}" var_cpu="1"
var_ram="${var_ram:-512}" var_ram="512"
var_disk="${var_disk:-4}" var_disk="4"
var_os="${var_os:-debian}" var_os="debian"
var_version="${var_version:-12}" var_version="12"
var_unprivileged="${var_unprivileged:-1}" var_unprivileged="1"
header_info "$APP" header_info "$APP"
variables variables
@@ -20,33 +20,33 @@ color
catch_errors catch_errors
function update_script() { function update_script() {
header_info header_info
check_container_storage check_container_storage
check_container_resources check_container_resources
if [[ ! -d /opt/UmlautAdaptarr ]]; then if [[ ! -d /opt/UmlautAdaptarr ]]; then
msg_error "No ${APP} Installation Found!" msg_error "No ${APP} Installation Found!"
exit
fi
RELEASE=$(curl -fsSL https://api.github.com/repos/PCJones/Umlautadaptarr/releases/latest | grep "tag_name" | awk '{print substr($2, 2, length($2)-3)}')
if [[ ! -f /opt/UmlautAdaptarr_version.txt ]] || [[ "${RELEASE}" != "$(cat /opt/UmlautAdaptarr_version.txt)" ]]; then
msg_info "Stopping Service"
systemctl stop umlautadaptarr
msg_ok "Stopped Service"
msg_info "Updating ${APP}"
temp_file=$(mktemp)
curl -fsSL "https://github.com/PCJones/Umlautadaptarr/releases/download/${RELEASE}/linux-x64.zip" -o $temp_file
$STD unzip -u $temp_file '*/**' -d /opt/UmlautAdaptarr
msg_ok "Updated ${APP}"
msg_info "Starting Service"
systemctl start umlautadaptarr
msg_ok "Started Service"
msg_ok "$APP has been updated to ${RELEASE}."
else
msg_ok "No update required. ${APP} is already at ${RELEASE}"
fi
exit exit
fi
RELEASE=$(curl -fsSL https://api.github.com/repos/PCJones/Umlautadaptarr/releases/latest | grep "tag_name" | awk '{print substr($2, 2, length($2)-3)}')
if [[ ! -f /opt/UmlautAdaptarr_version.txt ]] || [[ "${RELEASE}" != "$(cat /opt/UmlautAdaptarr_version.txt)" ]]; then
msg_info "Stopping Service"
systemctl stop umlautadaptarr
msg_ok "Stopped Service"
msg_info "Updating ${APP}"
temp_file=$(mktemp)
curl -fsSL "https://github.com/PCJones/Umlautadaptarr/releases/download/${RELEASE}/linux-x64.zip" -o $temp_file
$STD unzip -u $temp_file '*/**' -d /opt/UmlautAdaptarr
msg_ok "Updated ${APP}"
msg_info "Starting Service"
systemctl start umlautadaptarr
msg_ok "Started Service"
msg_ok "$APP has been updated to ${RELEASE}."
else
msg_ok "No update required. ${APP} is already at ${RELEASE}"
fi
exit
} }
start start
build_container build_container

View File

@@ -28,12 +28,6 @@ function update_script() {
msg_error "No ${APP} Installation Found!" msg_error "No ${APP} Installation Found!"
exit exit
fi fi
if ! dpkg -s git >/dev/null 2>&1; then
msg_info "Installing git"
$STD apt-get update
$STD apt-get install -y git
msg_ok "Installed git"
fi
apt-get update apt-get update
apt-get -y upgrade apt-get -y upgrade
if [[ -d /etc/wgdashboard ]]; then if [[ -d /etc/wgdashboard ]]; then

View File

@@ -7666,14 +7666,11 @@
} }
}, },
"node_modules/fdir": { "node_modules/fdir": {
"version": "6.5.0", "version": "6.4.6",
"resolved": "https://registry.npmjs.org/fdir/-/fdir-6.5.0.tgz", "resolved": "https://registry.npmjs.org/fdir/-/fdir-6.4.6.tgz",
"integrity": "sha512-tIbYtZbucOs0BRGqPJkshJUYdL+SDH7dVM8gjy+ERp3WAUjLEFJE+02kanyHtwjWOnwrKYBiwAmM0p4kLJAnXg==", "integrity": "sha512-hiFoqpyZcfNm1yc4u8oWCf9A2c4D3QjCrks3zmoVKVxpQRzmPNar1hUJcBG2RQHvEVGDN+Jm81ZheVLAQMK6+w==",
"dev": true, "dev": true,
"license": "MIT", "license": "MIT",
"engines": {
"node": ">=12.0.0"
},
"peerDependencies": { "peerDependencies": {
"picomatch": "^3 || ^4" "picomatch": "^3 || ^4"
}, },
@@ -11435,9 +11432,9 @@
"license": "ISC" "license": "ISC"
}, },
"node_modules/picomatch": { "node_modules/picomatch": {
"version": "4.0.3", "version": "4.0.2",
"resolved": "https://registry.npmjs.org/picomatch/-/picomatch-4.0.3.tgz", "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-4.0.2.tgz",
"integrity": "sha512-5gTmgEY/sqK6gFXLIsQNH19lWb4ebPDLA4SdLP7dsWkIXHWlG66oPuVvXSGFPppYZz8ZDZq0dYYrbHfBCVUb1Q==", "integrity": "sha512-M7BAV6Rlcy5u+m6oPhAPFgJTzAioX/6B0DxyvDlo9l8+T3nLKbrczg2WLUyzd45L8RqfUMyGPzekbMvX2Ldkwg==",
"dev": true, "dev": true,
"license": "MIT", "license": "MIT",
"engines": { "engines": {
@@ -13395,14 +13392,14 @@
"license": "MIT" "license": "MIT"
}, },
"node_modules/tinyglobby": { "node_modules/tinyglobby": {
"version": "0.2.15", "version": "0.2.14",
"resolved": "https://registry.npmjs.org/tinyglobby/-/tinyglobby-0.2.15.tgz", "resolved": "https://registry.npmjs.org/tinyglobby/-/tinyglobby-0.2.14.tgz",
"integrity": "sha512-j2Zq4NyQYG5XMST4cbs02Ak8iJUdxRM0XI5QyxXuZOzKOINmWurp3smXu3y5wDcJrptwpSjgXHzIQxR0omXljQ==", "integrity": "sha512-tX5e7OM1HnYr2+a2C/4V0htOcSQcoSTH9KgJnVvNm5zm/cyEWKJ7j7YutsH9CxMdtOkkLFy2AHrMci9IM8IPZQ==",
"dev": true, "dev": true,
"license": "MIT", "license": "MIT",
"dependencies": { "dependencies": {
"fdir": "^6.5.0", "fdir": "^6.4.4",
"picomatch": "^4.0.3" "picomatch": "^4.0.2"
}, },
"engines": { "engines": {
"node": ">=12.0.0" "node": ">=12.0.0"
@@ -13925,19 +13922,19 @@
"license": "MIT" "license": "MIT"
}, },
"node_modules/vite": { "node_modules/vite": {
"version": "7.1.5", "version": "7.0.0",
"resolved": "https://registry.npmjs.org/vite/-/vite-7.1.5.tgz", "resolved": "https://registry.npmjs.org/vite/-/vite-7.0.0.tgz",
"integrity": "sha512-4cKBO9wR75r0BeIWWWId9XK9Lj6La5X846Zw9dFfzMRw38IlTk2iCcUt6hsyiDRcPidc55ZParFYDXi0nXOeLQ==", "integrity": "sha512-ixXJB1YRgDIw2OszKQS9WxGHKwLdCsbQNkpJN171udl6szi/rIySHL6/Os3s2+oE4P/FLD4dxg4mD7Wust+u5g==",
"dev": true, "dev": true,
"license": "MIT", "license": "MIT",
"peer": true, "peer": true,
"dependencies": { "dependencies": {
"esbuild": "^0.25.0", "esbuild": "^0.25.0",
"fdir": "^6.5.0", "fdir": "^6.4.6",
"picomatch": "^4.0.3", "picomatch": "^4.0.2",
"postcss": "^8.5.6", "postcss": "^8.5.6",
"rollup": "^4.43.0", "rollup": "^4.40.0",
"tinyglobby": "^0.2.15" "tinyglobby": "^0.2.14"
}, },
"bin": { "bin": {
"vite": "bin/vite.js" "vite": "bin/vite.js"

View File

@@ -6,7 +6,7 @@
], ],
"date_created": "2024-05-19", "date_created": "2024-05-19",
"type": "addon", "type": "addon",
"updateable": true, "updateable": false,
"privileged": false, "privileged": false,
"interface_port": null, "interface_port": null,
"documentation": "https://docs.netbird.io/", "documentation": "https://docs.netbird.io/",

View File

@@ -6,7 +6,7 @@
], ],
"date_created": "2024-05-02", "date_created": "2024-05-02",
"type": "addon", "type": "addon",
"updateable": true, "updateable": false,
"privileged": false, "privileged": false,
"interface_port": null, "interface_port": null,
"documentation": "https://tailscale.com/kb/1017/install", "documentation": "https://tailscale.com/kb/1017/install",

View File

@@ -6,7 +6,7 @@
], ],
"date_created": "2024-05-02", "date_created": "2024-05-02",
"type": "ct", "type": "ct",
"updateable": true, "updateable": false,
"privileged": false, "privileged": false,
"interface_port": 3142, "interface_port": 3142,
"documentation": "https://www.unix-ag.uni-kl.de/~bloch/acng/html/index.html", "documentation": "https://www.unix-ag.uni-kl.de/~bloch/acng/html/index.html",

View File

@@ -6,7 +6,7 @@
], ],
"date_created": "2025-01-20", "date_created": "2025-01-20",
"type": "ct", "type": "ct",
"updateable": true, "updateable": false,
"privileged": false, "privileged": false,
"interface_port": 8090, "interface_port": 8090,
"documentation": "https://beszel.dev/guide/what-is-beszel", "documentation": "https://beszel.dev/guide/what-is-beszel",

View File

@@ -6,7 +6,7 @@
], ],
"date_created": "2025-05-22", "date_created": "2025-05-22",
"type": "ct", "type": "ct",
"updateable": true, "updateable": false,
"privileged": false, "privileged": false,
"interface_port": null, "interface_port": null,
"documentation": "https://github.com/favonia/cloudflare-ddns/blob/main/README.markdown", "documentation": "https://github.com/favonia/cloudflare-ddns/blob/main/README.markdown",

View File

@@ -6,7 +6,7 @@
], ],
"date_created": "2024-05-02", "date_created": "2024-05-02",
"type": "ct", "type": "ct",
"updateable": true, "updateable": false,
"privileged": false, "privileged": false,
"interface_port": null, "interface_port": null,
"documentation": "https://developers.cloudflare.com/cloudflare-one/connections/connect-networks/", "documentation": "https://developers.cloudflare.com/cloudflare-one/connections/connect-networks/",

View File

@@ -6,7 +6,7 @@
], ],
"date_created": "2024-05-02", "date_created": "2024-05-02",
"type": "ct", "type": "ct",
"updateable": true, "updateable": false,
"privileged": false, "privileged": false,
"interface_port": 4000, "interface_port": 4000,
"documentation": "https://dashy.to/docs", "documentation": "https://dashy.to/docs",

View File

@@ -6,7 +6,7 @@
], ],
"date_created": "2024-05-02", "date_created": "2024-05-02",
"type": "ct", "type": "ct",
"updateable": true, "updateable": false,
"privileged": true, "privileged": true,
"interface_port": 80, "interface_port": 80,
"documentation": "https://github.com/dresden-elektronik/deconz-rest-plugin/wiki", "documentation": "https://github.com/dresden-elektronik/deconz-rest-plugin/wiki",

View File

@@ -6,7 +6,7 @@
], ],
"date_created": "2024-05-02", "date_created": "2024-05-02",
"type": "ct", "type": "ct",
"updateable": true, "updateable": false,
"privileged": false, "privileged": false,
"interface_port": 8112, "interface_port": 8112,
"documentation": "https://www.deluge-torrent.org/userguide/", "documentation": "https://www.deluge-torrent.org/userguide/",

View File

@@ -6,7 +6,7 @@
], ],
"date_created": "2024-05-02", "date_created": "2024-05-02",
"type": "ct", "type": "ct",
"updateable": true, "updateable": false,
"privileged": false, "privileged": false,
"interface_port": 8083, "interface_port": 8083,
"documentation": "https://fhem.de/#Documentation", "documentation": "https://fhem.de/#Documentation",

View File

@@ -7,7 +7,7 @@
], ],
"date_created": "2025-06-18", "date_created": "2025-06-18",
"type": "addon", "type": "addon",
"updateable": true, "updateable": false,
"privileged": false, "privileged": false,
"interface_port": 8080, "interface_port": 8080,
"documentation": "https://github.com/gtsteffaniak/filebrowser/wiki/Getting-Started", "documentation": "https://github.com/gtsteffaniak/filebrowser/wiki/Getting-Started",

View File

@@ -7,7 +7,7 @@
], ],
"date_created": "2024-05-02", "date_created": "2024-05-02",
"type": "addon", "type": "addon",
"updateable": true, "updateable": false,
"privileged": false, "privileged": false,
"interface_port": 8080, "interface_port": 8080,
"documentation": null, "documentation": null,

View File

@@ -6,7 +6,7 @@
], ],
"date_created": "2024-05-02", "date_created": "2024-05-02",
"type": "ct", "type": "ct",
"updateable": true, "updateable": false,
"privileged": false, "privileged": false,
"interface_port": 8581, "interface_port": 8581,
"documentation": "https://github.com/homebridge/homebridge/wiki", "documentation": "https://github.com/homebridge/homebridge/wiki",

View File

@@ -6,7 +6,7 @@
], ],
"date_created": "2024-05-02", "date_created": "2024-05-02",
"type": "ct", "type": "ct",
"updateable": true, "updateable": false,
"privileged": true, "privileged": true,
"interface_port": 8090, "interface_port": 8090,
"documentation": "https://github.com/awawa-dev/HyperHDR/wiki", "documentation": "https://github.com/awawa-dev/HyperHDR/wiki",

View File

@@ -6,7 +6,7 @@
], ],
"date_created": "2024-05-02", "date_created": "2024-05-02",
"type": "ct", "type": "ct",
"updateable": true, "updateable": false,
"privileged": false, "privileged": false,
"interface_port": 8086, "interface_port": 8086,
"documentation": "https://docs.influxdata.com/", "documentation": "https://docs.influxdata.com/",

View File

@@ -6,7 +6,7 @@
], ],
"date_created": "2025-07-29", "date_created": "2025-07-29",
"type": "ct", "type": "ct",
"updateable": true, "updateable": false,
"privileged": false, "privileged": false,
"interface_port": 80, "interface_port": 80,
"documentation": "https://doc.jeedom.com", "documentation": "https://doc.jeedom.com",

View File

@@ -6,7 +6,7 @@
], ],
"date_created": "2024-12-26", "date_created": "2024-12-26",
"type": "ct", "type": "ct",
"updateable": true, "updateable": false,
"privileged": false, "privileged": false,
"interface_port": 8080, "interface_port": 8080,
"documentation": "https://www.jenkins.io/doc/", "documentation": "https://www.jenkins.io/doc/",

View File

@@ -6,7 +6,7 @@
], ],
"date_created": "2024-05-02", "date_created": "2024-05-02",
"type": "ct", "type": "ct",
"updateable": true, "updateable": false,
"privileged": false, "privileged": false,
"interface_port": 5299, "interface_port": 5299,
"documentation": "https://lazylibrarian.gitlab.io/lazylibrarian.gitlab.io/", "documentation": "https://lazylibrarian.gitlab.io/lazylibrarian.gitlab.io/",

View File

@@ -6,7 +6,7 @@
], ],
"date_created": "2024-08-06", "date_created": "2024-08-06",
"type": "ct", "type": "ct",
"updateable": true, "updateable": false,
"privileged": false, "privileged": false,
"interface_port": 17170, "interface_port": 17170,
"documentation": "https://github.com/lldap/lldap/blob/main/README.md", "documentation": "https://github.com/lldap/lldap/blob/main/README.md",

View File

@@ -6,7 +6,7 @@
], ],
"date_created": "2024-05-02", "date_created": "2024-05-02",
"type": "ct", "type": "ct",
"updateable": true, "updateable": false,
"privileged": false, "privileged": false,
"interface_port": 3306, "interface_port": 3306,
"documentation": "https://github.com/community-scripts/ProxmoxVE/discussions/192", "documentation": "https://github.com/community-scripts/ProxmoxVE/discussions/192",

View File

@@ -6,7 +6,7 @@
], ],
"date_created": "2025-01-30", "date_created": "2025-01-30",
"type": "ct", "type": "ct",
"updateable": true, "updateable": false,
"privileged": false, "privileged": false,
"interface_port": 8065, "interface_port": 8065,
"documentation": "https://docs.mattermost.com/", "documentation": "https://docs.mattermost.com/",

View File

@@ -6,7 +6,7 @@
], ],
"date_created": "2024-05-18", "date_created": "2024-05-18",
"type": "ct", "type": "ct",
"updateable": true, "updateable": false,
"privileged": false, "privileged": false,
"interface_port": 27017, "interface_port": 27017,
"documentation": "https://www.mongodb.com/docs/manual/", "documentation": "https://www.mongodb.com/docs/manual/",

View File

@@ -6,7 +6,7 @@
], ],
"date_created": "2024-05-02", "date_created": "2024-05-02",
"type": "ct", "type": "ct",
"updateable": true, "updateable": false,
"privileged": false, "privileged": false,
"interface_port": null, "interface_port": null,
"documentation": "https://mosquitto.org/documentation/", "documentation": "https://mosquitto.org/documentation/",

View File

@@ -6,7 +6,7 @@
], ],
"date_created": "2025-03-13", "date_created": "2025-03-13",
"type": "ct", "type": "ct",
"updateable": true, "updateable": false,
"privileged": false, "privileged": false,
"interface_port": 81, "interface_port": 81,
"documentation": "https://github.com/ZoeyVid/NPMplus/blob/develop/README.md", "documentation": "https://github.com/ZoeyVid/NPMplus/blob/develop/README.md",
@@ -39,7 +39,7 @@
} }
], ],
"default_credentials": { "default_credentials": {
"username": "admin@example.org", "username": "root",
"password": null "password": null
}, },
"notes": [ "notes": [
@@ -52,7 +52,7 @@
"type": "info" "type": "info"
}, },
{ {
"text": "Application credentials: `cat /opt/.npm_pwd` - if file not exist in LXC check docker logs for password with `docker logs npmplus`", "text": "Application credentials: `cat /opt/.npm_pwd`",
"type": "info" "type": "info"
} }
] ]

View File

@@ -6,7 +6,7 @@
], ],
"date_created": "2024-05-02", "date_created": "2024-05-02",
"type": "ct", "type": "ct",
"updateable": true, "updateable": false,
"privileged": false, "privileged": false,
"interface_port": 80, "interface_port": 80,
"documentation": "https://docs.ntfy.sh/", "documentation": "https://docs.ntfy.sh/",

View File

@@ -6,7 +6,7 @@
], ],
"date_created": "2024-05-02", "date_created": "2024-05-02",
"type": "ct", "type": "ct",
"updateable": true, "updateable": false,
"privileged": false, "privileged": false,
"interface_port": 80, "interface_port": 80,
"documentation": "https://docs.openmediavault.org/en/stable/", "documentation": "https://docs.openmediavault.org/en/stable/",

View File

@@ -6,7 +6,7 @@
], ],
"date_created": "2024-05-02", "date_created": "2024-05-02",
"type": "ct", "type": "ct",
"updateable": true, "updateable": false,
"privileged": false, "privileged": false,
"interface_port": 8443, "interface_port": 8443,
"documentation": "https://www.openhab.org/docs/", "documentation": "https://www.openhab.org/docs/",

View File

@@ -6,7 +6,7 @@
], ],
"date_created": "2024-05-02", "date_created": "2024-05-02",
"type": "ct", "type": "ct",
"updateable": true, "updateable": false,
"privileged": false, "privileged": false,
"interface_port": null, "interface_port": null,
"documentation": "https://github.com/leiweibau/Pi.Alert/blob/main/README.md", "documentation": "https://github.com/leiweibau/Pi.Alert/blob/main/README.md",

View File

@@ -6,7 +6,7 @@
], ],
"date_created": "2025-02-02", "date_created": "2025-02-02",
"type": "ct", "type": "ct",
"updateable": true, "updateable": false,
"privileged": false, "privileged": false,
"interface_port": 5232, "interface_port": 5232,
"documentation": "https://radicale.org/master.html#documentation-1", "documentation": "https://radicale.org/master.html#documentation-1",

View File

@@ -6,7 +6,7 @@
], ],
"date_created": "2024-05-02", "date_created": "2024-05-02",
"type": "ct", "type": "ct",
"updateable": true, "updateable": false,
"privileged": false, "privileged": false,
"interface_port": null, "interface_port": null,
"documentation": "https://oss.oetiker.ch/smokeping/doc/index.en.html", "documentation": "https://oss.oetiker.ch/smokeping/doc/index.en.html",

View File

@@ -2,7 +2,7 @@
"name": "Swizzin", "name": "Swizzin",
"slug": "swizzin", "slug": "swizzin",
"categories": [ "categories": [
13 15
], ],
"date_created": "2025-08-19", "date_created": "2025-08-19",
"type": "ct", "type": "ct",

View File

@@ -6,7 +6,7 @@
], ],
"date_created": "2024-05-02", "date_created": "2024-05-02",
"type": "ct", "type": "ct",
"updateable": true, "updateable": false,
"privileged": false, "privileged": false,
"interface_port": 8384, "interface_port": 8384,
"documentation": "https://docs.syncthing.net/", "documentation": "https://docs.syncthing.net/",

View File

@@ -6,7 +6,7 @@
], ],
"date_created": "2024-05-02", "date_created": "2024-05-02",
"type": "ct", "type": "ct",
"updateable": true, "updateable": false,
"privileged": false, "privileged": false,
"interface_port": 8181, "interface_port": 8181,
"documentation": "https://github.com/Tautulli/Tautulli/wiki", "documentation": "https://github.com/Tautulli/Tautulli/wiki",

View File

@@ -6,7 +6,7 @@
], ],
"date_created": "2024-05-02", "date_created": "2024-05-02",
"type": "ct", "type": "ct",
"updateable": true, "updateable": false,
"privileged": false, "privileged": false,
"interface_port": 8443, "interface_port": 8443,
"documentation": null, "documentation": null,

View File

@@ -1,218 +1,8 @@
[ [
{ {
"name": "authelia/authelia", "name": "9001/copyparty",
"version": "v4.39.9", "version": "v1.19.8",
"date": "2025-09-09T22:48:24Z" "date": "2025-09-07T23:36:42Z"
},
{
"name": "MediaBrowser/Emby.Releases",
"version": "4.9.1.2",
"date": "2025-06-26T22:08:00Z"
},
{
"name": "jenkinsci/jenkins",
"version": "jenkins-2.527",
"date": "2025-09-09T19:58:28Z"
},
{
"name": "kyantech/Palmr",
"version": "v3.2.1-beta",
"date": "2025-09-09T19:47:13Z"
},
{
"name": "Part-DB/Part-DB-server",
"version": "v2.1.2",
"date": "2025-09-09T19:34:11Z"
},
{
"name": "hargata/lubelog",
"version": "v1.5.1",
"date": "2025-09-09T16:56:49Z"
},
{
"name": "open-webui/open-webui",
"version": "v0.6.27",
"date": "2025-09-09T14:34:27Z"
},
{
"name": "chrisvel/tududi",
"version": "v0.81",
"date": "2025-09-09T14:06:41Z"
},
{
"name": "firefly-iii/firefly-iii",
"version": "v6.3.2",
"date": "2025-08-19T04:08:36Z"
},
{
"name": "element-hq/synapse",
"version": "v1.138.0",
"date": "2025-09-09T11:25:50Z"
},
{
"name": "traefik/traefik",
"version": "v3.5.2",
"date": "2025-09-09T10:28:12Z"
},
{
"name": "docker/compose",
"version": "v2.39.3",
"date": "2025-09-09T08:27:27Z"
},
{
"name": "OctoPrint/OctoPrint",
"version": "1.11.3",
"date": "2025-09-09T08:03:31Z"
},
{
"name": "readeck/readeck",
"version": "0.20.2",
"date": "2025-09-09T06:09:25Z"
},
{
"name": "Jackett/Jackett",
"version": "v0.22.2444",
"date": "2025-09-09T06:00:01Z"
},
{
"name": "TandoorRecipes/recipes",
"version": "2.1.2",
"date": "2025-09-09T05:55:58Z"
},
{
"name": "gotson/komga",
"version": "1.23.4",
"date": "2025-09-09T02:47:05Z"
},
{
"name": "Tautulli/Tautulli",
"version": "v2.16.0",
"date": "2025-09-09T01:05:45Z"
},
{
"name": "jeedom/core",
"version": "4.4.20",
"date": "2025-09-09T00:27:11Z"
},
{
"name": "steveiliop56/tinyauth",
"version": "v3.6.2",
"date": "2025-07-17T12:08:03Z"
},
{
"name": "YunoHost/yunohost",
"version": "debian/12.1.20",
"date": "2025-09-08T23:47:21Z"
},
{
"name": "mongodb/mongo",
"version": "r8.0.14-rc1",
"date": "2025-09-08T22:50:53Z"
},
{
"name": "diced/zipline",
"version": "v4.3.1",
"date": "2025-09-08T22:26:23Z"
},
{
"name": "cross-seed/cross-seed",
"version": "v6.13.3",
"date": "2025-09-08T21:45:15Z"
},
{
"name": "HabitRPG/habitica",
"version": "v5.40.2",
"date": "2025-09-08T20:59:44Z"
},
{
"name": "keycloak/keycloak",
"version": "26.0.15",
"date": "2025-08-27T12:12:03Z"
},
{
"name": "booklore-app/booklore",
"version": "v1.2.1",
"date": "2025-09-08T19:31:07Z"
},
{
"name": "fallenbagel/jellyseerr",
"version": "preview-OIDC",
"date": "2025-09-08T18:08:15Z"
},
{
"name": "mattermost/mattermost",
"version": "server/public/v0.1.18",
"date": "2025-09-08T18:04:10Z"
},
{
"name": "immich-app/immich",
"version": "v1.141.1",
"date": "2025-09-08T17:15:33Z"
},
{
"name": "msgbyte/tianji",
"version": "v1.24.27",
"date": "2025-09-08T16:23:37Z"
},
{
"name": "Paymenter/Paymenter",
"version": "v1.3.1",
"date": "2025-09-08T15:26:01Z"
},
{
"name": "n8n-io/n8n",
"version": "n8n@1.109.2",
"date": "2025-09-03T07:50:21Z"
},
{
"name": "apache/tomcat",
"version": "10.1.46",
"date": "2025-09-08T14:29:54Z"
},
{
"name": "home-assistant/operating-system",
"version": "16.2",
"date": "2025-09-08T14:03:25Z"
},
{
"name": "zitadel/zitadel",
"version": "v4.1.3",
"date": "2025-09-08T13:36:08Z"
},
{
"name": "theonedev/onedev",
"version": "v12.0.10",
"date": "2025-09-08T13:20:16Z"
},
{
"name": "evcc-io/evcc",
"version": "0.207.6",
"date": "2025-09-08T11:52:00Z"
},
{
"name": "autobrr/autobrr",
"version": "v1.66.1",
"date": "2025-09-08T10:49:03Z"
},
{
"name": "meilisearch/meilisearch",
"version": "latest",
"date": "2025-09-08T10:03:11Z"
},
{
"name": "syncthing/syncthing",
"version": "v2.0.8",
"date": "2025-09-08T08:07:18Z"
},
{
"name": "nzbgetcom/nzbget",
"version": "v25.3",
"date": "2025-09-01T09:47:06Z"
},
{
"name": "webmin/webmin",
"version": "2.501",
"date": "2025-09-08T04:50:25Z"
}, },
{ {
"name": "paperless-ngx/paperless-ngx", "name": "paperless-ngx/paperless-ngx",
@@ -220,15 +10,20 @@
"date": "2025-09-07T23:57:32Z" "date": "2025-09-07T23:57:32Z"
}, },
{ {
"name": "9001/copyparty", "name": "Part-DB/Part-DB-server",
"version": "v1.19.8", "version": "v2.1.1",
"date": "2025-09-07T23:36:42Z" "date": "2025-09-07T21:59:53Z"
}, },
{ {
"name": "minio/minio", "name": "minio/minio",
"version": "RELEASE.2025-09-07T16-13-09Z", "version": "RELEASE.2025-09-07T16-13-09Z",
"date": "2025-09-07T18:53:04Z" "date": "2025-09-07T18:53:04Z"
}, },
{
"name": "MediaBrowser/Emby.Releases",
"version": "4.9.1.2",
"date": "2025-06-26T22:08:00Z"
},
{ {
"name": "karakeep-app/karakeep", "name": "karakeep-app/karakeep",
"version": "sdk/v0.27.0", "version": "sdk/v0.27.0",
@@ -239,16 +34,31 @@
"version": "0.50.12", "version": "0.50.12",
"date": "2025-09-07T14:16:07Z" "date": "2025-09-07T14:16:07Z"
}, },
{
"name": "cross-seed/cross-seed",
"version": "v6.13.2",
"date": "2025-08-19T18:18:40Z"
},
{
"name": "firefly-iii/firefly-iii",
"version": "v6.3.2",
"date": "2025-08-19T04:08:36Z"
},
{ {
"name": "runtipi/runtipi", "name": "runtipi/runtipi",
"version": "v4.4.0", "version": "nightly",
"date": "2025-09-02T19:26:18Z" "date": "2025-09-07T12:16:33Z"
}, },
{ {
"name": "semaphoreui/semaphore", "name": "semaphoreui/semaphore",
"version": "v2.17.0-beta1", "version": "v2.17.0-beta1",
"date": "2025-09-07T08:56:50Z" "date": "2025-09-07T08:56:50Z"
}, },
{
"name": "Jackett/Jackett",
"version": "v0.22.2438",
"date": "2025-09-07T06:00:21Z"
},
{ {
"name": "Radarr/Radarr", "name": "Radarr/Radarr",
"version": "v5.27.5.10198", "version": "v5.27.5.10198",
@@ -269,6 +79,16 @@
"version": "v2.13.3.4711", "version": "v2.13.3.4711",
"date": "2025-08-28T20:06:24Z" "date": "2025-08-28T20:06:24Z"
}, },
{
"name": "jeedom/core",
"version": "4.4.19",
"date": "2025-09-07T00:27:07Z"
},
{
"name": "steveiliop56/tinyauth",
"version": "v3.6.2",
"date": "2025-07-17T12:08:03Z"
},
{ {
"name": "rcourtman/Pulse", "name": "rcourtman/Pulse",
"version": "v4.14.0", "version": "v4.14.0",
@@ -279,11 +99,21 @@
"version": "v1.6.4", "version": "v1.6.4",
"date": "2025-08-18T20:22:07Z" "date": "2025-08-18T20:22:07Z"
}, },
{
"name": "autobrr/autobrr",
"version": "v1.66.0",
"date": "2025-09-06T15:07:16Z"
},
{ {
"name": "fuma-nama/fumadocs", "name": "fuma-nama/fumadocs",
"version": "create-fumadocs-app@15.7.10", "version": "create-fumadocs-app@15.7.10",
"date": "2025-09-06T10:13:43Z" "date": "2025-09-06T10:13:43Z"
}, },
{
"name": "Paymenter/Paymenter",
"version": "v1.3.0",
"date": "2025-09-06T09:02:08Z"
},
{ {
"name": "Luligu/matterbridge", "name": "Luligu/matterbridge",
"version": "3.2.6", "version": "3.2.6",
@@ -294,6 +124,11 @@
"version": "v12.0.3", "version": "v12.0.3",
"date": "2025-09-06T07:01:44Z" "date": "2025-09-06T07:01:44Z"
}, },
{
"name": "theonedev/onedev",
"version": "v12.0.9",
"date": "2025-09-06T00:39:00Z"
},
{ {
"name": "moghtech/komodo", "name": "moghtech/komodo",
"version": "v1.19.3", "version": "v1.19.3",
@@ -304,6 +139,16 @@
"version": "v1.36.1", "version": "v1.36.1",
"date": "2025-09-05T21:14:40Z" "date": "2025-09-05T21:14:40Z"
}, },
{
"name": "booklore-app/booklore",
"version": "v1.2.0",
"date": "2025-09-05T20:43:03Z"
},
{
"name": "immich-app/immich",
"version": "v1.141.1",
"date": "2025-09-05T19:44:39Z"
},
{ {
"name": "gtsteffaniak/filebrowser", "name": "gtsteffaniak/filebrowser",
"version": "v0.8.4-beta", "version": "v0.8.4-beta",
@@ -314,11 +159,21 @@
"version": "v1.3.2", "version": "v1.3.2",
"date": "2025-09-05T18:44:15Z" "date": "2025-09-05T18:44:15Z"
}, },
{
"name": "diced/zipline",
"version": "v4.3.0",
"date": "2025-09-05T18:43:28Z"
},
{ {
"name": "henrygd/beszel", "name": "henrygd/beszel",
"version": "v0.12.7", "version": "v0.12.7",
"date": "2025-09-05T18:11:36Z" "date": "2025-09-05T18:11:36Z"
}, },
{
"name": "keycloak/keycloak",
"version": "26.0.15",
"date": "2025-08-27T12:12:03Z"
},
{ {
"name": "Brandawg93/PeaNUT", "name": "Brandawg93/PeaNUT",
"version": "v5.14.2", "version": "v5.14.2",
@@ -329,11 +184,26 @@
"version": "2025.9.0", "version": "2025.9.0",
"date": "2025-09-05T14:21:34Z" "date": "2025-09-05T14:21:34Z"
}, },
{
"name": "chrisvel/tududi",
"version": "v0.80",
"date": "2025-07-24T14:12:39Z"
},
{ {
"name": "home-assistant/core", "name": "home-assistant/core",
"version": "2025.9.1", "version": "2025.9.1",
"date": "2025-09-05T11:15:21Z" "date": "2025-09-05T11:15:21Z"
}, },
{
"name": "syncthing/syncthing",
"version": "v2.0.7",
"date": "2025-09-05T10:18:24Z"
},
{
"name": "zitadel/zitadel",
"version": "v4.1.2",
"date": "2025-09-05T08:23:30Z"
},
{ {
"name": "CrazyWolf13/streamlink-webui", "name": "CrazyWolf13/streamlink-webui",
"version": "0.6", "version": "0.6",
@@ -364,16 +234,36 @@
"version": "v1.0.0-beta17", "version": "v1.0.0-beta17",
"date": "2025-09-04T21:30:14Z" "date": "2025-09-04T21:30:14Z"
}, },
{
"name": "TandoorRecipes/recipes",
"version": "2.1.0",
"date": "2025-09-04T20:24:47Z"
},
{
"name": "mongodb/mongo",
"version": "r7.0.24",
"date": "2025-09-04T19:50:49Z"
},
{ {
"name": "Cleanuparr/Cleanuparr", "name": "Cleanuparr/Cleanuparr",
"version": "v2.2.3", "version": "v2.2.3",
"date": "2025-09-04T19:24:39Z" "date": "2025-09-04T19:24:39Z"
}, },
{
"name": "HabitRPG/habitica",
"version": "v5.40.1",
"date": "2025-09-04T19:10:45Z"
},
{ {
"name": "AdguardTeam/AdGuardHome", "name": "AdguardTeam/AdGuardHome",
"version": "v0.107.65", "version": "v0.107.65",
"date": "2025-08-20T14:02:28Z" "date": "2025-08-20T14:02:28Z"
}, },
{
"name": "webmin/webmin",
"version": "2.500",
"date": "2025-09-04T17:44:27Z"
},
{ {
"name": "ollama/ollama", "name": "ollama/ollama",
"version": "v0.11.10", "version": "v0.11.10",
@@ -449,16 +339,31 @@
"version": "5.26.12", "version": "5.26.12",
"date": "2025-09-03T12:03:22Z" "date": "2025-09-03T12:03:22Z"
}, },
{
"name": "n8n-io/n8n",
"version": "n8n@1.109.2",
"date": "2025-09-03T07:50:21Z"
},
{ {
"name": "Checkmk/checkmk", "name": "Checkmk/checkmk",
"version": "v2.4.0p11", "version": "v2.4.0p11",
"date": "2025-09-03T09:58:14Z" "date": "2025-09-03T09:58:14Z"
}, },
{
"name": "mattermost/mattermost",
"version": "server/public/v0.1.17",
"date": "2025-09-02T21:38:40Z"
},
{ {
"name": "cockpit-project/cockpit", "name": "cockpit-project/cockpit",
"version": "346", "version": "346",
"date": "2025-09-03T09:13:05Z" "date": "2025-09-03T09:13:05Z"
}, },
{
"name": "jenkinsci/jenkins",
"version": "jenkins-2.526",
"date": "2025-09-02T18:44:42Z"
},
{ {
"name": "apache/cassandra", "name": "apache/cassandra",
"version": "cassandra-4.1.10", "version": "cassandra-4.1.10",
@@ -474,11 +379,21 @@
"version": "v4.4.0", "version": "v4.4.0",
"date": "2025-09-02T17:04:25Z" "date": "2025-09-02T17:04:25Z"
}, },
{
"name": "element-hq/synapse",
"version": "v1.137.0",
"date": "2025-08-26T09:51:47Z"
},
{ {
"name": "rabbitmq/rabbitmq-server", "name": "rabbitmq/rabbitmq-server",
"version": "v4.1.4", "version": "v4.1.4",
"date": "2025-09-02T14:26:24Z" "date": "2025-09-02T14:26:24Z"
}, },
{
"name": "apache/tomcat",
"version": "10.1.45",
"date": "2025-09-02T12:46:34Z"
},
{ {
"name": "Dolibarr/dolibarr", "name": "Dolibarr/dolibarr",
"version": "22.0.1", "version": "22.0.1",
@@ -494,6 +409,11 @@
"version": "v25.5.0", "version": "v25.5.0",
"date": "2025-09-02T01:00:11Z" "date": "2025-09-02T01:00:11Z"
}, },
{
"name": "authelia/authelia",
"version": "v4.39.8",
"date": "2025-09-02T00:44:45Z"
},
{ {
"name": "postgres/postgres", "name": "postgres/postgres",
"version": "REL_18_RC1", "version": "REL_18_RC1",
@@ -514,6 +434,11 @@
"version": "v0.87.3", "version": "v0.87.3",
"date": "2025-09-01T16:25:43Z" "date": "2025-09-01T16:25:43Z"
}, },
{
"name": "home-assistant/operating-system",
"version": "16.1",
"date": "2025-08-13T07:58:10Z"
},
{ {
"name": "seanmorley15/AdventureLog", "name": "seanmorley15/AdventureLog",
"version": "v0.11.0", "version": "v0.11.0",
@@ -524,6 +449,16 @@
"version": "rrc_steady_12.2.0-17245430286.patch1", "version": "rrc_steady_12.2.0-17245430286.patch1",
"date": "2025-09-01T14:19:14Z" "date": "2025-09-01T14:19:14Z"
}, },
{
"name": "fallenbagel/jellyseerr",
"version": "preview-issue-description",
"date": "2025-09-01T12:21:58Z"
},
{
"name": "nzbgetcom/nzbget",
"version": "v25.3",
"date": "2025-09-01T09:47:06Z"
},
{ {
"name": "grokability/snipe-it", "name": "grokability/snipe-it",
"version": "v8.3.1", "version": "v8.3.1",
@@ -534,6 +469,16 @@
"version": "v1.7.0", "version": "v1.7.0",
"date": "2025-09-01T10:10:34Z" "date": "2025-09-01T10:10:34Z"
}, },
{
"name": "readeck/readeck",
"version": "0.20.1",
"date": "2025-09-01T07:35:48Z"
},
{
"name": "YunoHost/yunohost",
"version": "debian/12.1.17.1",
"date": "2025-08-31T21:38:21Z"
},
{ {
"name": "LibreTranslate/LibreTranslate", "name": "LibreTranslate/LibreTranslate",
"version": "v1.7.3", "version": "v1.7.3",
@@ -544,6 +489,11 @@
"version": "v0.9.91", "version": "v0.9.91",
"date": "2025-08-30T21:49:57Z" "date": "2025-08-30T21:49:57Z"
}, },
{
"name": "msgbyte/tianji",
"version": "v1.24.26",
"date": "2025-08-29T20:26:08Z"
},
{ {
"name": "silverbulletmd/silverbullet", "name": "silverbulletmd/silverbullet",
"version": "2.0.0", "version": "2.0.0",
@@ -589,11 +539,21 @@
"version": "v3.4.1", "version": "v3.4.1",
"date": "2025-08-28T13:56:00Z" "date": "2025-08-28T13:56:00Z"
}, },
{
"name": "open-webui/open-webui",
"version": "v0.6.26",
"date": "2025-08-28T10:40:30Z"
},
{ {
"name": "garethgeorge/backrest", "name": "garethgeorge/backrest",
"version": "v1.9.2", "version": "v1.9.2",
"date": "2025-08-28T07:06:14Z" "date": "2025-08-28T07:06:14Z"
}, },
{
"name": "gotson/komga",
"version": "1.23.3",
"date": "2025-08-28T02:50:06Z"
},
{ {
"name": "pocket-id/pocket-id", "name": "pocket-id/pocket-id",
"version": "v1.10.0", "version": "v1.10.0",
@@ -609,6 +569,21 @@
"version": "v11.2.1", "version": "v11.2.1",
"date": "2025-08-27T15:19:02Z" "date": "2025-08-27T15:19:02Z"
}, },
{
"name": "traefik/traefik",
"version": "v3.5.1",
"date": "2025-08-27T09:21:19Z"
},
{
"name": "meilisearch/meilisearch",
"version": "latest",
"date": "2025-08-26T14:14:42Z"
},
{
"name": "evcc-io/evcc",
"version": "0.207.5",
"date": "2025-08-26T06:57:07Z"
},
{ {
"name": "documenso/documenso", "name": "documenso/documenso",
"version": "v1.12.2-rc.6", "version": "v1.12.2-rc.6",
@@ -709,6 +684,16 @@
"version": "v6.9.1", "version": "v6.9.1",
"date": "2025-08-22T04:04:12Z" "date": "2025-08-22T04:04:12Z"
}, },
{
"name": "hargata/lubelog",
"version": "v1.5.0",
"date": "2025-08-21T17:33:22Z"
},
{
"name": "kyantech/Palmr",
"version": "v3.2.0-beta",
"date": "2025-08-21T16:51:45Z"
},
{ {
"name": "cloudflare/cloudflared", "name": "cloudflare/cloudflared",
"version": "2025.8.1", "version": "2025.8.1",
@@ -844,6 +829,11 @@
"version": "2.38.0", "version": "2.38.0",
"date": "2025-08-08T21:47:19Z" "date": "2025-08-08T21:47:19Z"
}, },
{
"name": "docker/compose",
"version": "v2.39.2",
"date": "2025-08-08T16:06:06Z"
},
{ {
"name": "apache/tika", "name": "apache/tika",
"version": "3.2.2", "version": "3.2.2",
@@ -884,6 +874,11 @@
"version": "v2.0.116", "version": "v2.0.116",
"date": "2025-08-05T04:45:21Z" "date": "2025-08-05T04:45:21Z"
}, },
{
"name": "Tautulli/Tautulli",
"version": "v2.15.3",
"date": "2025-08-03T17:27:16Z"
},
{ {
"name": "linuxserver/Heimdall", "name": "linuxserver/Heimdall",
"version": "v2.7.4", "version": "v2.7.4",
@@ -1124,6 +1119,11 @@
"version": "v2.0.0.4645", "version": "v2.0.0.4645",
"date": "2017-03-07T18:56:06Z" "date": "2017-03-07T18:56:06Z"
}, },
{
"name": "OctoPrint/OctoPrint",
"version": "1.11.2",
"date": "2025-06-10T11:07:14Z"
},
{ {
"name": "glanceapp/glance", "name": "glanceapp/glance",
"version": "v0.8.4", "version": "v0.8.4",

View File

@@ -2,7 +2,6 @@ import type { VariantProps } from "class-variance-authority";
import { cva } from "class-variance-authority"; import { cva } from "class-variance-authority";
import { StarIcon } from "lucide-react"; import { StarIcon } from "lucide-react";
import Link from "next/link";
import type { ButtonProps as ButtonPrimitiveProps } from "@/components/animate-ui/primitives/buttons/button"; import type { ButtonProps as ButtonPrimitiveProps } from "@/components/animate-ui/primitives/buttons/button";
import type { GithubStarsProps } from "@/components/animate-ui/primitives/animate/github-stars"; import type { GithubStarsProps } from "@/components/animate-ui/primitives/animate/github-stars";
@@ -72,37 +71,30 @@ function GitHubStarsButton({
...props ...props
}: GitHubStarsButtonProps) { }: GitHubStarsButtonProps) {
return ( return (
<Link <GithubStars
target="_blank" asChild
rel="noopener noreferrer" username={username}
data-umami-event="github-stars" repo={repo}
href={`https://github.com/${username}/${repo}`} value={value}
delay={delay}
inView={inView}
inViewMargin={inViewMargin}
inViewOnce={inViewOnce}
> >
<GithubStars <ButtonPrimitive className={cn(buttonVariants({ variant, size, className }))} {...props}>
asChild <GithubStarsLogo />
username={username} <GithubStarsNumber />
repo={repo} <GithubStarsParticles className="text-yellow-500">
value={value} <GithubStarsIcon
delay={delay} icon={StarIcon}
inView={inView} data-variant={variant}
inViewMargin={inViewMargin} className={cn(buttonStarVariants({ variant }))}
inViewOnce={inViewOnce} activeClassName="text-yellow-500"
> size={18}
<ButtonPrimitive className={cn(buttonVariants({ variant, size, className }))} {...props}> />
<GithubStarsLogo /> </GithubStarsParticles>
<GithubStarsNumber /> </ButtonPrimitive>
<GithubStarsParticles className="text-yellow-500"> </GithubStars>
<GithubStarsIcon
icon={StarIcon}
data-variant={variant}
className={cn(buttonStarVariants({ variant }))}
activeClassName="text-yellow-500"
size={18}
/>
</GithubStarsParticles>
</ButtonPrimitive>
</GithubStars>
</Link>
); );
} }

View File

@@ -46,7 +46,7 @@ $STD npm run build --configuration=production
msg_ok "Built Frontend" msg_ok "Built Frontend"
msg_info "Creating Environment" msg_info "Creating Environment"
mkdir -p /opt/booklore_storage{/data,/books,/bookdrop} mkdir -p /opt/booklore_storage{/data,/books}
cat <<EOF >/opt/booklore_storage/.env cat <<EOF >/opt/booklore_storage/.env
DATABASE_URL=jdbc:mariadb://localhost:3306/$DB_NAME DATABASE_URL=jdbc:mariadb://localhost:3306/$DB_NAME
DATABASE_USERNAME=$DB_USER DATABASE_USERNAME=$DB_USER
@@ -55,7 +55,6 @@ BOOKLORE_PORT=6060
BOOKLORE_DATA_PATH=/opt/booklore_storage/data BOOKLORE_DATA_PATH=/opt/booklore_storage/data
BOOKLORE_BOOKS_PATH=/opt/booklore_storage/books BOOKLORE_BOOKS_PATH=/opt/booklore_storage/books
BOOKLORE_BOOKDROP_PATH=/opt/booklore_storage/bookdrop
EOF EOF
msg_ok "Created Environment" msg_ok "Created Environment"

View File

@@ -285,7 +285,7 @@ GEO_DIR="${INSTALL_DIR}/geodata"
mkdir -p "$INSTALL_DIR" mkdir -p "$INSTALL_DIR"
mkdir -p {"${APP_DIR}","${UPLOAD_DIR}","${GEO_DIR}","${INSTALL_DIR}"/cache} mkdir -p {"${APP_DIR}","${UPLOAD_DIR}","${GEO_DIR}","${INSTALL_DIR}"/cache}
fetch_and_deploy_gh_release "immich" "immich-app/immich" "tarball" "v1.141.1" "$SRC_DIR" fetch_and_deploy_gh_release "immich" "immich-app/immich" "tarball" "v1.140.1" "$SRC_DIR"
msg_info "Installing ${APPLICATION} (more patience please)" msg_info "Installing ${APPLICATION} (more patience please)"

View File

@@ -158,7 +158,7 @@ Wants=network.target karakeep-browser.service meilisearch.service
After=network.target karakeep-browser.service meilisearch.service After=network.target karakeep-browser.service meilisearch.service
[Service] [Service]
ExecStart=/usr/bin/node dist/index.js ExecStart=/usr/bin/node dist/index.mjs
WorkingDirectory=/opt/karakeep/apps/workers WorkingDirectory=/opt/karakeep/apps/workers
EnvironmentFile=/etc/karakeep/karakeep.env EnvironmentFile=/etc/karakeep/karakeep.env
Restart=always Restart=always

View File

@@ -89,36 +89,19 @@ customize
msg_info "Retrieving Default Login (Patience)" msg_info "Retrieving Default Login (Patience)"
PASSWORD_FOUND=0 PASSWORD_FOUND=0
for i in {1..60}; do for i in {1..60}; do
PASSWORD_LINE=$( PASSWORD_LINE=$(docker logs "$CONTAINER_ID" 2>&1 | awk '/Creating a new user:/ { print; exit }')
{ awk '/Creating a new user:/{print; exit}' < <(docker logs "$CONTAINER_ID" 2>&1); } || true if [[ -n "$PASSWORD_LINE" ]]; then
) PASSWORD=$(echo "$PASSWORD_LINE" | awk -F 'password: ' '{print $2}')
echo -e "username: admin@example.org\npassword: $PASSWORD" >/opt/.npm_pwd
if [[ -n "${PASSWORD_LINE:-}" ]]; then
PASSWORD="${PASSWORD_LINE#*password: }"
printf 'username: admin@example.org\npassword: %s\n' "$PASSWORD" >/opt/.npm_pwd
msg_ok "Saved default login to /opt/.npm_pwd" msg_ok "Saved default login to /opt/.npm_pwd"
PASSWORD_FOUND=1 PASSWORD_FOUND=1
break break
fi fi
sleep 2 sleep 2
done done
if [[ $PASSWORD_FOUND -eq 0 ]]; then
PASSWORD_LINE=$(
timeout 30s bash -c '
docker logs -f --since=0s --tail=0 "$1" 2>&1 | awk "/Creating a new user:/{print; exit}"
' _ "$CONTAINER_ID" || true
)
if [[ -n "${PASSWORD_LINE:-}" ]]; then
PASSWORD="${PASSWORD_LINE#*password: }"
printf 'username: admin@example.org\npassword: %s\n' "$PASSWORD" >/opt/.npm_pwd
msg_ok "Saved default login to /opt/.npm_pwd (live)"
PASSWORD_FOUND=1
fi
fi
if [[ $PASSWORD_FOUND -eq 0 ]]; then if [[ $PASSWORD_FOUND -eq 0 ]]; then
msg_error "Could not retrieve default login after 120s." msg_error "Could not retrieve default login after 60 seconds."
echo -e "\nYou can manually check the container logs with:\n docker logs $CONTAINER_ID | grep 'Creating a new user:'\n" echo -e "\nYou can manually check the container logs with:\n docker logs $CONTAINER_ID | grep 'Creating a new user:'\n"
fi fi

View File

@@ -30,12 +30,11 @@ fi
mkdir -p /etc/pulse mkdir -p /etc/pulse
fetch_and_deploy_gh_release "pulse" "rcourtman/Pulse" "prebuild" "latest" "/opt/pulse" "*-linux-amd64.tar.gz" fetch_and_deploy_gh_release "pulse" "rcourtman/Pulse" "prebuild" "latest" "/opt/pulse" "*-linux-amd64.tar.gz"
ln -sf /opt/pulse/bin/pulse /usr/local/bin/pulse
chown -R pulse:pulse /etc/pulse /opt/pulse chown -R pulse:pulse /etc/pulse /opt/pulse
msg_ok "Installed Pulse" msg_ok "Installed Pulse"
msg_info "Creating Service" msg_info "Creating Service"
cat <<EOF >/etc/systemd/system/pulse.service cat <<EOF >/etc/systemd/system/pulse-backend.service
[Unit] [Unit]
Description=Pulse Monitoring Server Description=Pulse Monitoring Server
After=network.target After=network.target
@@ -56,7 +55,7 @@ Environment="PULSE_DATA_DIR=/etc/pulse"
[Install] [Install]
WantedBy=multi-user.target WantedBy=multi-user.target
EOF EOF
systemctl enable -q --now pulse systemctl enable -q --now pulse-backend
msg_ok "Created Service" msg_ok "Created Service"
motd_ssh motd_ssh

View File

@@ -21,7 +21,7 @@ fetch_and_deploy_gh_release "recyclarr" "recyclarr/recyclarr" "prebuild" "latest
msg_info "Configuring Recyclarr" msg_info "Configuring Recyclarr"
mkdir -p /root/.config/recyclarr mkdir -p /root/.config/recyclarr
$STD recyclarr config create recyclarr config create
msg_ok "Configured Recyclarr" msg_ok "Configured Recyclarr"
motd_ssh motd_ssh

View File

@@ -19,8 +19,8 @@ $STD apt-get install -y \
yq yq
msg_ok "Installed Dependencies" msg_ok "Installed Dependencies"
NODE_VERSION="22" setup_nodejs NODE_VERSION="20" setup_nodejs
fetch_and_deploy_gh_release "tududi" "chrisvel/tududi" "tarball" "latest" "/opt/tududi" fetch_and_deploy_gh_release "tududi" "chrisvel/tududi" "tarball" "v0.80" "/opt/tududi"
msg_info "Configuring Tududi" msg_info "Configuring Tududi"
cd /opt/tududi cd /opt/tududi
@@ -37,16 +37,15 @@ DB_LOCATION="/opt/tududi-db"
UPLOAD_DIR="/opt/tududi-uploads" UPLOAD_DIR="/opt/tududi-uploads"
mkdir -p {"$DB_LOCATION","$UPLOAD_DIR"} mkdir -p {"$DB_LOCATION","$UPLOAD_DIR"}
SECRET="$(openssl rand -hex 64)" SECRET="$(openssl rand -hex 64)"
cat <<EOF >/opt/tududi/backend/.env sed -e 's/^GOOGLE/# &/' \
TUDUDI_SESSION_SECRET=${SECRET} -e '/TUDUDI_SESSION/s/^# //' \
TUDUDI_ALLOWED_ORIGINS=<your tududi IP or FQDN> -e '/NODE_ENV/s/^# //' \
NODE_ENV=production -e "s/your_session_secret_here/$SECRET/" \
DB_FILE=${DB_LOCATION}/production.sqlite3 -e 's/development/production/' \
TUDUDI_UPLOAD_PATH=${UPLOAD_DIR} -e "\$a\DB_FILE=$DB_LOCATION/production.sqlite3" \
DISABLE_TELEGRAM=true -e "\$a\TUDUDI_UPLOAD_PATH=$UPLOAD_DIR" \
DIABLE_SCHEDULER=false /opt/tududi/backend/.env.example >/opt/tududi/backend/.env
EOF export DB_FILE="$DB_LOCATION/production.sqlite3"
export DB_FILE="${DB_LOCATION}/production.sqlite3"
$STD npm run db:init $STD npm run db:init
msg_ok "Created env and database" msg_ok "Created env and database"
@@ -58,9 +57,9 @@ After=network.target
[Service] [Service]
Type=simple Type=simple
WorkingDirectory=/opt/tududi/backend WorkingDirectory=/opt/tududi
EnvironmentFile=/opt/tududi/backend/.env EnvironmentFile=/opt/tududi/backend/.env
ExecStart=/usr/bin/bash /opt/tududi/backend/cmd/start.sh ExecStart=/usr/bin/npm run start
[Install] [Install]
WantedBy=multi-user.target WantedBy=multi-user.target

View File

@@ -13,10 +13,6 @@ setting_up_container
network_check network_check
update_os update_os
msg_info "Installing Dependencies"
$STD apt-get install -y git
msg_ok "Installed Dependencies"
msg_info "Installing WireGuard" msg_info "Installing WireGuard"
$STD apt-get install -y wireguard wireguard-tools net-tools iptables $STD apt-get install -y wireguard wireguard-tools net-tools iptables
DEBIAN_FRONTEND=noninteractive apt-get -o Dpkg::Options::="--force-confnew" install -y iptables-persistent &>/dev/null DEBIAN_FRONTEND=noninteractive apt-get -o Dpkg::Options::="--force-confnew" install -y iptables-persistent &>/dev/null
@@ -25,7 +21,7 @@ msg_ok "Installed WireGuard"
read -r -p "${TAB3}Would you like to add WGDashboard? <y/N> " prompt read -r -p "${TAB3}Would you like to add WGDashboard? <y/N> " prompt
if [[ "${prompt,,}" =~ ^(y|yes)$ ]]; then if [[ "${prompt,,}" =~ ^(y|yes)$ ]]; then
git clone -q https://github.com/donaldzou/WGDashboard.git /etc/wgdashboard fetch_and_deploy_gh_release "wgdashboard" "donaldzou/WGDashboard" "tarball" "latest" "/etc/wgdashboard"
msg_info "Installing WGDashboard" msg_info "Installing WGDashboard"
cd /etc/wgdashboard/src cd /etc/wgdashboard/src

View File

@@ -26,7 +26,7 @@ elif command -v wget >/dev/null 2>&1; then
fi fi
# This function enables error handling in the script by setting options and defining a trap for the ERR signal. # This function enables error handling in the script by setting options and defining a trap for the ERR signal.
catch_errors() { catch_errors() {
set -Eeo pipefail set -Eeuo pipefail
trap 'error_handler $LINENO "$BASH_COMMAND"' ERR trap 'error_handler $LINENO "$BASH_COMMAND"' ERR
} }
@@ -346,7 +346,7 @@ echo_default() {
echo -e "${DISKSIZE}${BOLD}${DGN}Disk Size: ${BGN}${DISK_SIZE} GB${CL}" echo -e "${DISKSIZE}${BOLD}${DGN}Disk Size: ${BGN}${DISK_SIZE} GB${CL}"
echo -e "${CPUCORE}${BOLD}${DGN}CPU Cores: ${BGN}${CORE_COUNT}${CL}" echo -e "${CPUCORE}${BOLD}${DGN}CPU Cores: ${BGN}${CORE_COUNT}${CL}"
echo -e "${RAMSIZE}${BOLD}${DGN}RAM Size: ${BGN}${RAM_SIZE} MiB${CL}" echo -e "${RAMSIZE}${BOLD}${DGN}RAM Size: ${BGN}${RAM_SIZE} MiB${CL}"
if [ "$VERBOSE" == "yes" ]; then if [ "$VERB" == "yes" ]; then
echo -e "${SEARCH}${BOLD}${DGN}Verbose Mode: ${BGN}Enabled${CL}" echo -e "${SEARCH}${BOLD}${DGN}Verbose Mode: ${BGN}Enabled${CL}"
fi fi
echo -e "${CREATING}${BOLD}${BL}Creating a ${APP} LXC using the above default settings${CL}" echo -e "${CREATING}${BOLD}${BL}Creating a ${APP} LXC using the above default settings${CL}"

View File

@@ -250,12 +250,15 @@ EOF
whiptail --backtitle "Proxmox VE Helper Scripts" --msgbox --title "Support Subscriptions" \ whiptail --backtitle "Proxmox VE Helper Scripts" --msgbox --title "Support Subscriptions" \
"Supporting the software's development team is essential.\nPlease consider buying a subscription." 10 58 "Supporting the software's development team is essential.\nPlease consider buying a subscription." 10 58
msg_info "Disabling subscription nag" msg_info "Disabling subscription nag"
cat >/etc/apt/apt.conf.d/no-nag-script <<'EOF' cat <<'EOF' >/etc/apt/apt.conf.d/no-nag-script
DPkg::Post-Invoke { "if [ -s /usr/share/javascript/proxmox-widget-toolkit/proxmoxlib.js ] && ! grep -q -F 'NoMoreNagging' /usr/share/javascript/proxmox-widget-toolkit/proxmoxlib.js; then sed -i '/data\.status/{s/\!//;s/active/NoMoreNagging/}' /usr/share/javascript/proxmox-widget-toolkit/proxmoxlib.js; fi"; }; DPkg::Post-Invoke {
EOF "if [ -s /usr/share/javascript/proxmox-widget-toolkit/proxmoxlib.js ] && ! grep -q -F 'NoMoreNagging' /usr/share/javascript/proxmox-widget-toolkit/proxmoxlib.js; then
sed -i '/data\.status/{s/\\!//;s/active/NoMoreNagging/}' /usr/share/javascript/proxmox-widget-toolkit/proxmoxlib.js;
cat >/etc/apt/apt.conf.d/no-nag-script-pmgmanagerlib-mobile <<'EOF' fi";
DPkg::Post-Invoke { "if [ -s /usr/share/javascript/pmg-gui/js/pmgmanagerlib-mobile.js ] && ! grep -q -F 'NoMoreNagging' /usr/share/javascript/pmg-gui/js/pmgmanagerlib-mobile.js; then sed -i '/data\.status/{s/\!//;s/active/NoMoreNagging/}' /usr/share/javascript/pmg-gui/js/pmgmanagerlib-mobile.js; fi"; }; "if [ -s /usr/share/javascript/pmg-gui/js/pmgmanagerlib-mobile.js ] && ! grep -q -F 'NoMoreNagging' /usr/share/javascript/pmg-gui/js/pmgmanagerlib-mobile.js; then
sed -i '/data\.status/{s/\\!//;s/active/NoMoreNagging/}' /usr/share/javascript/pmg-gui/js/pmgmanagerlib-mobile.js;
fi";
};
EOF EOF
msg_ok "Disabled subscription nag (clear browser cache!)" msg_ok "Disabled subscription nag (clear browser cache!)"
;; ;;