mirror of
https://github.com/community-scripts/ProxmoxVE.git
synced 2025-07-26 15:57:37 +00:00
Compare commits
58 Commits
nginx_ref
...
2025-07-19
Author | SHA1 | Date | |
---|---|---|---|
c2c2e4030e | |||
268d692281 | |||
3547552c23 | |||
3579c93d80 | |||
65e0ed2976 | |||
2bd9f4a7c6 | |||
f56489cb07 | |||
852bfbd71c | |||
255bd7a803 | |||
ffe774dc4c | |||
2f08a8623b | |||
1af6cc6b54 | |||
0113c7e7fd | |||
745533759a | |||
c62b244569 | |||
2600e84a14 | |||
51faa3b03d | |||
a5ed6c1af7 | |||
05f552eca7 | |||
da71a0fa01 | |||
2a359b5d2d | |||
a125d00cad | |||
14f36819c2 | |||
b4df44bc5c | |||
53fa29e01f | |||
33e19bc535 | |||
52bc5f33e6 | |||
51a6024a1b | |||
49aa5ae552 | |||
6dc91a2144 | |||
03813ff991 | |||
c0df5b79f5 | |||
523b3e6a70 | |||
4ce715acd4 | |||
1ad394367e | |||
0b0ae1a3bc | |||
63c5912723 | |||
dafb4af6a8 | |||
88e3a334f7 | |||
bbd600a348 | |||
c90f800a69 | |||
ca5f0629b0 | |||
a7f67e5534 | |||
03c4e54da6 | |||
eb86d3e960 | |||
968b7cdf43 | |||
688d296d13 | |||
0379223ead | |||
7a0ca05153 | |||
fb3bf03332 | |||
6d312c9c8d | |||
a2dde6594e | |||
f7c9d77019 | |||
8f4f2f4d92 | |||
f15e4ea552 | |||
1a90d90d5e | |||
11f1e86500 | |||
9d84657763 |
1
.gitattributes
vendored
1
.gitattributes
vendored
@ -26,6 +26,7 @@ SECURITY.md linguist-documentation
|
||||
# ---------------------------------------
|
||||
# Exclude generated/config files
|
||||
*.json linguist-generated
|
||||
frontend/public/json/*.json linguist-generated=false
|
||||
*.lock linguist-generated
|
||||
*.yml linguist-generated
|
||||
*.yaml linguist-generated
|
||||
|
61
CHANGELOG.md
61
CHANGELOG.md
@ -10,6 +10,61 @@
|
||||
> [!CAUTION]
|
||||
Exercise vigilance regarding copycat or coat-tailing sites that seek to exploit the project's popularity for potentially malicious purposes.
|
||||
|
||||
## 2025-07-20
|
||||
|
||||
## 2025-07-19
|
||||
|
||||
### 🚀 Updated Scripts
|
||||
|
||||
- #### 🐞 Bug Fixes
|
||||
|
||||
- Fixed nag script on ProxMox 8.4.5 [@imcrazytwkr](https://github.com/imcrazytwkr) ([#6084](https://github.com/community-scripts/ProxmoxVE/pull/6084))
|
||||
|
||||
## 2025-07-18
|
||||
|
||||
### 🚀 Updated Scripts
|
||||
|
||||
- #### 🐞 Bug Fixes
|
||||
|
||||
- AdventureLog: add backup folder before update [@MickLesk](https://github.com/MickLesk) ([#6066](https://github.com/community-scripts/ProxmoxVE/pull/6066))
|
||||
|
||||
- #### ✨ New Features
|
||||
|
||||
- Bar-Assistant: add Cocktail database [@MickLesk](https://github.com/MickLesk) ([#6068](https://github.com/community-scripts/ProxmoxVE/pull/6068))
|
||||
- ErsatzTV: use project prebuild ffmpeg version [@MickLesk](https://github.com/MickLesk) ([#6067](https://github.com/community-scripts/ProxmoxVE/pull/6067))
|
||||
|
||||
## 2025-07-17
|
||||
|
||||
### 🆕 New Scripts
|
||||
|
||||
- Cloudreve ([#6044](https://github.com/community-scripts/ProxmoxVE/pull/6044))
|
||||
|
||||
### 🚀 Updated Scripts
|
||||
|
||||
- config-file: set GATE [@ahmaddxb](https://github.com/ahmaddxb) ([#6042](https://github.com/community-scripts/ProxmoxVE/pull/6042))
|
||||
|
||||
- #### 🐞 Bug Fixes
|
||||
|
||||
- add "setup_composer" in update_script (baikal, bar-assistant, firefly) [@MickLesk](https://github.com/MickLesk) ([#6047](https://github.com/community-scripts/ProxmoxVE/pull/6047))
|
||||
- PLANKA: Fix update procedure [@tremor021](https://github.com/tremor021) ([#6031](https://github.com/community-scripts/ProxmoxVE/pull/6031))
|
||||
|
||||
- #### ✨ New Features
|
||||
|
||||
- Reactive Resume: switch source to community-maintained fork [@vhsdream](https://github.com/vhsdream) ([#6051](https://github.com/community-scripts/ProxmoxVE/pull/6051))
|
||||
|
||||
## 2025-07-16
|
||||
|
||||
### 🚀 Updated Scripts
|
||||
|
||||
- #### 🐞 Bug Fixes
|
||||
|
||||
- homepage.sh: resolves #6028 [@vhsdream](https://github.com/vhsdream) ([#6032](https://github.com/community-scripts/ProxmoxVE/pull/6032))
|
||||
- karakeep-install: Disable Playwright browser download, remove MCP build [@vhsdream](https://github.com/vhsdream) ([#5833](https://github.com/community-scripts/ProxmoxVE/pull/5833))
|
||||
|
||||
- #### 🔧 Refactor
|
||||
|
||||
- chore: reorganize nginxproxymanager update script [@Kirbo](https://github.com/Kirbo) ([#5971](https://github.com/community-scripts/ProxmoxVE/pull/5971))
|
||||
|
||||
## 2025-07-15
|
||||
|
||||
### 🚀 Updated Scripts
|
||||
@ -17,6 +72,12 @@ Exercise vigilance regarding copycat or coat-tailing sites that seek to exploit
|
||||
- #### 🐞 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
|
||||
|
||||
|
10
ct/2fauth.sh
10
ct/2fauth.sh
@ -28,8 +28,11 @@ function update_script() {
|
||||
msg_error "No ${APP} Installation Found!"
|
||||
exit
|
||||
fi
|
||||
RELEASE=$(curl -fsSL https://api.github.com/repos/Bubka/2FAuth/releases/latest | grep "tag_name" | awk '{print substr($2, 2, length($2)-3) }')
|
||||
if [[ "${RELEASE}" != "$(cat ~/.2fauth 2>/dev/null || cat /opt/2fauth_version.txt 2>/dev/null)" ]]; then
|
||||
if ! command -v jq &>/dev/null; then
|
||||
$STD apt-get install -y jq
|
||||
fi
|
||||
RELEASE=$(curl -fsSL https://api.github.com/repos/Bubka/2FAuth/releases/latest | jq -r '.tag_name' | sed 's/^v//')
|
||||
if [[ "${RELEASE}" != "$(cat ~/.2fauth 2>/dev/null)" ]] || [[ ! -f ~/.2fauth ]]; then
|
||||
msg_info "Updating $APP to ${RELEASE}"
|
||||
$STD apt-get update
|
||||
$STD apt-get -y upgrade
|
||||
@ -45,10 +48,11 @@ function update_script() {
|
||||
$STD apt-get install -y \
|
||||
lsb-release \
|
||||
gnupg2
|
||||
PHP_VERSION="8.3" PHP_MODULE="common,ctype,fileinfo,fpm,mysql,cli" setup_php
|
||||
PHP_VERSION="8.3" PHP_MODULE="common,ctype,fileinfo,mysql,cli" PHP_FPM="YES" setup_php
|
||||
sed -i 's/php8.2/php8.3/g' /etc/nginx/conf.d/2fauth.conf
|
||||
fi
|
||||
fetch_and_deploy_gh_release "2fauth" "Bubka/2FAuth"
|
||||
setup_composer
|
||||
mv "/opt/2fauth-backup/.env" "/opt/2fauth/.env"
|
||||
mv "/opt/2fauth-backup/storage" "/opt/2fauth/storage"
|
||||
cd "/opt/2fauth" || return
|
||||
|
@ -35,26 +35,29 @@ function update_script() {
|
||||
systemctl stop adventurelog-frontend
|
||||
msg_ok "Services Stopped"
|
||||
|
||||
msg_info "Backup Old Installation"
|
||||
mkdir -p /opt/adventurelog-backup
|
||||
cp /opt/adventurelog/backend/server/.env /opt/adventurelog-backup/backend/server/.env
|
||||
cp -r /opt/adventurelog/backend/server/media /opt/adventurelog-backup/backend/server/media
|
||||
cp /opt/adventurelog/frontend/.env /opt/adventurelog-backup/frontend/.env
|
||||
msg_ok "Backup done"
|
||||
|
||||
fetch_and_deploy_gh_release "adventurelog" "seanmorley15/adventurelog"
|
||||
PYTHON_VERSION="3.12" setup_uv
|
||||
|
||||
msg_info "Updating ${APP} to v${RELEASE}"
|
||||
# Backend Migration
|
||||
cp /opt/adventurelog-backup/backend/server/.env /opt/adventurelog/backend/server/.env
|
||||
cp -r /opt/adventurelog-backup/backend/server/media /opt/adventurelog/backend/server/media
|
||||
|
||||
cd /opt/adventurelog/backend/server
|
||||
if [[ ! -x .venv/bin/python ]]; then
|
||||
$STD uv venv .venv
|
||||
$STD .venv/bin/python -m ensurepip --upgrade
|
||||
fi
|
||||
|
||||
$STD .venv/bin/python -m pip install --upgrade pip
|
||||
$STD .venv/bin/python -m pip install -r requirements.txt
|
||||
$STD .venv/bin/python -m manage collectstatic --noinput
|
||||
$STD .venv/bin/python -m manage migrate
|
||||
|
||||
# Frontend Migration
|
||||
|
||||
cp /opt/adventurelog-backup/frontend/.env /opt/adventurelog/frontend/.env
|
||||
cd /opt/adventurelog/frontend
|
||||
$STD pnpm i
|
||||
@ -68,7 +71,6 @@ function update_script() {
|
||||
msg_ok "Services Started"
|
||||
|
||||
msg_info "Cleaning Up"
|
||||
rm -rf /opt/v${RELEASE}.zip
|
||||
rm -rf /opt/adventurelog-backup
|
||||
msg_ok "Cleaned"
|
||||
|
||||
|
@ -39,6 +39,7 @@ function update_script() {
|
||||
msg_ok "Backed up data"
|
||||
|
||||
fetch_and_deploy_gh_release "baikal" "sabre-io/Baikal"
|
||||
setup_composer
|
||||
|
||||
msg_info "Configuring Baikal"
|
||||
cp -r /opt/baikal-backup/config/baikal.yaml /opt/baikal/config/
|
||||
|
@ -43,6 +43,7 @@ function update_script() {
|
||||
msg_ok "Backed up Bar Assistant"
|
||||
|
||||
fetch_and_deploy_gh_release "bar-assistant" "karlomikus/bar-assistant" "tarball" "latest" "/opt/bar-assistant"
|
||||
setup_composer
|
||||
|
||||
msg_info "Updating ${APP} to ${RELEASE_BARASSISTANT}"
|
||||
cp -r /opt/bar-assistant-backup/.env /opt/bar-assistant/.env
|
||||
|
58
ct/cloudreve.sh
Normal file
58
ct/cloudreve.sh
Normal file
@ -0,0 +1,58 @@
|
||||
#!/usr/bin/env bash
|
||||
source <(curl -s https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/misc/build.func)
|
||||
# Copyright (c) 2021-2025 community-scripts ORG
|
||||
# Author: MickLesk (CanbiZ)
|
||||
# License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE
|
||||
# Source: https://cloudreve.org/
|
||||
|
||||
APP="Cloudreve"
|
||||
var_tags="${var_tags:-cloud}"
|
||||
var_cpu="${var_cpu:-1}"
|
||||
var_ram="${var_ram:-1024}"
|
||||
var_disk="${var_disk:-10}"
|
||||
var_os="${var_os:-debian}"
|
||||
var_version="${var_version:-12}"
|
||||
var_unprivileged="${var_unprivileged:-1}"
|
||||
|
||||
header_info "$APP"
|
||||
variables
|
||||
color
|
||||
catch_errors
|
||||
|
||||
function update_script() {
|
||||
header_info
|
||||
check_container_storage
|
||||
check_container_resources
|
||||
|
||||
if [[ ! -d /opt/cloudreve ]]; then
|
||||
msg_error "No ${APP} Installation Found!"
|
||||
exit
|
||||
fi
|
||||
|
||||
RELEASE=$(curl -fsSL https://api.github.com/repos/cloudreve/cloudreve/releases/latest | grep "tag_name" | awk '{print substr($2, 2, length($2)-3) }')
|
||||
if [[ "${RELEASE}" != "$(cat ~/.cloudreve 2>/dev/null)" ]] || [[ ! -f ~/.cloudreve ]]; then
|
||||
msg_info "Stopping $APP"
|
||||
systemctl stop cloudreve
|
||||
msg_ok "Stopped $APP"
|
||||
|
||||
fetch_and_deploy_gh_release "cloudreve" "cloudreve/cloudreve" "prebuild" "latest" "/opt/cloudreve" "*linux_amd64.tar.gz"
|
||||
|
||||
msg_info "Starting $APP"
|
||||
systemctl start cloudreve
|
||||
msg_ok "Started $APP"
|
||||
|
||||
msg_ok "Update Successful"
|
||||
else
|
||||
msg_ok "No update required. ${APP} is already at v${RELEASE}"
|
||||
fi
|
||||
exit
|
||||
}
|
||||
|
||||
start
|
||||
build_container
|
||||
description
|
||||
|
||||
msg_ok "Completed Successfully!\n"
|
||||
echo -e "${CREATING}${GN}${APP} setup has been successfully initialized!${CL}"
|
||||
echo -e "${INFO}${YW} Access it using the following URL:${CL}"
|
||||
echo -e "${TAB}${GATEWAY}${BGN}http://${IP}:5212${CL}"
|
@ -30,6 +30,10 @@ function update_script() {
|
||||
systemctl stop emqx
|
||||
msg_ok "Stopped EMQX"
|
||||
|
||||
msg_info "Removing old EMQX"
|
||||
$STD apt-get remove --purge -y emqx
|
||||
msg_ok "Removed old EMQX"
|
||||
|
||||
msg_info "Downloading EMQX v${RELEASE}"
|
||||
DEB_FILE="/tmp/emqx-enterprise-${RELEASE}-debian12-amd64.deb"
|
||||
curl -fsSL -o "$DEB_FILE" "https://www.emqx.com/en/downloads/enterprise/v${RELEASE}/emqx-enterprise-${RELEASE}-debian12-amd64.deb"
|
||||
|
@ -26,13 +26,14 @@ function update_script() {
|
||||
msg_error "No ${APP} Installation Found!"
|
||||
exit
|
||||
fi
|
||||
RELEASE=$(curl -fsSL https://api.github.com/repos/ErsatzTV/ErsatzTV/releases | grep -oP '"tag_name": "\K[^"]+' | head -n 1)
|
||||
RELEASE=$(curl -fsSL https://api.github.com/repos/ErsatzTV/ErsatzTV/releases | grep -oP '"tag_name": "\Kv\K[^"]+' | head -n1)
|
||||
RELEASE_FFMPEG=$(curl -fsSL https://api.github.com/repos/ErsatzTV/ErsatzTV-ffmpeg/releases | grep -oP '"tag_name": "\K[^"]+' | head -n 1)
|
||||
|
||||
if [[ "${RELEASE}" != "$(cat ~/.ersatztv 2>/dev/null)" ]] || [[ ! -f ~/.ersatztv ]]; then
|
||||
msg_info "Stopping ErsatzTV"
|
||||
systemctl stop ersatzTV
|
||||
msg_ok "Stopped ErsatzTV"
|
||||
|
||||
FFMPEG_VERSION="latest" FFMPEG_TYPE="medium" setup_ffmpeg
|
||||
fetch_and_deploy_gh_release "ersatztv" "ErsatzTV/ErsatzTV" "prebuild" "latest" "/opt/ErsatzTV" "*linux-x64.tar.gz"
|
||||
|
||||
msg_info "Starting ErsatzTV"
|
||||
@ -43,6 +44,29 @@ function update_script() {
|
||||
else
|
||||
msg_ok "No update required. ${APP} is already at ${RELEASE}"
|
||||
fi
|
||||
|
||||
if [[ "${RELEASE_FFMPEG}" != "$(cat ~/.ersatztv-ffmpeg 2>/dev/null)" ]] || [[ ! -f ~/.ersatztv-ffmpeg ]]; then
|
||||
msg_info "Stopping ErsatzTV"
|
||||
systemctl stop ersatzTV
|
||||
msg_ok "Stopped ErsatzTV"
|
||||
|
||||
fetch_and_deploy_gh_release "ersatztv-ffmpeg" "ErsatzTV/ErsatzTV-ffmpeg" "prebuild" "latest" "/opt/ErsatzTV-ffmpeg" "*-linux64-gpl-7.1.tar.xz"
|
||||
|
||||
msg_info "Set ErsatzTV-ffmpeg links"
|
||||
chmod +x /opt/ErsatzTV-ffmpeg/bin/*
|
||||
ln -sf /opt/ErsatzTV-ffmpeg/bin/ffmpeg /usr/local/bin/ffmpeg
|
||||
ln -sf /opt/ErsatzTV-ffmpeg/bin/ffplay /usr/local/bin/ffplay
|
||||
ln -sf /opt/ErsatzTV-ffmpeg/bin/ffprobe /usr/local/bin/ffprobe
|
||||
msg_ok "ffmpeg links set"
|
||||
|
||||
msg_info "Starting ErsatzTV"
|
||||
systemctl start ersatzTV
|
||||
msg_ok "Started ErsatzTV"
|
||||
|
||||
msg_ok "Updated Successfully"
|
||||
else
|
||||
msg_ok "No update required. ErsatzTV-ffmpeg is already at ${RELEASE_FFMPEG}"
|
||||
fi
|
||||
exit
|
||||
}
|
||||
|
||||
|
@ -40,6 +40,7 @@ function update_script() {
|
||||
msg_ok "Backed up data"
|
||||
|
||||
fetch_and_deploy_gh_release "firefly" "firefly-iii/firefly-iii" "prebuild" "latest" "/opt/firefly" "FireflyIII-*.zip"
|
||||
setup_composer
|
||||
|
||||
msg_info "Updating ${APP} to v${RELEASE}"
|
||||
rm -rf /opt/firefly/storage
|
||||
|
6
ct/headers/cloudreve
Normal file
6
ct/headers/cloudreve
Normal file
@ -0,0 +1,6 @@
|
||||
________ __
|
||||
/ ____/ /___ __ ______/ /_______ _ _____
|
||||
/ / / / __ \/ / / / __ / ___/ _ \ | / / _ \
|
||||
/ /___/ / /_/ / /_/ / /_/ / / / __/ |/ / __/
|
||||
\____/_/\____/\__,_/\__,_/_/ \___/|___/\___/
|
||||
|
@ -56,7 +56,7 @@ function update_script() {
|
||||
rm -rf homepage-${RELEASE}
|
||||
cd /opt/homepage
|
||||
$STD pnpm install
|
||||
$STD npx --yes update-browserslist-db@latest
|
||||
$STD pnpm update --no-save caniuse-lite
|
||||
export NEXT_PUBLIC_VERSION="v$RELEASE"
|
||||
export NEXT_PUBLIC_REVISION="source"
|
||||
export NEXT_PUBLIC_BUILDTIME=$(curl -fsSL https://api.github.com/repos/gethomepage/homepage/releases/latest | jq -r '.published_at')
|
||||
|
110
ct/karakeep.sh
110
ct/karakeep.sh
@ -27,59 +27,67 @@ function update_script() {
|
||||
msg_error "No ${APP} Installation Found!"
|
||||
exit
|
||||
fi
|
||||
RELEASE=$(curl -fsSL https://api.github.com/repos/karakeep-app/karakeep/releases/latest | grep "tag_name" | awk '{print substr($2, 3, length($2)-4) }')
|
||||
PREV_RELEASE=$(cat /opt/${APP}_version.txt)
|
||||
if [[ ! -f /opt/${APP}_version.txt ]] || [[ "${RELEASE}" != "${PREV_RELEASE}" ]]; then
|
||||
msg_info "Stopping Services"
|
||||
systemctl stop karakeep-web karakeep-workers karakeep-browser
|
||||
msg_ok "Stopped Services"
|
||||
msg_info "Updating yt-dlp"
|
||||
$STD yt-dlp --update-to nightly
|
||||
msg_ok "Updated yt-dlp"
|
||||
msg_info "Updating ${APP} to v${RELEASE}"
|
||||
if [[ $(corepack -v) < "0.31.0" ]]; then
|
||||
$STD npm install -g corepack@0.31.0
|
||||
fi
|
||||
if [[ "${PREV_RELEASE}" < 0.23.0 ]]; then
|
||||
$STD apt-get install -y graphicsmagick ghostscript
|
||||
fi
|
||||
cd /opt
|
||||
if [[ -f /opt/karakeep/.env ]] && [[ ! -f /etc/karakeep/karakeep.env ]]; then
|
||||
mkdir -p /etc/karakeep
|
||||
mv /opt/karakeep/.env /etc/karakeep/karakeep.env
|
||||
fi
|
||||
rm -rf /opt/karakeep
|
||||
curl -fsSL "https://github.com/karakeep-app/karakeep/archive/refs/tags/v${RELEASE}.zip" -o "v${RELEASE}.zip"
|
||||
$STD unzip "v${RELEASE}.zip"
|
||||
mv karakeep-"${RELEASE}" /opt/karakeep
|
||||
cd /opt/karakeep/apps/web
|
||||
$STD pnpm install --frozen-lockfile
|
||||
$STD pnpm build
|
||||
cd /opt/karakeep/apps/workers
|
||||
$STD pnpm install --frozen-lockfile
|
||||
cd /opt/karakeep/apps/cli
|
||||
$STD pnpm install --frozen-lockfile
|
||||
$STD pnpm build
|
||||
cd /opt/karakeep/apps/mcp
|
||||
$STD pnpm install --frozen-lockfile
|
||||
$STD pnpm build
|
||||
export DATA_DIR=/opt/karakeep_data
|
||||
cd /opt/karakeep/packages/db
|
||||
$STD pnpm migrate
|
||||
sed -i "s/SERVER_VERSION=${PREV_RELEASE}/SERVER_VERSION=${RELEASE}/" /etc/karakeep/karakeep.env
|
||||
msg_ok "Updated ${APP} to v${RELEASE}"
|
||||
|
||||
msg_info "Starting Services"
|
||||
systemctl start karakeep-browser karakeep-workers karakeep-web
|
||||
msg_ok "Started Services"
|
||||
msg_info "Cleaning up"
|
||||
rm -R /opt/v"${RELEASE}".zip
|
||||
echo "${RELEASE}" >/opt/${APP}_version.txt
|
||||
msg_ok "Cleaned"
|
||||
msg_ok "Updated Successfully"
|
||||
else
|
||||
msg_ok "No update required. ${APP} is already at ${RELEASE}."
|
||||
RELEASE=$(curl -fsSL https://api.github.com/repos/karakeep-app/karakeep/releases/latest | grep "tag_name" | awk '{print substr($2, 3, length($2)-4) }')
|
||||
if [[ -f ~/.karakeep && "$RELEASE" == "$(cat ~/.karakeep)" ]]; then
|
||||
msg_ok "No update required. ${APP} is already at ${RELEASE}"
|
||||
exit
|
||||
fi
|
||||
msg_info "Stopping Services"
|
||||
systemctl stop karakeep-web karakeep-workers karakeep-browser
|
||||
msg_ok "Stopped Services"
|
||||
|
||||
msg_info "Updating yt-dlp"
|
||||
$STD yt-dlp --update-to nightly
|
||||
msg_ok "Updated yt-dlp"
|
||||
|
||||
msg_info "Prepare update"
|
||||
if [[ -f /opt/${APP}_version.txt && "$(cat /opt/${APP}_version.txt)" < "0.23.0" ]]; then
|
||||
$STD apt-get install -y graphicsmagick ghostscript
|
||||
fi
|
||||
if [[ -f /opt/karakeep/.env ]] && [[ ! -f /etc/karakeep/karakeep.env ]]; then
|
||||
mkdir -p /etc/karakeep
|
||||
mv /opt/karakeep/.env /etc/karakeep/karakeep.env
|
||||
fi
|
||||
rm -rf /opt/karakeep
|
||||
msg_ok "Update prepared"
|
||||
|
||||
fetch_and_deploy_gh_release "karakeep" "karakeep-app/karakeep"
|
||||
if command -v corepack; then
|
||||
$STD corepack disable
|
||||
fi
|
||||
MODULE_VERSION="$(jq -r '.packageManager | split("@")[1]' /opt/karakeep/package.json)"
|
||||
NODE_VERSION="22" NODE_MODULE="pnpm@${MODULE_VERSION}" setup_nodejs
|
||||
|
||||
msg_info "Updating ${APP} to v${RELEASE}"
|
||||
export PUPPETEER_SKIP_DOWNLOAD="true"
|
||||
export PLAYWRIGHT_SKIP_BROWSER_DOWNLOAD="true"
|
||||
export NEXT_TELEMETRY_DISABLED=1
|
||||
export CI="true"
|
||||
cd /opt/karakeep/apps/web
|
||||
$STD pnpm install --frozen-lockfile
|
||||
$STD pnpm build
|
||||
cd /opt/karakeep/apps/workers
|
||||
$STD pnpm install --frozen-lockfile
|
||||
cd /opt/karakeep/apps/cli
|
||||
$STD pnpm install --frozen-lockfile
|
||||
$STD pnpm build
|
||||
export DATA_DIR=/opt/karakeep_data
|
||||
cd /opt/karakeep/packages/db
|
||||
$STD pnpm migrate
|
||||
$STD pnpm store prune
|
||||
sed -i "s/^SERVER_VERSION=.*$/SERVER_VERSION=${RELEASE}/" /etc/karakeep/karakeep.env
|
||||
msg_ok "Updated ${APP} to v${RELEASE}"
|
||||
|
||||
msg_info "Starting Services"
|
||||
systemctl start karakeep-browser karakeep-workers karakeep-web
|
||||
msg_ok "Started Services"
|
||||
|
||||
msg_info "Cleaning up"
|
||||
$STD apt-get autoremove -y
|
||||
$STD apt-get autoclean -y
|
||||
msg_ok "Cleaned"
|
||||
msg_ok "Updated Successfully"
|
||||
exit
|
||||
}
|
||||
|
||||
|
@ -27,15 +27,32 @@ function update_script() {
|
||||
msg_error "No ${APP} Installation Found!"
|
||||
exit
|
||||
fi
|
||||
|
||||
if ! command -v pnpm &>/dev/null; then
|
||||
msg_info "Installing pnpm"
|
||||
#export NODE_OPTIONS=--openssl-legacy-provider
|
||||
$STD npm install -g pnpm@8.15
|
||||
msg_ok "Installed pnpm"
|
||||
fi
|
||||
|
||||
RELEASE=$(curl -fsSL https://api.github.com/repos/NginxProxyManager/nginx-proxy-manager/releases/latest |
|
||||
grep "tag_name" |
|
||||
awk '{print substr($2, 3, length($2)-4) }')
|
||||
|
||||
msg_info "Downloading NPM v${RELEASE}"
|
||||
curl -fsSL "https://codeload.github.com/NginxProxyManager/nginx-proxy-manager/tar.gz/v${RELEASE}" | tar -xz
|
||||
cd nginx-proxy-manager-"${RELEASE}" || exit
|
||||
msg_ok "Downloaded NPM v${RELEASE}"
|
||||
|
||||
msg_info "Building Frontend"
|
||||
(
|
||||
cd ./frontend || exit
|
||||
$STD pnpm install
|
||||
$STD pnpm upgrade
|
||||
$STD pnpm run build
|
||||
)
|
||||
msg_ok "Built Frontend"
|
||||
|
||||
msg_info "Stopping Services"
|
||||
systemctl stop openresty
|
||||
systemctl stop npm
|
||||
@ -50,12 +67,7 @@ function update_script() {
|
||||
"$STD" /var/cache/nginx
|
||||
msg_ok "Cleaned Old Files"
|
||||
|
||||
msg_info "Downloading NPM v${RELEASE}"
|
||||
curl -fsSL "https://codeload.github.com/NginxProxyManager/nginx-proxy-manager/tar.gz/v${RELEASE}" | tar -xz
|
||||
cd nginx-proxy-manager-"${RELEASE}"
|
||||
msg_ok "Downloaded NPM v${RELEASE}"
|
||||
|
||||
msg_info "Setting up Enviroment"
|
||||
msg_info "Setting up Environment"
|
||||
ln -sf /usr/bin/python3 /usr/bin/python
|
||||
ln -sf /usr/bin/certbot /opt/certbot/bin/certbot
|
||||
ln -sf /usr/local/openresty/nginx/sbin/nginx /usr/sbin/nginx
|
||||
@ -97,19 +109,12 @@ function update_script() {
|
||||
$STD openssl req -new -newkey rsa:2048 -days 3650 -nodes -x509 -subj "/O=Nginx Proxy Manager/OU=Dummy Certificate/CN=localhost" -keyout /data/nginx/dummykey.pem -out /data/nginx/dummycert.pem
|
||||
fi
|
||||
mkdir -p /app/global /app/frontend/images
|
||||
cp -r frontend/dist/* /app/frontend
|
||||
cp -r frontend/app-images/* /app/frontend/images
|
||||
cp -r backend/* /app
|
||||
cp -r global/* /app/global
|
||||
$STD python3 -m pip install --no-cache-dir --break-system-packages certbot-dns-cloudflare
|
||||
msg_ok "Setup Enviroment"
|
||||
|
||||
msg_info "Building Frontend"
|
||||
cd ./frontend
|
||||
$STD pnpm install
|
||||
$STD pnpm upgrade
|
||||
$STD pnpm run build
|
||||
cp -r dist/* /app/frontend
|
||||
cp -r app-images/* /app/frontend/images
|
||||
msg_ok "Built Frontend"
|
||||
msg_ok "Setup Environment"
|
||||
|
||||
msg_info "Initializing Backend"
|
||||
$STD rm -rf /app/config/default.json
|
||||
@ -128,7 +133,7 @@ function update_script() {
|
||||
}
|
||||
EOF
|
||||
fi
|
||||
cd /app
|
||||
cd /app || exit
|
||||
$STD pnpm install
|
||||
msg_ok "Initialized Backend"
|
||||
|
||||
|
32
ct/planka.sh
32
ct/planka.sh
@ -28,33 +28,33 @@ function update_script() {
|
||||
msg_error "No ${APP} Installation Found!"
|
||||
exit
|
||||
fi
|
||||
RELEASE=$(curl -s https://api.github.com/repos/plankanban/planka/releases/latest | grep "tag_name" | awk '{print substr($2, 2, length($2)-3) }')
|
||||
RELEASE=$(curl -s https://api.github.com/repos/plankanban/planka/releases/latest | grep "tag_name" | awk '{print substr($2, 3, length($2)-4) }')
|
||||
if [[ "${RELEASE}" != "$(cat ~/.planka 2>/dev/null)" ]] || [[ ! -f ~/.planka ]]; then
|
||||
msg_info "Stopping $APP"
|
||||
systemctl stop planka
|
||||
msg_ok "Stopped $APP"
|
||||
|
||||
msg_info "Updating $APP to ${RELEASE}"
|
||||
mkdir -p /opt/planka-backup
|
||||
mkdir -p /opt/planka-backup/favicons
|
||||
mkdir -p /opt/planka-backup/user-avatars
|
||||
mkdir -p /opt/planka-backup/background-images
|
||||
mkdir -p /opt/planka-backup/attachments
|
||||
msg_info "Backing up data"
|
||||
mkdir -p /opt/planka-backup/{favicons,user-avatars,background-images,attachments}
|
||||
mv /opt/planka/.env /opt/planka-backup
|
||||
[ -n "$(ls -A /opt/planka/public/favicons 2>/dev/null)" ] && mv /opt/planka/public/favicons/* /opt/planka-backup/favicons/
|
||||
[ -n "$(ls -A /opt/planka/public/user-avatars 2>/dev/null)" ] && mv /opt/planka/public/user-avatars/* /opt/planka-backup/user-avatars/
|
||||
[ -n "$(ls -A /opt/planka/public/background-images 2>/dev/null)" ] && mv /opt/planka/public/background-images/* /opt/planka-backup/background-images/
|
||||
[ -n "$(ls -A /opt/planka/private/attachments 2>/dev/null)" ] && mv /opt/planka/private/attachments/* /opt/planka-backup/attachments/
|
||||
[ -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/user-avatars ] && find /opt/planka/public/user-avatars -maxdepth 1 -type f -exec mv -t /opt/planka-backup/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/private/attachments ] && find /opt/planka/private/attachments -maxdepth 1 -type f -exec mv -t /opt/planka-backup/attachments {} +
|
||||
rm -rf /opt/planka
|
||||
msg_ok "Backed up data"
|
||||
|
||||
fetch_and_deploy_gh_release "planka" "plankanban/planka" "prebuild" "latest" "/opt/planka" "planka-prebuild.zip"
|
||||
cd /opt/planka
|
||||
$STD npm install
|
||||
|
||||
msg_info "Restoring data"
|
||||
mv /opt/planka-backup/.env /opt/planka/
|
||||
[ -n "$(ls -A /opt/planka-backup/favicons 2>/dev/null)" ] && mv /opt/planka-backup/favicons/* /opt/planka/public/favicons/
|
||||
[ -n "$(ls -A /opt/planka-backup/user-avatars 2>/dev/null)" ] && mv /opt/planka-backup/user-avatars/* /opt/planka/public/user-avatars/
|
||||
[ -n "$(ls -A /opt/planka-backup/background-images 2>/dev/null)" ] && mv /opt/planka-backup/background-images/* /opt/planka/public/background-images/
|
||||
[ -n "$(ls -A /opt/planka-backup/attachments 2>/dev/null)" ] && mv /opt/planka-backup/attachments/* /opt/planka/private/attachments/
|
||||
msg_ok "Updated $APP to ${RELEASE}"
|
||||
[ -d /opt/planka-backup/favicons ] && find /opt/planka-backup/favicons -maxdepth 1 -type f -exec mv -t /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 /opt/planka-backup/background-images ] && find /opt/planka-backup/background-images -maxdepth 1 -type f -exec mv -t /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 {} +
|
||||
msg_ok "Restored data"
|
||||
|
||||
msg_info "Starting $APP"
|
||||
systemctl start planka
|
||||
|
@ -3,7 +3,7 @@ source <(curl -fsSL https://raw.githubusercontent.com/community-scripts/ProxmoxV
|
||||
# Copyright (c) 2021-2025 community-scripts ORG
|
||||
# Author: vhsdream
|
||||
# License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE
|
||||
# Source: https://rxresu.me
|
||||
# Source: https://rxresume.org
|
||||
|
||||
APP="Reactive-Resume"
|
||||
var_tags="${var_tags:-documents}"
|
||||
@ -20,80 +20,75 @@ color
|
||||
catch_errors
|
||||
|
||||
function update_script() {
|
||||
header_info
|
||||
check_container_storage
|
||||
check_container_resources
|
||||
header_info
|
||||
check_container_storage
|
||||
check_container_resources
|
||||
|
||||
if [[ ! -f /etc/systemd/system/Reactive-Resume.service ]]; then
|
||||
msg_error "No ${APP} Installation Found!"
|
||||
exit
|
||||
fi
|
||||
RELEASE=$(curl -fsSL https://api.github.com/repos/AmruthPillai/Reactive-Resume/releases/latest | grep "tag_name" | awk '{print substr($2, 3, length($2)-4) }')
|
||||
if [[ "${RELEASE}" != "$(cat /opt/${APP}_version.txt)" ]] || [[ ! -f /opt/${APP}_version.txt ]]; then
|
||||
msg_info "Stopping services"
|
||||
systemctl stop Reactive-Resume
|
||||
msg_ok "Stopped services"
|
||||
|
||||
msg_info "Updating $APP to v${RELEASE}"
|
||||
cp /opt/${APP}/.env /opt/rxresume.env
|
||||
res_tmp=$(mktemp)
|
||||
rm -rf /opt/${APP}
|
||||
curl -fsSL "https://github.com/AmruthPillai/Reactive-Resume/archive/refs/tags/v${RELEASE}.zip" -O $res_tmp
|
||||
$STD unzip $res_tmp
|
||||
mv ${APP}-${RELEASE}/ /opt/${APP}
|
||||
cd /opt/${APP}
|
||||
export PUPPETEER_SKIP_DOWNLOAD="true"
|
||||
export NEXT_TELEMETRY_DISABLED=1
|
||||
export CI="true"
|
||||
export NODE_ENV="production"
|
||||
$STD pnpm install --frozen-lockfile
|
||||
$STD pnpm run build
|
||||
$STD pnpm run prisma:generate
|
||||
mv /opt/rxresume.env /opt/${APP}/.env
|
||||
msg_ok "Updated $APP to v${RELEASE}"
|
||||
|
||||
msg_info "Updating Minio"
|
||||
systemctl stop minio
|
||||
cd /tmp
|
||||
curl -fsSL https://dl.min.io/server/minio/release/linux-amd64/minio.deb -o minio.deb
|
||||
$STD dpkg -i minio.deb
|
||||
msg_ok "Updated Minio"
|
||||
|
||||
msg_info "Updating Browserless (Patience)"
|
||||
systemctl stop browserless
|
||||
cp /opt/browserless/.env /opt/browserless.env
|
||||
rm -rf browserless
|
||||
brwsr_tmp=$(mktemp)
|
||||
TAG=$(curl -fsSL https://api.github.com/repos/browserless/browserless/tags?per_page=1 | grep "name" | awk '{print substr($2, 3, length($2)-4) }')
|
||||
curl -fsSL https://github.com/browserless/browserless/archive/refs/tags/v${TAG}.zip -O $brwsr_tmp
|
||||
$STD unzip $brwsr_tmp
|
||||
mv browserless-${TAG}/ /opt/browserless
|
||||
cd /opt/browserless
|
||||
$STD npm install
|
||||
rm -rf src/routes/{chrome,edge,firefox,webkit}
|
||||
$STD node_modules/playwright-core/cli.js install --with-deps chromium
|
||||
$STD npm run build
|
||||
$STD npm run build:function
|
||||
$STD npm prune production
|
||||
mv /opt/browserless.env /opt/browserless/.env
|
||||
msg_ok "Updated Browserless"
|
||||
|
||||
msg_info "Restarting services"
|
||||
systemctl start minio Reactive-Resume browserless
|
||||
msg_ok "Restarted services"
|
||||
|
||||
msg_info "Cleaning Up"
|
||||
rm -f /tmp/minio.deb
|
||||
rm -f $brwsr_tmp
|
||||
rm -f $res_tmp
|
||||
msg_ok "Cleanup Completed"
|
||||
|
||||
echo "${RELEASE}" >/opt/${APP}_version.txt
|
||||
msg_ok "Update Successful"
|
||||
else
|
||||
msg_ok "No update required. ${APP} is already at v${RELEASE}"
|
||||
fi
|
||||
if [[ ! -f /etc/systemd/system/Reactive-Resume.service ]]; then
|
||||
msg_error "No $APP Installation Found!"
|
||||
exit
|
||||
fi
|
||||
RELEASE=$(curl -fsSL https://api.github.com/repos/lazy-media/Reactive-Resume/releases/latest | grep "tag_name" | awk '{print substr($2, 2, length($2)-3) }')
|
||||
if [[ ! -f "$HOME"/.reactive-resume ]] || [[ "$RELEASE" != "$(cat "$HOME"/.reactive-resume)" ]]; then
|
||||
msg_info "Stopping services"
|
||||
systemctl stop Reactive-Resume
|
||||
msg_ok "Stopped services"
|
||||
|
||||
cp /opt/"$APP"/.env /opt/rxresume.env
|
||||
rm -rf /opt/"$APP"
|
||||
fetch_and_deploy_gh_release "Reactive-Resume" "lazy-media/Reactive-Resume"
|
||||
msg_info "Updating $APP to v${RELEASE}"
|
||||
cd /opt/"$APP"
|
||||
export PUPPETEER_SKIP_DOWNLOAD="true"
|
||||
export NEXT_TELEMETRY_DISABLED=1
|
||||
export CI="true"
|
||||
export NODE_ENV="production"
|
||||
$STD pnpm install --frozen-lockfile
|
||||
$STD pnpm run build
|
||||
$STD pnpm run prisma:generate
|
||||
mv /opt/rxresume.env /opt/"$APP"/.env
|
||||
msg_ok "Updated $APP to v${RELEASE}"
|
||||
|
||||
msg_info "Updating Minio"
|
||||
systemctl stop minio
|
||||
cd /tmp
|
||||
curl -fsSL https://dl.min.io/server/minio/release/linux-amd64/minio.deb -o minio.deb
|
||||
$STD dpkg -i minio.deb
|
||||
msg_ok "Updated Minio"
|
||||
|
||||
msg_info "Updating Browserless (Patience)"
|
||||
systemctl stop browserless
|
||||
cp /opt/browserless/.env /opt/browserless.env
|
||||
rm -rf /opt/browserless
|
||||
brwsr_tmp=$(mktemp)
|
||||
TAG=$(curl -fsSL https://api.github.com/repos/browserless/browserless/tags?per_page=1 | grep "name" | awk '{print substr($2, 3, length($2)-4) }')
|
||||
curl -fsSL https://github.com/browserless/browserless/archive/refs/tags/v"$TAG".zip -o "$brwsr_tmp"
|
||||
$STD unzip "$brwsr_tmp"
|
||||
mv browserless-"$TAG"/ /opt/browserless
|
||||
cd /opt/browserless
|
||||
$STD npm install
|
||||
rm -rf src/routes/{chrome,edge,firefox,webkit}
|
||||
$STD node_modules/playwright-core/cli.js install --with-deps chromium
|
||||
$STD npm run build
|
||||
$STD npm run build:function
|
||||
$STD npm prune production
|
||||
mv /opt/browserless.env /opt/browserless/.env
|
||||
msg_ok "Updated Browserless"
|
||||
|
||||
msg_info "Restarting services"
|
||||
systemctl start minio Reactive-Resume browserless
|
||||
msg_ok "Restarted services"
|
||||
|
||||
msg_info "Cleaning Up"
|
||||
rm -f /tmp/minio.deb
|
||||
rm -f "$brwsr_tmp"
|
||||
msg_ok "Cleanup Completed"
|
||||
|
||||
msg_ok "Update Successful"
|
||||
else
|
||||
msg_ok "No update required. $APP is already at v{$RELEASE}"
|
||||
fi
|
||||
exit
|
||||
}
|
||||
|
||||
start
|
||||
|
40
frontend/public/json/cloudreve.json
Normal file
40
frontend/public/json/cloudreve.json
Normal file
@ -0,0 +1,40 @@
|
||||
{
|
||||
"name": "Cloudreve",
|
||||
"slug": "cloudreve",
|
||||
"categories": [
|
||||
12
|
||||
],
|
||||
"date_created": "2025-07-17",
|
||||
"type": "ct",
|
||||
"updateable": true,
|
||||
"privileged": false,
|
||||
"interface_port": 5212,
|
||||
"documentation": "https://docs.cloudreve.org/en/",
|
||||
"website": "https://cloudreve.org/",
|
||||
"logo": "https://cdn.jsdelivr.net/gh/selfhst/icons/webp/cloudreve.webp",
|
||||
"config_path": "/opt/cloudreve/data/conf.ini",
|
||||
"description": "Cloudreve is an open-source, community-driven cloud storage system that provides file sharing, synchronization, and management features. It supports a wide range of storage backends and integrates with various notification and logging platforms.",
|
||||
"install_methods": [
|
||||
{
|
||||
"type": "default",
|
||||
"script": "ct/cloudreve.sh",
|
||||
"resources": {
|
||||
"cpu": 1,
|
||||
"ram": 1024,
|
||||
"hdd": 10,
|
||||
"os": "Debian",
|
||||
"version": "12"
|
||||
}
|
||||
}
|
||||
],
|
||||
"default_credentials": {
|
||||
"username": null,
|
||||
"password": null
|
||||
},
|
||||
"notes": [
|
||||
{
|
||||
"text": "After Installation: Register your user -> Login -> Dashboard -> Accept Primary URL.",
|
||||
"type": "warn"
|
||||
}
|
||||
]
|
||||
}
|
@ -9,7 +9,7 @@
|
||||
"updateable": true,
|
||||
"privileged": false,
|
||||
"config_path": "/opt/mealie/mealie.env",
|
||||
"interface_port": 3000,
|
||||
"interface_port": 9000,
|
||||
"documentation": "https://mealie.io/",
|
||||
"website": "https://mealie.io/",
|
||||
"logo": "https://cdn.jsdelivr.net/gh/selfhst/icons/webp/mealie.webp",
|
||||
|
@ -9,8 +9,8 @@
|
||||
"updateable": true,
|
||||
"privileged": false,
|
||||
"interface_port": 3000,
|
||||
"documentation": "https://docs.rxresu.me/",
|
||||
"website": "https://rxresu.me",
|
||||
"documentation": "https://docs.rxresume.org/",
|
||||
"website": "https://rxresume.org",
|
||||
"logo": "https://cdn.jsdelivr.net/gh/selfhst/icons/png/reactive-resume-light.png",
|
||||
"config_path": "/opt/reactive-resume/.env",
|
||||
"description": "A one-of-a-kind resume builder that keeps your privacy in mind. Completely secure, customizable, portable, open-source and free forever.",
|
||||
|
@ -1,93 +1,28 @@
|
||||
[
|
||||
{
|
||||
"name": "steveiliop56/tinyauth",
|
||||
"version": "v3.6.1",
|
||||
"date": "2025-07-12T13:41:57Z"
|
||||
},
|
||||
{
|
||||
"name": "rcourtman/Pulse",
|
||||
"version": "v3.42.0",
|
||||
"date": "2025-07-14T22:07:28Z"
|
||||
},
|
||||
{
|
||||
"name": "pi-hole/pi-hole",
|
||||
"version": "v6.1.4",
|
||||
"date": "2025-07-14T21:22:17Z"
|
||||
},
|
||||
{
|
||||
"name": "ipfs/kubo",
|
||||
"version": "v0.36.0",
|
||||
"date": "2025-07-14T18:59:57Z"
|
||||
},
|
||||
{
|
||||
"name": "esphome/esphome",
|
||||
"version": "2025.6.3",
|
||||
"date": "2025-07-03T01:07:26Z"
|
||||
},
|
||||
{
|
||||
"name": "open-webui/open-webui",
|
||||
"version": "v0.6.16",
|
||||
"date": "2025-07-14T17:39:38Z"
|
||||
},
|
||||
{
|
||||
"name": "prometheus/prometheus",
|
||||
"version": "v3.5.0",
|
||||
"date": "2025-07-14T16:54:21Z"
|
||||
},
|
||||
{
|
||||
"name": "Paymenter/Paymenter",
|
||||
"version": "v1.2.3",
|
||||
"date": "2025-07-14T16:28:03Z"
|
||||
},
|
||||
{
|
||||
"name": "n8n-io/n8n",
|
||||
"version": "n8n@1.102.3",
|
||||
"date": "2025-07-14T14:53:08Z"
|
||||
},
|
||||
{
|
||||
"name": "home-assistant/core",
|
||||
"version": "2025.7.2",
|
||||
"date": "2025-07-14T11:29:58Z"
|
||||
},
|
||||
{
|
||||
"name": "theonedev/onedev",
|
||||
"version": "v12.0.0",
|
||||
"date": "2025-07-14T06:19:59Z"
|
||||
},
|
||||
{
|
||||
"name": "wazuh/wazuh",
|
||||
"version": "coverity-w28-4.13.0",
|
||||
"date": "2025-07-08T11:25:24Z"
|
||||
"name": "fallenbagel/jellyseerr",
|
||||
"version": "preview-fix-proxy-interceptors",
|
||||
"date": "2025-07-19T22:14:56Z"
|
||||
},
|
||||
{
|
||||
"name": "Luligu/matterbridge",
|
||||
"version": "3.1.3",
|
||||
"date": "2025-07-14T07:14:31Z"
|
||||
"version": "3.1.5",
|
||||
"date": "2025-07-19T21:50:47Z"
|
||||
},
|
||||
{
|
||||
"name": "morpheus65535/bazarr",
|
||||
"version": "v1.5.3-beta.9",
|
||||
"date": "2025-07-14T06:07:20Z"
|
||||
"name": "ellite/Wallos",
|
||||
"version": "v3.3.1",
|
||||
"date": "2025-07-19T20:51:00Z"
|
||||
},
|
||||
{
|
||||
"name": "Jackett/Jackett",
|
||||
"version": "v0.22.2154",
|
||||
"date": "2025-07-14T06:00:33Z"
|
||||
"name": "pelican-dev/panel",
|
||||
"version": "v1.0.0-beta23",
|
||||
"date": "2025-07-19T19:49:28Z"
|
||||
},
|
||||
{
|
||||
"name": "firefly-iii/firefly-iii",
|
||||
"version": "v6.2.20",
|
||||
"date": "2025-07-02T04:03:37Z"
|
||||
},
|
||||
{
|
||||
"name": "homebridge/homebridge",
|
||||
"version": "v1.11.0",
|
||||
"date": "2025-07-13T19:22:47Z"
|
||||
},
|
||||
{
|
||||
"name": "wavelog/wavelog",
|
||||
"version": "2.0.6",
|
||||
"date": "2025-07-13T19:10:15Z"
|
||||
"name": "pelican-dev/wings",
|
||||
"version": "v1.0.0-beta15",
|
||||
"date": "2025-07-19T19:46:52Z"
|
||||
},
|
||||
{
|
||||
"name": "MediaBrowser/Emby.Releases",
|
||||
@ -95,14 +30,309 @@
|
||||
"date": "2025-06-26T22:08:00Z"
|
||||
},
|
||||
{
|
||||
"name": "openhab/openhab-core",
|
||||
"version": "5.0.0.M4",
|
||||
"date": "2025-07-13T16:04:39Z"
|
||||
"name": "open-webui/open-webui",
|
||||
"version": "v0.6.18",
|
||||
"date": "2025-07-19T19:26:14Z"
|
||||
},
|
||||
{
|
||||
"name": "msgbyte/tianji",
|
||||
"version": "v1.23.5",
|
||||
"date": "2025-07-13T15:23:02Z"
|
||||
"version": "v1.24.3",
|
||||
"date": "2025-07-19T13:12:44Z"
|
||||
},
|
||||
{
|
||||
"name": "bunkerity/bunkerweb",
|
||||
"version": "v1.6.2",
|
||||
"date": "2025-07-08T13:52:33Z"
|
||||
},
|
||||
{
|
||||
"name": "pocketbase/pocketbase",
|
||||
"version": "v0.29.0",
|
||||
"date": "2025-07-19T08:54:54Z"
|
||||
},
|
||||
{
|
||||
"name": "Paymenter/Paymenter",
|
||||
"version": "v1.2.4",
|
||||
"date": "2025-07-19T07:42:25Z"
|
||||
},
|
||||
{
|
||||
"name": "morpheus65535/bazarr",
|
||||
"version": "v1.5.3-beta.10",
|
||||
"date": "2025-07-15T06:07:03Z"
|
||||
},
|
||||
{
|
||||
"name": "Jackett/Jackett",
|
||||
"version": "v0.22.2165",
|
||||
"date": "2025-07-19T05:55:51Z"
|
||||
},
|
||||
{
|
||||
"name": "steveiliop56/tinyauth",
|
||||
"version": "v3.6.2",
|
||||
"date": "2025-07-17T12:08:03Z"
|
||||
},
|
||||
{
|
||||
"name": "esphome/esphome",
|
||||
"version": "2025.7.2",
|
||||
"date": "2025-07-19T00:05:00Z"
|
||||
},
|
||||
{
|
||||
"name": "minio/minio",
|
||||
"version": "RELEASE.2025-07-18T21-56-31Z",
|
||||
"date": "2025-07-18T23:56:46Z"
|
||||
},
|
||||
{
|
||||
"name": "Brandawg93/PeaNUT",
|
||||
"version": "v5.9.4",
|
||||
"date": "2025-07-18T21:50:31Z"
|
||||
},
|
||||
{
|
||||
"name": "rcourtman/Pulse",
|
||||
"version": "v3.42.0",
|
||||
"date": "2025-07-14T22:07:28Z"
|
||||
},
|
||||
{
|
||||
"name": "keycloak/keycloak",
|
||||
"version": "26.2.6",
|
||||
"date": "2025-07-17T11:16:34Z"
|
||||
},
|
||||
{
|
||||
"name": "homarr-labs/homarr",
|
||||
"version": "v1.29.0",
|
||||
"date": "2025-07-18T19:17:21Z"
|
||||
},
|
||||
{
|
||||
"name": "theonedev/onedev",
|
||||
"version": "v12.0.1",
|
||||
"date": "2025-07-18T15:02:25Z"
|
||||
},
|
||||
{
|
||||
"name": "TandoorRecipes/recipes",
|
||||
"version": "1.5.35",
|
||||
"date": "2025-06-22T08:30:10Z"
|
||||
},
|
||||
{
|
||||
"name": "openhab/openhab-core",
|
||||
"version": "5.0.0.RC1",
|
||||
"date": "2025-07-18T13:17:28Z"
|
||||
},
|
||||
{
|
||||
"name": "wazuh/wazuh",
|
||||
"version": "coverity-w29-4.13.0",
|
||||
"date": "2025-07-16T12:35:22Z"
|
||||
},
|
||||
{
|
||||
"name": "n8n-io/n8n",
|
||||
"version": "n8n@1.102.4",
|
||||
"date": "2025-07-17T11:27:58Z"
|
||||
},
|
||||
{
|
||||
"name": "emqx/emqx",
|
||||
"version": "e6.0.0-M1.202507-rc.1",
|
||||
"date": "2025-07-18T07:48:52Z"
|
||||
},
|
||||
{
|
||||
"name": "meilisearch/meilisearch",
|
||||
"version": "prototype-chat-completions-with-filters-0",
|
||||
"date": "2025-07-16T08:54:57Z"
|
||||
},
|
||||
{
|
||||
"name": "ollama/ollama",
|
||||
"version": "v0.9.7-rc1",
|
||||
"date": "2025-07-11T22:15:00Z"
|
||||
},
|
||||
{
|
||||
"name": "cross-seed/cross-seed",
|
||||
"version": "v6.13.1",
|
||||
"date": "2025-07-17T21:36:42Z"
|
||||
},
|
||||
{
|
||||
"name": "coder/code-server",
|
||||
"version": "v4.102.1",
|
||||
"date": "2025-07-17T21:20:36Z"
|
||||
},
|
||||
{
|
||||
"name": "duplicati/duplicati",
|
||||
"version": "v2.1.1.0-2.1.1.0_experimental_2025-07-17",
|
||||
"date": "2025-07-17T20:11:33Z"
|
||||
},
|
||||
{
|
||||
"name": "grafana/grafana",
|
||||
"version": "v12.0.2+security-01",
|
||||
"date": "2025-07-17T19:13:19Z"
|
||||
},
|
||||
{
|
||||
"name": "jhuckaby/Cronicle",
|
||||
"version": "v0.9.83",
|
||||
"date": "2025-07-17T17:48:01Z"
|
||||
},
|
||||
{
|
||||
"name": "mongodb/mongo",
|
||||
"version": "r8.0.12",
|
||||
"date": "2025-07-17T17:43:01Z"
|
||||
},
|
||||
{
|
||||
"name": "wavelog/wavelog",
|
||||
"version": "2.0.7",
|
||||
"date": "2025-07-17T15:33:14Z"
|
||||
},
|
||||
{
|
||||
"name": "forgejo/forgejo",
|
||||
"version": "v12.0.0",
|
||||
"date": "2025-07-17T14:38:30Z"
|
||||
},
|
||||
{
|
||||
"name": "linuxserver/Heimdall",
|
||||
"version": "v2.7.0",
|
||||
"date": "2025-07-17T14:08:16Z"
|
||||
},
|
||||
{
|
||||
"name": "oauth2-proxy/oauth2-proxy",
|
||||
"version": "v7.10.0",
|
||||
"date": "2025-07-17T12:08:40Z"
|
||||
},
|
||||
{
|
||||
"name": "icereed/paperless-gpt",
|
||||
"version": "v0.22.0",
|
||||
"date": "2025-07-17T06:35:43Z"
|
||||
},
|
||||
{
|
||||
"name": "firefly-iii/firefly-iii",
|
||||
"version": "v6.2.21",
|
||||
"date": "2025-07-17T04:46:25Z"
|
||||
},
|
||||
{
|
||||
"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": "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": "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": "sbondCo/Watcharr",
|
||||
"version": "v2.1.1",
|
||||
"date": "2025-07-15T22:38:01Z"
|
||||
},
|
||||
{
|
||||
"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": "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": "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": "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": "pi-hole/pi-hole",
|
||||
"version": "v6.1.4",
|
||||
"date": "2025-07-14T21:22:17Z"
|
||||
},
|
||||
{
|
||||
"name": "postgres/postgres",
|
||||
"version": "REL_18_BETA2",
|
||||
"date": "2025-07-14T20:12:49Z"
|
||||
},
|
||||
{
|
||||
"name": "ipfs/kubo",
|
||||
"version": "v0.36.0",
|
||||
"date": "2025-07-14T18:59:57Z"
|
||||
},
|
||||
{
|
||||
"name": "prometheus/prometheus",
|
||||
"version": "v3.5.0",
|
||||
"date": "2025-07-14T16:54:21Z"
|
||||
},
|
||||
{
|
||||
"name": "home-assistant/core",
|
||||
"version": "2025.7.2",
|
||||
"date": "2025-07-14T11:29:58Z"
|
||||
},
|
||||
{
|
||||
"name": "homebridge/homebridge",
|
||||
"version": "v1.11.0",
|
||||
"date": "2025-07-13T19:22:47Z"
|
||||
},
|
||||
{
|
||||
"name": "mayswind/AriaNg",
|
||||
@ -134,76 +364,26 @@
|
||||
"version": "v4.47.1",
|
||||
"date": "2025-01-05T21:14:23Z"
|
||||
},
|
||||
{
|
||||
"name": "dgtlmoon/changedetection.io",
|
||||
"version": "0.50.6",
|
||||
"date": "2025-07-12T19:52:52Z"
|
||||
},
|
||||
{
|
||||
"name": "advplyr/audiobookshelf",
|
||||
"version": "v2.26.0",
|
||||
"date": "2025-07-12T19:31:21Z"
|
||||
},
|
||||
{
|
||||
"name": "jellyfin/jellyfin",
|
||||
"version": "v10.10.7",
|
||||
"date": "2025-04-05T19:14:59Z"
|
||||
},
|
||||
{
|
||||
"name": "cross-seed/cross-seed",
|
||||
"version": "v6.13.0",
|
||||
"date": "2025-07-12T15:52:03Z"
|
||||
},
|
||||
{
|
||||
"name": "blakeblackshear/frigate",
|
||||
"version": "v0.14.1",
|
||||
"date": "2024-08-29T22:32:51Z"
|
||||
},
|
||||
{
|
||||
"name": "homarr-labs/homarr",
|
||||
"version": "v1.28.1",
|
||||
"date": "2025-07-12T08:50:59Z"
|
||||
},
|
||||
{
|
||||
"name": "fallenbagel/jellyseerr",
|
||||
"version": "preview-seerr",
|
||||
"date": "2025-07-12T08:15:55Z"
|
||||
},
|
||||
{
|
||||
"name": "leiweibau/Pi.Alert",
|
||||
"version": "v2025-07-12",
|
||||
"date": "2025-07-12T07:53:52Z"
|
||||
},
|
||||
{
|
||||
"name": "keycloak/keycloak",
|
||||
"version": "26.3.1",
|
||||
"date": "2025-07-09T15:41:43Z"
|
||||
},
|
||||
{
|
||||
"name": "fuma-nama/fumadocs",
|
||||
"version": "fumadocs-openapi@9.1.2",
|
||||
"date": "2025-07-12T03:58:47Z"
|
||||
},
|
||||
{
|
||||
"name": "eclipse-mosquitto/mosquitto",
|
||||
"version": "v2.0.22",
|
||||
"date": "2025-07-11T21:34:20Z"
|
||||
},
|
||||
{
|
||||
"name": "mongodb/mongo",
|
||||
"version": "r8.2.0-alpha0",
|
||||
"date": "2025-07-11T21:06:26Z"
|
||||
},
|
||||
{
|
||||
"name": "duplicati/duplicati",
|
||||
"version": "v2.1.0.124-2.1.0.124_canary_2025-07-11",
|
||||
"date": "2025-07-11T20:09:08Z"
|
||||
},
|
||||
{
|
||||
"name": "TandoorRecipes/recipes",
|
||||
"version": "1.5.35",
|
||||
"date": "2025-06-22T08:30:10Z"
|
||||
},
|
||||
{
|
||||
"name": "neo4j/neo4j",
|
||||
"version": "2025.06.2",
|
||||
@ -219,11 +399,6 @@
|
||||
"version": "v10.9.0",
|
||||
"date": "2025-07-11T12:57:54Z"
|
||||
},
|
||||
{
|
||||
"name": "zitadel/zitadel",
|
||||
"version": "v3.3.1",
|
||||
"date": "2025-07-11T11:51:48Z"
|
||||
},
|
||||
{
|
||||
"name": "traefik/traefik",
|
||||
"version": "v3.4.4",
|
||||
@ -244,11 +419,6 @@
|
||||
"version": "v0.85.1",
|
||||
"date": "2025-07-11T01:17:53Z"
|
||||
},
|
||||
{
|
||||
"name": "jenkinsci/jenkins",
|
||||
"version": "jenkins-2.518",
|
||||
"date": "2025-07-08T13:52:55Z"
|
||||
},
|
||||
{
|
||||
"name": "LibreTranslate/LibreTranslate",
|
||||
"version": "v1.7.2",
|
||||
@ -259,26 +429,11 @@
|
||||
"version": "v2.13.0",
|
||||
"date": "2025-07-10T19:27:54Z"
|
||||
},
|
||||
{
|
||||
"name": "ollama/ollama",
|
||||
"version": "v0.9.6",
|
||||
"date": "2025-07-08T01:26:29Z"
|
||||
},
|
||||
{
|
||||
"name": "forgejo/forgejo",
|
||||
"version": "v11.0.3",
|
||||
"date": "2025-07-10T13:12:00Z"
|
||||
},
|
||||
{
|
||||
"name": "crowdsecurity/crowdsec",
|
||||
"version": "v1.6.10",
|
||||
"date": "2025-07-10T12:04:30Z"
|
||||
},
|
||||
{
|
||||
"name": "meilisearch/meilisearch",
|
||||
"version": "prototype-incremental-vector-store-3",
|
||||
"date": "2025-07-07T10:27:19Z"
|
||||
},
|
||||
{
|
||||
"name": "pocket-id/pocket-id",
|
||||
"version": "v1.6.2",
|
||||
@ -324,11 +479,6 @@
|
||||
"version": "16.0",
|
||||
"date": "2025-07-09T13:28:43Z"
|
||||
},
|
||||
{
|
||||
"name": "element-hq/synapse",
|
||||
"version": "v1.133.0",
|
||||
"date": "2025-07-01T15:13:42Z"
|
||||
},
|
||||
{
|
||||
"name": "AdguardTeam/AdGuardHome",
|
||||
"version": "v0.107.63",
|
||||
@ -364,21 +514,11 @@
|
||||
"version": "v5.20.0",
|
||||
"date": "2025-07-08T16:27:11Z"
|
||||
},
|
||||
{
|
||||
"name": "bunkerity/bunkerweb",
|
||||
"version": "v1.6.2",
|
||||
"date": "2025-07-08T13:52:33Z"
|
||||
},
|
||||
{
|
||||
"name": "docker/compose",
|
||||
"version": "v2.38.2",
|
||||
"date": "2025-07-08T09:35:14Z"
|
||||
},
|
||||
{
|
||||
"name": "Checkmk/checkmk",
|
||||
"version": "v2.4.0p7",
|
||||
"date": "2025-07-08T05:51:08Z"
|
||||
},
|
||||
{
|
||||
"name": "VictoriaMetrics/VictoriaMetrics",
|
||||
"version": "pmm-6401-v1.121.0",
|
||||
@ -409,16 +549,6 @@
|
||||
"version": "0.23.1",
|
||||
"date": "2025-07-06T23:57:52Z"
|
||||
},
|
||||
{
|
||||
"name": "pelican-dev/panel",
|
||||
"version": "v1.0.0-beta22",
|
||||
"date": "2025-07-06T21:16:00Z"
|
||||
},
|
||||
{
|
||||
"name": "pelican-dev/wings",
|
||||
"version": "v1.0.0-beta14",
|
||||
"date": "2025-07-06T21:07:07Z"
|
||||
},
|
||||
{
|
||||
"name": "bluenviron/mediamtx",
|
||||
"version": "v1.13.0",
|
||||
@ -454,16 +584,6 @@
|
||||
"version": "v4.3.0",
|
||||
"date": "2025-07-05T12:14:52Z"
|
||||
},
|
||||
{
|
||||
"name": "linkwarden/linkwarden",
|
||||
"version": "v2.11.3",
|
||||
"date": "2025-07-05T04:34:46Z"
|
||||
},
|
||||
{
|
||||
"name": "emqx/emqx",
|
||||
"version": "e6.0.0-M1.202507-alpha.1",
|
||||
"date": "2025-07-04T14:58:23Z"
|
||||
},
|
||||
{
|
||||
"name": "kimai/kimai",
|
||||
"version": "2.37.0",
|
||||
@ -504,11 +624,6 @@
|
||||
"version": "2.5.1",
|
||||
"date": "2025-07-02T19:38:06Z"
|
||||
},
|
||||
{
|
||||
"name": "glpi-project/glpi",
|
||||
"version": "10.0.18",
|
||||
"date": "2025-02-12T11:07:02Z"
|
||||
},
|
||||
{
|
||||
"name": "apache/tomcat",
|
||||
"version": "9.0.107",
|
||||
@ -549,11 +664,6 @@
|
||||
"version": "v0.57.0",
|
||||
"date": "2025-07-01T16:47:46Z"
|
||||
},
|
||||
{
|
||||
"name": "zabbix/zabbix",
|
||||
"version": "7.4.0",
|
||||
"date": "2025-07-01T04:36:51Z"
|
||||
},
|
||||
{
|
||||
"name": "openobserve/openobserve",
|
||||
"version": "v0.15.0-rc3",
|
||||
@ -564,11 +674,6 @@
|
||||
"version": "v2.32.0",
|
||||
"date": "2025-06-30T22:12:48Z"
|
||||
},
|
||||
{
|
||||
"name": "jhuckaby/Cronicle",
|
||||
"version": "v0.9.81",
|
||||
"date": "2025-06-30T16:40:33Z"
|
||||
},
|
||||
{
|
||||
"name": "jupyter/notebook",
|
||||
"version": "v7.4.4",
|
||||
@ -584,11 +689,6 @@
|
||||
"version": "v29.0",
|
||||
"date": "2025-06-30T03:52:33Z"
|
||||
},
|
||||
{
|
||||
"name": "plexguide/Huntarr.io",
|
||||
"version": "8.1.11",
|
||||
"date": "2025-06-28T03:42:46Z"
|
||||
},
|
||||
{
|
||||
"name": "tobychui/zoraxy",
|
||||
"version": "v3.2.4",
|
||||
@ -599,11 +699,6 @@
|
||||
"version": "version/2025.6.3",
|
||||
"date": "2025-06-27T14:01:06Z"
|
||||
},
|
||||
{
|
||||
"name": "netbox-community/netbox",
|
||||
"version": "v4.3.3",
|
||||
"date": "2025-06-26T18:42:56Z"
|
||||
},
|
||||
{
|
||||
"name": "tailscale/tailscale",
|
||||
"version": "v1.84.3",
|
||||
@ -619,11 +714,6 @@
|
||||
"version": "v1.6.1",
|
||||
"date": "2025-06-25T21:19:25Z"
|
||||
},
|
||||
{
|
||||
"name": "coder/code-server",
|
||||
"version": "v4.101.2",
|
||||
"date": "2025-06-25T21:18:52Z"
|
||||
},
|
||||
{
|
||||
"name": "moghtech/komodo",
|
||||
"version": "v1.18.4",
|
||||
@ -639,16 +729,6 @@
|
||||
"version": "v2.18.0",
|
||||
"date": "2025-06-24T08:29:55Z"
|
||||
},
|
||||
{
|
||||
"name": "minio/minio",
|
||||
"version": "RELEASE.2025-06-13T11-33-47Z",
|
||||
"date": "2025-06-23T20:58:42Z"
|
||||
},
|
||||
{
|
||||
"name": "gotson/komga",
|
||||
"version": "1.22.0",
|
||||
"date": "2025-06-23T03:11:37Z"
|
||||
},
|
||||
{
|
||||
"name": "clusterzx/paperless-ai",
|
||||
"version": "v3.0.7",
|
||||
@ -664,16 +744,6 @@
|
||||
"version": "v2.0.114",
|
||||
"date": "2025-06-21T11:20:21Z"
|
||||
},
|
||||
{
|
||||
"name": "pocketbase/pocketbase",
|
||||
"version": "v0.28.4",
|
||||
"date": "2025-06-21T08:29:04Z"
|
||||
},
|
||||
{
|
||||
"name": "go-gitea/gitea",
|
||||
"version": "v1.24.2",
|
||||
"date": "2025-06-20T20:37:55Z"
|
||||
},
|
||||
{
|
||||
"name": "immich-app/immich",
|
||||
"version": "v1.135.3",
|
||||
@ -694,11 +764,6 @@
|
||||
"version": "v2.17.1",
|
||||
"date": "2025-06-19T19:35:01Z"
|
||||
},
|
||||
{
|
||||
"name": "icereed/paperless-gpt",
|
||||
"version": "v0.21.0",
|
||||
"date": "2025-06-19T11:54:59Z"
|
||||
},
|
||||
{
|
||||
"name": "prometheus-pve/prometheus-pve-exporter",
|
||||
"version": "v3.5.5",
|
||||
@ -729,11 +794,6 @@
|
||||
"version": "2.0.0-pre3",
|
||||
"date": "2025-06-18T08:01:24Z"
|
||||
},
|
||||
{
|
||||
"name": "grafana/grafana",
|
||||
"version": "v11.5.6",
|
||||
"date": "2025-06-17T22:00:40Z"
|
||||
},
|
||||
{
|
||||
"name": "project-zot/zot",
|
||||
"version": "v2.1.5",
|
||||
@ -799,16 +859,6 @@
|
||||
"version": "v0.8.4",
|
||||
"date": "2025-06-10T07:57:14Z"
|
||||
},
|
||||
{
|
||||
"name": "Brandawg93/PeaNUT",
|
||||
"version": "v5.8.0",
|
||||
"date": "2025-06-09T16:08:33Z"
|
||||
},
|
||||
{
|
||||
"name": "ellite/Wallos",
|
||||
"version": "v3.3.0",
|
||||
"date": "2025-06-09T15:58:04Z"
|
||||
},
|
||||
{
|
||||
"name": "seanmorley15/AdventureLog",
|
||||
"version": "v0.10.0",
|
||||
@ -839,11 +889,6 @@
|
||||
"version": "v0.26.1",
|
||||
"date": "2025-06-06T11:22:02Z"
|
||||
},
|
||||
{
|
||||
"name": "benjaminjonard/koillection",
|
||||
"version": "1.6.14",
|
||||
"date": "2025-06-05T16:40:52Z"
|
||||
},
|
||||
{
|
||||
"name": "MariaDB/server",
|
||||
"version": "mariadb-11.8.2",
|
||||
@ -869,16 +914,6 @@
|
||||
"version": "1.26.3",
|
||||
"date": "2025-06-02T22:00:14Z"
|
||||
},
|
||||
{
|
||||
"name": "usememos/memos",
|
||||
"version": "v0.24.4",
|
||||
"date": "2025-06-02T02:49:05Z"
|
||||
},
|
||||
{
|
||||
"name": "gethomepage/homepage",
|
||||
"version": "v1.3.2",
|
||||
"date": "2025-06-01T19:02:46Z"
|
||||
},
|
||||
{
|
||||
"name": "release-argus/Argus",
|
||||
"version": "0.26.3",
|
||||
@ -924,11 +959,6 @@
|
||||
"version": "0.5",
|
||||
"date": "2025-05-21T20:19:14Z"
|
||||
},
|
||||
{
|
||||
"name": "sbondCo/Watcharr",
|
||||
"version": "v2.1.0",
|
||||
"date": "2025-05-18T18:20:43Z"
|
||||
},
|
||||
{
|
||||
"name": "YunoHost/yunohost",
|
||||
"version": "debian/12.1.6.1",
|
||||
@ -979,31 +1009,16 @@
|
||||
"version": "v1.8.1",
|
||||
"date": "2025-05-06T04:27:00Z"
|
||||
},
|
||||
{
|
||||
"name": "postgres/postgres",
|
||||
"version": "REL_13_21",
|
||||
"date": "2025-05-05T20:34:49Z"
|
||||
},
|
||||
{
|
||||
"name": "apache/couchdb",
|
||||
"version": "3.5.0",
|
||||
"date": "2025-05-05T16:28:24Z"
|
||||
},
|
||||
{
|
||||
"name": "WordPress/WordPress",
|
||||
"version": "6.8.1",
|
||||
"date": "2025-04-30T16:44:16Z"
|
||||
},
|
||||
{
|
||||
"name": "deluge-torrent/deluge",
|
||||
"version": "deluge-2.2.0",
|
||||
"date": "2025-04-28T21:31:06Z"
|
||||
},
|
||||
{
|
||||
"name": "oauth2-proxy/oauth2-proxy",
|
||||
"version": "v7.9.0",
|
||||
"date": "2025-04-28T16:28:42Z"
|
||||
},
|
||||
{
|
||||
"name": "gotify/server",
|
||||
"version": "v2.6.3",
|
||||
@ -1019,11 +1034,6 @@
|
||||
"version": "v1.4.0",
|
||||
"date": "2025-04-24T16:20:17Z"
|
||||
},
|
||||
{
|
||||
"name": "NLnetLabs/unbound",
|
||||
"version": "release-1.23.0",
|
||||
"date": "2025-04-24T08:07:21Z"
|
||||
},
|
||||
{
|
||||
"name": "monicahq/monica",
|
||||
"version": "v4.1.2",
|
||||
@ -1204,11 +1214,6 @@
|
||||
"version": "v7.4.1",
|
||||
"date": "2025-02-15T20:54:00Z"
|
||||
},
|
||||
{
|
||||
"name": "TryGhost/Ghost-CLI",
|
||||
"version": "v1.27.0",
|
||||
"date": "2025-02-13T15:55:36Z"
|
||||
},
|
||||
{
|
||||
"name": "actualbudget/actual-server",
|
||||
"version": "v25.2.1",
|
||||
@ -1284,11 +1289,6 @@
|
||||
"version": "v0.4.4",
|
||||
"date": "2024-11-05T23:06:11Z"
|
||||
},
|
||||
{
|
||||
"name": "linuxserver/Heimdall",
|
||||
"version": "v2.6.3",
|
||||
"date": "2024-11-05T11:00:43Z"
|
||||
},
|
||||
{
|
||||
"name": "zerotier/ZeroTierOne",
|
||||
"version": "1.14.2",
|
||||
|
@ -19,7 +19,7 @@ $STD apt-get install -y \
|
||||
nginx
|
||||
msg_ok "Installed Dependencies"
|
||||
|
||||
PHP_VERSION="8.3" PHP_MODULE="common,ctype,fileinfo,fpm,mysql,cli" setup_php
|
||||
PHP_VERSION="8.3" PHP_MODULE="common,ctype,fileinfo,mysql,cli" PHP_FPM="YES" setup_php
|
||||
setup_composer
|
||||
setup_mariadb
|
||||
|
||||
|
@ -71,6 +71,8 @@ msg_ok "Created Service MeiliSearch"
|
||||
msg_info "Installing Bar Assistant"
|
||||
cd /opt/bar-assistant
|
||||
cp /opt/bar-assistant/.env.dist /opt/bar-assistant/.env
|
||||
mkdir -p /opt/bar-assistant/resources/data
|
||||
curl -fsSL https://github.com/bar-assistant/data/archive/refs/heads/v5.tar.gz | tar -xz --strip-components=1 -C /opt/bar-assistant/resources/data
|
||||
MeiliSearch_API_KEY=$(curl -s -X GET 'http://127.0.0.1:7700/keys' -H "Authorization: Bearer $MASTER_KEY" | grep -o '"key":"[^"]*"' | head -n 1 | sed 's/"key":"//;s/"//')
|
||||
MeiliSearch_API_KEY_UID=$(curl -s -X GET 'http://127.0.0.1:7700/keys' -H "Authorization: Bearer $MASTER_KEY" | grep -o '"uid":"[^"]*"' | head -n 1 | sed 's/"uid":"//;s/"//')
|
||||
LOCAL_IP=$(hostname -I | awk '{print $1}')
|
||||
|
43
install/cloudreve-install.sh
Normal file
43
install/cloudreve-install.sh
Normal file
@ -0,0 +1,43 @@
|
||||
#!/usr/bin/env bash
|
||||
|
||||
# Copyright (c) 2021-2025 community-scripts ORG
|
||||
# Author: MickLesk (CanbiZ)
|
||||
# License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE
|
||||
# Source: https://cloudreve.org/
|
||||
|
||||
source /dev/stdin <<<"$FUNCTIONS_FILE_PATH"
|
||||
color
|
||||
verb_ip6
|
||||
catch_errors
|
||||
setting_up_container
|
||||
network_check
|
||||
update_os
|
||||
|
||||
fetch_and_deploy_gh_release "cloudreve" "cloudreve/cloudreve" "prebuild" "latest" "/opt/cloudreve" "*linux_amd64.tar.gz"
|
||||
|
||||
msg_info "Setup Service"
|
||||
cat <<EOF >/etc/systemd/system/cloudreve.service
|
||||
[Unit]
|
||||
Description=Cloudreve Service
|
||||
After=network.target
|
||||
|
||||
[Service]
|
||||
Type=simple
|
||||
ExecStart=/opt/cloudreve/cloudreve
|
||||
Restart=on-failure
|
||||
RestartSec=5
|
||||
|
||||
[Install]
|
||||
WantedBy=multi-user.target
|
||||
EOF
|
||||
|
||||
systemctl enable -q --now cloudreve
|
||||
msg_ok "Service Setup"
|
||||
|
||||
motd_ssh
|
||||
customize
|
||||
|
||||
msg_info "Cleaning up"
|
||||
$STD apt-get -y autoremove
|
||||
$STD apt-get -y autoclean
|
||||
msg_ok "Cleaned"
|
@ -13,8 +13,6 @@ setting_up_container
|
||||
network_check
|
||||
update_os
|
||||
|
||||
FFMPEG_VERSION="latest" FFMPEG_TYPE="medium" setup_ffmpeg
|
||||
|
||||
msg_info "Setting Up Hardware Acceleration"
|
||||
$STD apt-get -y install {va-driver-all,ocl-icd-libopencl1,intel-opencl-icd,vainfo,intel-gpu-tools}
|
||||
if [[ "$CTTYPE" == "0" ]]; then
|
||||
@ -26,7 +24,37 @@ if [[ "$CTTYPE" == "0" ]]; then
|
||||
fi
|
||||
msg_ok "Set Up Hardware Acceleration"
|
||||
|
||||
read -r -p "${TAB3}Do you need the intel-media-va-driver-non-free driver for HW encoding (Debian 12 only)? <y/N> " prompt
|
||||
if [[ ${prompt,,} =~ ^(y|yes)$ ]]; then
|
||||
msg_info "Installing Intel Hardware Acceleration (non-free)"
|
||||
cat <<EOF >/etc/apt/sources.list.d/non-free.list
|
||||
|
||||
deb http://deb.debian.org/debian bookworm non-free non-free-firmware
|
||||
deb-src http://deb.debian.org/debian bookworm non-free non-free-firmware
|
||||
|
||||
deb http://deb.debian.org/debian-security bookworm-security non-free non-free-firmware
|
||||
deb-src http://deb.debian.org/debian-security bookworm-security non-free non-free-firmware
|
||||
|
||||
deb http://deb.debian.org/debian bookworm-updates non-free non-free-firmware
|
||||
deb-src http://deb.debian.org/debian bookworm-updates non-free non-free-firmware
|
||||
EOF
|
||||
$STD apt-get update
|
||||
$STD apt-get -y install {intel-media-va-driver-non-free,ocl-icd-libopencl1,intel-opencl-icd,vainfo,intel-gpu-tools}
|
||||
else
|
||||
msg_info "Installing Intel Hardware Acceleration"
|
||||
$STD apt-get -y install {va-driver-all,ocl-icd-libopencl1,intel-opencl-icd,vainfo,intel-gpu-tools}
|
||||
fi
|
||||
msg_ok "Installed and Set Up Intel Hardware Acceleration"
|
||||
|
||||
fetch_and_deploy_gh_release "ersatztv" "ErsatzTV/ErsatzTV" "prebuild" "latest" "/opt/ErsatzTV" "*linux-x64.tar.gz"
|
||||
fetch_and_deploy_gh_release "ersatztv-ffmpeg" "ErsatzTV/ErsatzTV-ffmpeg" "prebuild" "latest" "/opt/ErsatzTV-ffmpeg" "*-linux64-gpl-7.1.tar.xz"
|
||||
|
||||
msg_info "Set ErsatzTV-ffmpeg links"
|
||||
chmod +x /opt/ErsatzTV-ffmpeg/bin/*
|
||||
ln -sf /opt/ErsatzTV-ffmpeg/bin/ffmpeg /usr/local/bin/ffmpeg
|
||||
ln -sf /opt/ErsatzTV-ffmpeg/bin/ffplay /usr/local/bin/ffplay
|
||||
ln -sf /opt/ErsatzTV-ffmpeg/bin/ffprobe /usr/local/bin/ffprobe
|
||||
msg_ok "ffmpeg links set"
|
||||
|
||||
msg_info "Creating Service"
|
||||
cat <<EOF >/etc/systemd/system/ersatzTV.service
|
||||
|
@ -22,7 +22,8 @@ $STD apt-get install -y \
|
||||
chromium/stable \
|
||||
chromium-common/stable \
|
||||
graphicsmagick \
|
||||
ghostscript
|
||||
ghostscript \
|
||||
jq
|
||||
msg_ok "Installed Dependencies"
|
||||
|
||||
msg_info "Installing Additional Tools"
|
||||
@ -48,18 +49,14 @@ sed -i \
|
||||
/etc/meilisearch.toml
|
||||
msg_ok "Installed Meilisearch"
|
||||
|
||||
NODE_VERSION="22" NODE_MODULE="yarn@latest" setup_nodejs
|
||||
$STD npm install -g corepack@0.31.0
|
||||
fetch_and_deploy_gh_release "karakeep" "karakeep-app/karakeep"
|
||||
cd /opt/karakeep
|
||||
MODULE_VERSION="$(jq -r '.packageManager | split("@")[1]' /opt/karakeep/package.json)"
|
||||
NODE_VERSION="22" NODE_MODULE="pnpm@${MODULE_VERSION}" setup_nodejs
|
||||
|
||||
msg_info "Installing karakeep"
|
||||
cd /opt
|
||||
RELEASE=$(curl -fsSL https://api.github.com/repos/karakeep-app/karakeep/releases/latest | grep "tag_name" | awk '{print substr($2, 3, length($2)-4) }')
|
||||
curl -fsSL "https://github.com/karakeep-app/karakeep/archive/refs/tags/v${RELEASE}.zip" -o "v${RELEASE}.zip"
|
||||
$STD unzip "v${RELEASE}.zip"
|
||||
mv karakeep-"${RELEASE}" /opt/karakeep
|
||||
cd /opt/karakeep
|
||||
corepack enable
|
||||
export PUPPETEER_SKIP_DOWNLOAD="true"
|
||||
export PLAYWRIGHT_SKIP_BROWSER_DOWNLOAD="true"
|
||||
export NEXT_TELEMETRY_DISABLED=1
|
||||
export CI="true"
|
||||
cd /opt/karakeep/apps/web
|
||||
@ -70,15 +67,13 @@ $STD pnpm install --frozen-lockfile
|
||||
cd /opt/karakeep/apps/cli
|
||||
$STD pnpm install --frozen-lockfile
|
||||
$STD pnpm build
|
||||
cd /opt/karakeep/apps/mcp
|
||||
$STD pnpm install --frozen-lockfile
|
||||
$STD pnpm build
|
||||
$STD pnpm store prune
|
||||
|
||||
export DATA_DIR=/opt/karakeep_data
|
||||
karakeep_SECRET=$(openssl rand -base64 36 | cut -c1-24)
|
||||
mkdir -p /etc/karakeep
|
||||
cat <<EOF >/etc/karakeep/karakeep.env
|
||||
SERVER_VERSION=$RELEASE
|
||||
SERVER_VERSION="$(cat ~/.karakeep)"
|
||||
NEXTAUTH_SECRET="$karakeep_SECRET"
|
||||
NEXTAUTH_URL="http://localhost:3000"
|
||||
DATA_DIR="$DATA_DIR"
|
||||
@ -112,7 +107,6 @@ BROWSER_WEB_URL="http://127.0.0.1:9222"
|
||||
# CRAWLER_VIDEO_DOWNLOAD_MAX_SIZE="50"
|
||||
# CRAWLER_ENABLE_ADBLOCKER=true
|
||||
EOF
|
||||
echo "${RELEASE}" >"/opt/${APPLICATION}_version.txt"
|
||||
msg_ok "Installed karakeep"
|
||||
|
||||
msg_info "Running Database Migration"
|
||||
@ -190,7 +184,6 @@ customize
|
||||
|
||||
msg_info "Cleaning up"
|
||||
rm -rf /tmp/meilisearch.deb
|
||||
rm -f /opt/v"${RELEASE}".zip
|
||||
$STD apt-get autoremove -y
|
||||
$STD apt-get autoclean -y
|
||||
msg_ok "Cleaned"
|
||||
|
@ -3,7 +3,7 @@
|
||||
# Copyright (c) 2021-2025 community-scripts ORG
|
||||
# Author: vhsdream
|
||||
# License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE
|
||||
# Source: https://rxresu.me
|
||||
# Source: https://rxresume.org
|
||||
|
||||
source /dev/stdin <<<"$FUNCTIONS_FILE_PATH"
|
||||
color
|
||||
@ -32,19 +32,16 @@ $STD sudo -u postgres psql -c "GRANT ALL PRIVILEGES ON DATABASE $DB_NAME to $DB_
|
||||
$STD sudo -u postgres psql -c "ALTER USER $DB_USER WITH SUPERUSER;"
|
||||
msg_ok "Set up Database"
|
||||
|
||||
msg_info "Installing ${APPLICATION}"
|
||||
msg_info "Installing $APPLICATION"
|
||||
MINIO_PASS=$(openssl rand -base64 48)
|
||||
ACCESS_TOKEN=$(openssl rand -base64 48)
|
||||
REFRESH_TOKEN=$(openssl rand -base64 48)
|
||||
CHROME_TOKEN=$(openssl rand -hex 32)
|
||||
LOCAL_IP=$(hostname -I | awk '{print $1}')
|
||||
TAG=$(curl -fsSL https://api.github.com/repos/browserless/browserless/tags?per_page=1 | grep "name" | awk '{print substr($2, 3, length($2)-4) }')
|
||||
RELEASE=$(curl -fsSL https://api.github.com/repos/AmruthPillai/Reactive-Resume/releases/latest | grep "tag_name" | awk '{print substr($2, 3, length($2)-4) }')
|
||||
curl -fsSL "https://github.com/AmruthPillai/Reactive-Resume/archive/refs/tags/v${RELEASE}.zip" -o v${RELEASE}.zip
|
||||
$STD unzip v${RELEASE}.zip
|
||||
mv ${APPLICATION}-${RELEASE}/ /opt/${APPLICATION}
|
||||
cd /opt/${APPLICATION}
|
||||
corepack enable
|
||||
|
||||
fetch_and_deploy_gh_release "Reactive-Resume" "lazy-media/Reactive-Resume"
|
||||
cd /opt/"$APPLICATION"
|
||||
export CI="true"
|
||||
export PUPPETEER_SKIP_DOWNLOAD="true"
|
||||
export NODE_ENV="production"
|
||||
@ -53,13 +50,13 @@ $STD pnpm install --frozen-lockfile
|
||||
$STD pnpm run build
|
||||
$STD pnpm install --prod --frozen-lockfile
|
||||
$STD pnpm run prisma:generate
|
||||
msg_ok "Installed ${APPLICATION}"
|
||||
msg_ok "Installed $APPLICATION"
|
||||
|
||||
msg_info "Installing Browserless (Patience)"
|
||||
cd /tmp
|
||||
curl -fsSL https://github.com/browserless/browserless/archive/refs/tags/v${TAG}.zip -o v${TAG}.zip
|
||||
$STD unzip v${TAG}.zip
|
||||
mv browserless-${TAG} /opt/browserless
|
||||
curl -fsSL https://github.com/browserless/browserless/archive/refs/tags/v"$TAG".zip -o v"$TAG".zip
|
||||
$STD unzip v"$TAG".zip
|
||||
mv browserless-"$TAG" /opt/browserless
|
||||
cd /opt/browserless
|
||||
$STD npm install
|
||||
rm -rf src/routes/{chrome,edge,firefox,webkit}
|
||||
@ -77,9 +74,10 @@ MINIO_ROOT_PASSWORD="${MINIO_PASS}"
|
||||
MINIO_VOLUMES=/opt/minio
|
||||
MINIO_OPTS="--address :9000 --console-address 127.0.0.1:9001"
|
||||
EOF
|
||||
cat <<EOF >/opt/${APPLICATION}/.env
|
||||
cat <<EOF >/opt/"$APPLICATION"/.env
|
||||
NODE_ENV=production
|
||||
PORT=3000
|
||||
# for use behind a reverse proxy, use your FQDN for PUBLIC_URL and STORAGE_URL
|
||||
PUBLIC_URL=http://${LOCAL_IP}:3000
|
||||
STORAGE_URL=http://${LOCAL_IP}:9000/rxresume
|
||||
DATABASE_URL=postgresql://${DB_USER}:${DB_PASS}@localhost:5432/${DB_NAME}?schema=public
|
||||
@ -116,14 +114,13 @@ HOST=localhost
|
||||
PORT=8080
|
||||
TOKEN=${CHROME_TOKEN}
|
||||
EOF
|
||||
echo "${RELEASE}" >/opt/${APPLICATION}_version.txt
|
||||
{
|
||||
echo "${APPLICATION} Credentials"
|
||||
echo "Database User: $DB_USER"
|
||||
echo "Database Password: $DB_PASS"
|
||||
echo "Database Name: $DB_NAME"
|
||||
echo "Minio Root Password: ${MINIO_PASS}"
|
||||
} >>~/${APPLICATION}.creds
|
||||
} >>~/"$APPLICATION".creds
|
||||
msg_ok "Configured applications"
|
||||
|
||||
msg_info "Creating Services"
|
||||
@ -136,7 +133,7 @@ WorkingDirectory=/usr/local/bin
|
||||
EnvironmentFile=/opt/minio/.env
|
||||
EOF
|
||||
|
||||
cat <<EOF >/etc/systemd/system/${APPLICATION}.service
|
||||
cat <<EOF >/etc/systemd/system/"$APPLICATION".service
|
||||
[Unit]
|
||||
Description=${APPLICATION} Service
|
||||
After=network.target postgresql.service minio.service
|
||||
@ -167,15 +164,14 @@ Restart=unless-stopped
|
||||
WantedBy=multi-user.target
|
||||
EOF
|
||||
systemctl daemon-reload
|
||||
systemctl enable -q --now minio.service ${APPLICATION}.service browserless.service
|
||||
systemctl enable -q --now minio.service "$APPLICATION".service browserless.service
|
||||
msg_ok "Created Services"
|
||||
|
||||
motd_ssh
|
||||
customize
|
||||
|
||||
msg_info "Cleaning up"
|
||||
rm -f /tmp/v${RELEASE}.zip
|
||||
rm -f /tmp/v${TAG}.zip
|
||||
rm -f /tmp/v"$TAG".zip
|
||||
rm -f /tmp/minio.deb
|
||||
$STD apt-get -y autoremove
|
||||
$STD apt-get -y autoclean
|
||||
|
@ -227,7 +227,7 @@ write_config() {
|
||||
if whiptail --backtitle "Proxmox VE Helper Scripts" --defaultno --title "Write configfile" --yesno "Do you want to write the selections to a config file?" 10 60; then
|
||||
FILEPATH="/opt/community-scripts/${NSAPP}.conf"
|
||||
if [[ ! -f $FILEPATH ]]; then
|
||||
cat <<EOF >"$FILEPATH"
|
||||
cat <<EOF >"$FILEPATH"
|
||||
# ${NSAPP} Configuration File
|
||||
# Generated on $(date)
|
||||
|
||||
@ -264,7 +264,7 @@ EOF
|
||||
echo -e "${INFO}${BOLD}${RD}Configuration file already exists at ${FILEPATH}${CL}"
|
||||
if whiptail --backtitle "Proxmox VE Helper Scripts" --defaultno --title "Overwrite configfile" --yesno "Do you want to overwrite the existing config file?" 10 60; then
|
||||
rm -f "$FILEPATH"
|
||||
cat <<EOF >"$FILEPATH"
|
||||
cat <<EOF >"$FILEPATH"
|
||||
# ${NSAPP} Configuration File
|
||||
# Generated on $(date)
|
||||
|
||||
@ -875,20 +875,24 @@ install_script() {
|
||||
header_info
|
||||
while true; do
|
||||
|
||||
CHOICE=$(whiptail --backtitle "Proxmox VE Helper Scripts" --title "SETTINGS" --menu "Choose an option:" \
|
||||
18 60 6 \
|
||||
TMP_CHOICE=$(whiptail --backtitle "Proxmox VE Helper Scripts" \
|
||||
--title "SETTINGS" \
|
||||
--menu "Choose an option:" 20 60 6 \
|
||||
"1" "Default Settings" \
|
||||
"2" "Default Settings (with verbose)" \
|
||||
"3" "Advanced Settings" \
|
||||
"4" "Use Config File" \
|
||||
"5" "Diagnostic Settings" \
|
||||
"6" "Exit" --nocancel --default-item "1" 3>&1 1>&2 2>&3)
|
||||
"6" "Exit" \
|
||||
--default-item "1" 3>&1 1>&2 2>&3) || true
|
||||
|
||||
if [ $? -ne 0 ]; then
|
||||
echo -e "${CROSS}${RD} Menu canceled. Exiting.${CL}"
|
||||
if [ -z "$TMP_CHOICE" ]; then
|
||||
echo -e "\n${CROSS}${RD}Menu canceled. Exiting script.${CL}\n"
|
||||
exit 0
|
||||
fi
|
||||
|
||||
CHOICE="$TMP_CHOICE"
|
||||
|
||||
case $CHOICE in
|
||||
1)
|
||||
header_info
|
||||
@ -943,11 +947,11 @@ install_script() {
|
||||
|
||||
;;
|
||||
6)
|
||||
echo -e "${CROSS}${RD}Exiting.${CL}"
|
||||
echo -e "\n${CROSS}${RD}Script terminated. Have a great day!${CL}\n"
|
||||
exit 0
|
||||
;;
|
||||
*)
|
||||
echo -e "${CROSS}${RD}Invalid option, please try again.${CL}"
|
||||
echo -e "\n${CROSS}${RD}Invalid option, please try again.${CL}\n"
|
||||
;;
|
||||
esac
|
||||
done
|
||||
|
@ -269,6 +269,7 @@ config_file() {
|
||||
if [ "$NET" == "dhcp" ]; then
|
||||
echo -e "${NETWORK}${BOLD}${DGN}IP Address: ${BGN}DHCP${CL}"
|
||||
echo -e "${GATEWAY}${BOLD}${DGN}Gateway IP Address: ${BGN}Default${CL}"
|
||||
GATE=""
|
||||
elif [[ "$NET" =~ $ip_cidr_regex ]]; then
|
||||
echo -e "${NETWORK}${BOLD}${DGN}IP Address: ${BGN}$NET${CL}"
|
||||
if [ ! -z "$GATE" ]; then
|
||||
|
@ -1772,6 +1772,7 @@ function setup_ffmpeg() {
|
||||
libx264-dev libx265-dev libvpx-dev libmp3lame-dev
|
||||
libfreetype6-dev libass-dev libopus-dev libvorbis-dev
|
||||
libdav1d-dev libsvtav1-dev zlib1g-dev libnuma-dev
|
||||
libva-dev libdrm-dev
|
||||
)
|
||||
;;
|
||||
*)
|
||||
@ -1808,6 +1809,7 @@ function setup_ffmpeg() {
|
||||
|
||||
if [[ "$TYPE" == "full" ]]; then
|
||||
args+=(--enable-libx265 --enable-libdav1d --enable-zlib)
|
||||
args+=(--enable-vaapi --enable-libdrm)
|
||||
fi
|
||||
|
||||
if [[ ${#args[@]} -eq 0 ]]; then
|
||||
|
@ -141,7 +141,7 @@ EOF
|
||||
yes)
|
||||
whiptail --backtitle "Proxmox VE Helper Scripts" --msgbox --title "Support Subscriptions" "Supporting the software's development team is essential. Check their official website's Support Subscriptions for pricing. Without their dedicated work, we wouldn't have this exceptional software." 10 58
|
||||
msg_info "Disabling subscription nag"
|
||||
echo "DPkg::Post-Invoke { \"dpkg -V proxmox-widget-toolkit | grep -q '/proxmoxlib\.js$'; if [ \$? -eq 1 ]; then { echo 'Removing subscription nag from UI...'; sed -i '/.*data\.status.*{/{s/\!//;s/active/NoMoreNagging/}' /usr/share/javascript/proxmox-widget-toolkit/proxmoxlib.js; }; fi\"; };" >/etc/apt/apt.conf.d/no-nag-script
|
||||
echo "DPkg::Post-Invoke { \"dpkg -V proxmox-widget-toolkit 2>/dev/null && [ -f /usr/share/javascript/proxmox-widget-toolkit/proxmoxlib.js ] && echo 'Removing subscription nag from UI...' && sed -i '/data\.status/{s/\!/=/;s/active/NoMoreNagging/}' /usr/share/javascript/proxmox-widget-toolkit/proxmoxlib.js\"; };" >/etc/apt/apt.conf.d/no-nag-script
|
||||
apt --reinstall install proxmox-widget-toolkit &>/dev/null
|
||||
msg_ok "Disabled subscription nag (Delete browser cache)"
|
||||
;;
|
||||
|
Reference in New Issue
Block a user