Compare commits

..
Author SHA1 Message Date
MickLesk 621bd59cfd Gramps-Web: run the Celery task queue with Redis 2026-10-24 19:43:37 +02:00
community-scripts-pr-app[bot]andgithub-actions[bot] 063162a504 Update CHANGELOG.md (#18137)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2026-10-24 16:03:36 +00:00
community-scripts-pr-app[bot]andgithub-actions[bot] 52ddd8930d Update CHANGELOG.md (#18136)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2026-10-24 16:03:13 +00:00
Brad Schroth 50227fe187 fix: Linkwarden - clear Yarn berry cache after install and update- #18115 (#18116)
* Remove Yarn berry cache from cleanup script

Remove Yarn berry cache during cleanup process.

* Remove Yarn Berry cache during installation
2026-10-24 18:03:02 +02:00
CanbiZ (MickLesk) 2250fc8e18 Borg-UI: recreate the borg venvs with --clear (#18118)
uv now refuses to create a venv on a non-empty path, so a Borg version bump stopped the update at /opt/borg1-venv or /opt/borg2-venv (#18117).
2026-10-24 18:02:42 +02:00
community-scripts-pr-app[bot]andgithub-actions[bot] 69b6004b8d Update CHANGELOG.md (#18135)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2026-10-24 15:56:14 +00:00
CanbiZ (MickLesk) 54c8b2393e install: answer every prompt from the environment, survive a closed stdin (#18121)
* install: answer every prompt from the environment, survive a closed stdin

Every interactive prompt takes a var_<app>_<name> override and treats a
closed stdin like Enter (`|| true`), so an install keeps going after the
console that started it is gone. Values the script cannot do without end
with exit 64 and name the variable to set. Validation loops stop asking
when nobody can answer instead of spinning on an empty read.

* mongodb, paperless-gpt: accept yes as well as y
2026-10-24 17:55:50 +02:00
community-scripts-pr-app[bot]andgithub-actions[bot] 7fff90864c Update CHANGELOG.md (#18134)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2026-10-24 15:53:12 +00:00
community-scripts-pr-app[bot]andgithub-actions[bot] 29fb109f38 Update CHANGELOG.md (#18133)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2026-10-24 15:53:00 +00:00
CanbiZ (MickLesk) c351f17c86 SnapOtter: recreate the AI venv with --clear (#18119)
The venv lives in the data directory and is recreated on every update; uv now refuses a non-empty path.
2026-10-24 17:52:46 +02:00
CanbiZ (MickLesk) 65778f7367 Frigate: bump to v0.18.2 (#18120) 2026-10-24 17:52:35 +02:00
community-scripts-pr-app[bot]andgithub-actions[bot] b8ebc6a14f Update CHANGELOG.md (#18132)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2026-10-24 15:52:06 +00:00
thieneret fa3742bc76 bump version to 2026.8.5 (#18125) 2026-10-24 17:51:40 +02:00
community-scripts-pr-app[bot]andgithub-actions[bot] 1c618f9d1f Update CHANGELOG.md (#18129)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2026-10-24 13:22:33 +00:00
e63332742a fix(addons): use catch_errors so the update marker is cleared (#18128)
Addons only trapped ERR, so on_exit never ran and ~/.<app>.pending from
fetch_and_deploy_release survived every successful update: each later run
reported 'the last run did not finish' and redeployed. Use catch_errors,
as ct scripts and dockhand.sh already do.


Claude-Session: https://claude.ai/code/session_01BNGzU5KdgKFAGcqJECnnav

Co-authored-by: Matt Daleo <12395090+mazelado@users.noreply.github.com>
Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-24 15:22:03 +02:00
26 changed files with 112 additions and 26 deletions

No files matched your search

+25
View File
@@ -565,6 +565,31 @@ Exercise vigilance regarding copycat or coat-tailing sites that seek to exploit
</details>
## 2026-10-24
### 🚀 Updated Scripts
- #### 🐞 Bug Fixes
- fix: Linkwarden - clear Yarn berry cache after install and update- #18115 [@bferd](https://github.com/bferd) ([#18116](https://github.com/community-scripts/ProxmoxVE/pull/18116))
- Borg-UI: recreate the borg venvs with --clear [@MickLesk](https://github.com/MickLesk) ([#18118](https://github.com/community-scripts/ProxmoxVE/pull/18118))
- SnapOtter: recreate the AI venv with --clear [@MickLesk](https://github.com/MickLesk) ([#18119](https://github.com/community-scripts/ProxmoxVE/pull/18119))
- Update authentik version to 2026.8.5 [@thieneret](https://github.com/thieneret) ([#18125](https://github.com/community-scripts/ProxmoxVE/pull/18125))
- #### ✨ New Features
- Frigate: bump to v0.18.2 [@MickLesk](https://github.com/MickLesk) ([#18120](https://github.com/community-scripts/ProxmoxVE/pull/18120))
- #### 🔧 Refactor
- install: answer every prompt from the environment, survive a closed stdin [@MickLesk](https://github.com/MickLesk) ([#18121](https://github.com/community-scripts/ProxmoxVE/pull/18121))
### 🧰 Tools
- #### 🐞 Bug Fixes
- fix(addons): use catch_errors so the update marker is cleared [@mazelado](https://github.com/mazelado) ([#18128](https://github.com/community-scripts/ProxmoxVE/pull/18128))
## 2026-10-23
### 🚀 Updated Scripts
+1 -1
View File
@@ -47,7 +47,7 @@ function update_script() {
RUST_PROFILE="minimal" RUST_TOOLCHAIN="stable" setup_rust
setup_yq
AUTHENTIK_VERSION="version/2026.8.4"
AUTHENTIK_VERSION="version/2026.8.5"
# Source: https://github.com/goauthentik/fips/blob/main/Makefile#L26
XMLSEC_VERSION="1.3.12"
+2 -2
View File
@@ -69,7 +69,7 @@ function update_script() {
if [[ "$(cat /opt/borg1-venv/.pinned_version 2>/dev/null)" != "$BORG1_VERSION" ]]; then
msg_info "Installing Borg ${BORG1_VERSION} (Patience)"
$STD uv venv --python "$BORG_PYTHON" /opt/borg1-venv
$STD uv venv --clear --python "$BORG_PYTHON" /opt/borg1-venv
$STD uv pip install --python /opt/borg1-venv pyfuse3 "borgbackup==${BORG1_VERSION}"
echo "$BORG1_VERSION" >/opt/borg1-venv/.pinned_version
ln -sf /opt/borg1-venv/bin/borg /usr/local/bin/borg
@@ -78,7 +78,7 @@ function update_script() {
if [[ "$(cat /opt/borg2-venv/.pinned_version 2>/dev/null)" != "${BORG2_VERSION}-${BORGSTORE_VERSION}" ]]; then
msg_info "Installing Borg ${BORG2_VERSION} (Patience)"
$STD uv venv --python "$BORG_PYTHON" /opt/borg2-venv
$STD uv venv --clear --python "$BORG_PYTHON" /opt/borg2-venv
$STD uv pip install --python /opt/borg2-venv pyfuse3 "borgbackup==${BORG2_VERSION}" "borgstore[rclone,sftp,rest,s3,blake3]==${BORGSTORE_VERSION}"
echo "${BORG2_VERSION}-${BORGSTORE_VERSION}" >/opt/borg2-venv/.pinned_version
ln -sf /opt/borg2-venv/bin/borg /usr/local/bin/borg2
+36 -2
View File
@@ -34,9 +34,43 @@ function update_script() {
PYTHON_VERSION="3.12" setup_uv
NODE_VERSION="22" NODE_MODULE="corepack" setup_nodejs
if ! grep -q '^CELERY_CONFIG=' /opt/gramps-web/config/config.cfg; then
msg_info "Setting up Celery Task Queue"
ensure_dependencies redis-server
cat <<EOF >>/opt/gramps-web/config/config.cfg
CELERY_CONFIG={"broker_url":"redis://127.0.0.1:6379/0","result_backend":"redis://127.0.0.1:6379/0"}
RATELIMIT_STORAGE_URI="redis://127.0.0.1:6379/1"
EOF
cat <<EOF >/etc/systemd/system/gramps-web-celery.service
[Unit]
Description=Gramps Web Celery Worker
After=network.target redis-server.service
Wants=redis-server.service
[Service]
Type=simple
User=root
WorkingDirectory=/opt/gramps-web-api
Environment=GRAMPS_API_CONFIG=/opt/gramps-web/config/config.cfg
Environment=GRAMPSHOME=/opt/gramps-web/data
Environment=GRAMPS_DATABASE_PATH=/opt/gramps-web/data/gramps/grampsdb
Environment=PATH=/opt/gramps-web/venv/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
ExecStart=/opt/gramps-web/venv/bin/celery -A gramps_webapi.celery worker --loglevel=INFO --concurrency=2
Restart=on-failure
RestartSec=5
[Install]
WantedBy=multi-user.target
EOF
systemctl daemon-reload
systemctl enable -q --now redis-server gramps-web-celery
systemctl restart gramps-web
msg_ok "Set up Celery Task Queue"
fi
if check_for_gh_release "gramps-web-api" "gramps-project/gramps-web-api"; then
msg_info "Stopping Service"
systemctl stop gramps-web
systemctl stop gramps-web gramps-web-celery
msg_ok "Stopped Service"
CLEAN_INSTALL=1 fetch_and_deploy_gh_release "gramps-web-api" "gramps-project/gramps-web-api" "tarball" "latest" "/opt/gramps-web-api"
@@ -71,7 +105,7 @@ function update_script() {
msg_ok "Updated Gramps Addons"
msg_info "Starting Service"
systemctl start gramps-web
systemctl start gramps-web gramps-web-celery
msg_ok "Started Service"
fi
+1
View File
@@ -64,6 +64,7 @@ function update_script() {
$STD yarn prisma:deploy
rm -rf ~/.cargo/registry ~/.cargo/git ~/.cargo/.package-cache
rm -rf /root/.cache/yarn
rm -rf /root/.yarn/berry/cache
rm -rf /opt/linkwarden/.next/cache
msg_ok "Updated Linkwarden"
+1 -1
View File
@@ -86,7 +86,7 @@ EOF
msg_info "Updating SnapOtter"
$STD uv python install 3.11
$STD uv venv --seed --python 3.11 /opt/snapotter_data/ai/venv
$STD uv venv --clear --seed --python 3.11 /opt/snapotter_data/ai/venv
if [[ "$(arch_resolve)" == "arm64" ]]; then
$STD uv pip install --python /opt/snapotter_data/ai/venv/bin/python \
numpy==1.26.4 Pillow==12.3.0 opencv-python-headless==4.10.0.84 fonttools \
+1 -1
View File
@@ -57,7 +57,7 @@ PG_VERSION="17" setup_postgresql
PG_DB_NAME="authentik" PG_DB_USER="authentik" PG_DB_GRANT_SUPERUSER="true" setup_postgresql_db
XMLSEC_VERSION="1.3.12"
AUTHENTIK_VERSION="version/2026.8.4"
AUTHENTIK_VERSION="version/2026.8.5"
fetch_and_deploy_gh_release "xmlsec" "lsh123/xmlsec" "tarball" "${XMLSEC_VERSION}" "/opt/xmlsec"
fetch_and_deploy_gh_release "authentik" "goauthentik/authentik" "tarball" "${AUTHENTIK_VERSION}" "/opt/authentik"
GO_VERSION="$(grep -m1 '^go ' /opt/authentik/go.mod | awk '{print $2}')" setup_go
+1 -1
View File
@@ -110,7 +110,7 @@ export AUTOGRAPH_VERBOSITY=0
export GLOG_minloglevel=3
export GLOG_logtostderr=0
fetch_and_deploy_gh_release "frigate" "blakeblackshear/frigate" "tarball" "v0.18.0" "/opt/frigate"
fetch_and_deploy_gh_release "frigate" "blakeblackshear/frigate" "tarball" "v0.18.2" "/opt/frigate"
msg_info "Building Nginx"
$STD bash /opt/frigate/docker/main/build_nginx.sh
+27 -2
View File
@@ -34,6 +34,7 @@ $STD apt install -y \
pkg-config \
poppler-utils \
python3-dev \
redis-server \
tesseract-ocr
msg_ok "Installed Dependencies"
@@ -70,6 +71,8 @@ REQUEST_CACHE_CONFIG={"CACHE_TYPE":"FileSystemCache","CACHE_DIR":"/opt/gramps-we
PERSISTENT_CACHE_CONFIG={"CACHE_TYPE":"FileSystemCache","CACHE_DIR":"/opt/gramps-web/data/cache/persistent","CACHE_THRESHOLD":0,"CACHE_DEFAULT_TIMEOUT":0}
REPORT_DIR="/opt/gramps-web/data/cache/report"
EXPORT_DIR="/opt/gramps-web/data/cache/export"
CELERY_CONFIG={"broker_url":"redis://127.0.0.1:6379/0","result_backend":"redis://127.0.0.1:6379/0"}
RATELIMIT_STORAGE_URI="redis://127.0.0.1:6379/1"
EOF
$STD uv venv -c -p python3.12 /opt/gramps-web/venv
source /opt/gramps-web/venv/bin/activate
@@ -107,7 +110,8 @@ msg_info "Creating Service"
cat <<EOF >/etc/systemd/system/gramps-web.service
[Unit]
Description=Gramps Web Service
After=network.target
After=network.target redis-server.service
Wants=redis-server.service
[Service]
Type=simple
@@ -124,7 +128,28 @@ RestartSec=5
[Install]
WantedBy=multi-user.target
EOF
systemctl enable -q --now gramps-web
cat <<EOF >/etc/systemd/system/gramps-web-celery.service
[Unit]
Description=Gramps Web Celery Worker
After=network.target redis-server.service
Wants=redis-server.service
[Service]
Type=simple
User=root
WorkingDirectory=/opt/gramps-web-api
Environment=GRAMPS_API_CONFIG=/opt/gramps-web/config/config.cfg
Environment=GRAMPSHOME=/opt/gramps-web/data
Environment=GRAMPS_DATABASE_PATH=/opt/gramps-web/data/gramps/grampsdb
Environment=PATH=/opt/gramps-web/venv/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
ExecStart=/opt/gramps-web/venv/bin/celery -A gramps_webapi.celery worker --loglevel=INFO --concurrency=2
Restart=on-failure
RestartSec=5
[Install]
WantedBy=multi-user.target
EOF
systemctl enable -q --now gramps-web gramps-web-celery
msg_ok "Created Service"
motd_ssh
+1
View File
@@ -61,6 +61,7 @@ $STD yarn web:build
$STD yarn prisma:deploy
rm -rf ~/.cargo/registry ~/.cargo/git ~/.cargo/.package-cache
rm -rf /root/.cache/yarn
rm -rf /root/.yarn/berry/cache
rm -rf /opt/linkwarden/.next/cache
msg_ok "Installed Linkwarden"
@@ -23,7 +23,7 @@ declare -f init_tool_telemetry &>/dev/null && init_tool_telemetry "actual-budget
# Enable error handling
set -Eeuo pipefail
trap 'error_handler' ERR
catch_errors
load_functions
require_debian_like
+1 -1
View File
@@ -23,7 +23,7 @@ declare -f init_tool_telemetry &>/dev/null && init_tool_telemetry "adguardhome-s
# Enable error handling
set -Eeuo pipefail
trap 'error_handler' ERR
catch_errors
# ==============================================================================
# CONFIGURATION
+1 -1
View File
@@ -23,7 +23,7 @@ declare -f init_tool_telemetry &>/dev/null && init_tool_telemetry "coder-code-se
# Enable error handling
set -Eeuo pipefail
trap 'error_handler' ERR
catch_errors
APP="Coder Code Server"
APP_TYPE="addon"
+1 -1
View File
@@ -23,7 +23,7 @@ declare -f init_tool_telemetry &>/dev/null && init_tool_telemetry "copyparty" "a
# Enable error handling
set -Eeuo pipefail
trap 'error_handler' ERR
catch_errors
load_functions
# ==============================================================================
+1 -1
View File
@@ -23,7 +23,7 @@ declare -f init_tool_telemetry &>/dev/null && init_tool_telemetry "cronmaster" "
# Enable error handling
set -Eeuo pipefail
trap 'error_handler' ERR
catch_errors
load_functions
require_debian_like
+1 -1
View File
@@ -30,7 +30,7 @@ declare -f init_tool_telemetry &>/dev/null && init_tool_telemetry "filebrowser-q
# Enable error handling
set -Eeuo pipefail
trap 'error_handler' ERR
catch_errors
# Initialize all core functions (colors, formatting, icons, STD mode)
load_functions
+1 -1
View File
@@ -29,7 +29,7 @@ declare -f init_tool_telemetry &>/dev/null && init_tool_telemetry "filebrowser"
# Enable error handling
set -Eeuo pipefail
trap 'error_handler' ERR
catch_errors
# Initialize all core functions (colors, formatting, icons, STD mode)
load_functions
+1 -1
View File
@@ -23,7 +23,7 @@ declare -f init_tool_telemetry &>/dev/null && init_tool_telemetry "immich-public
# Enable error handling
set -Eeuo pipefail
trap 'error_handler' ERR
catch_errors
# ==============================================================================
# CONFIGURATION
+1 -1
View File
@@ -23,7 +23,7 @@ declare -f init_tool_telemetry &>/dev/null && init_tool_telemetry "jellystat" "a
# Enable error handling
set -Eeuo pipefail
trap 'error_handler' ERR
catch_errors
# ==============================================================================
# CONFIGURATION
+1 -1
View File
@@ -23,7 +23,7 @@ declare -f init_tool_telemetry &>/dev/null && init_tool_telemetry "nextcloud-exp
# Enable error handling
set -Eeuo pipefail
trap 'error_handler' ERR
catch_errors
load_functions
require_debian_like
+1 -1
View File
@@ -26,7 +26,7 @@ declare -f init_tool_telemetry &>/dev/null && init_tool_telemetry "olivetin" "ad
# Enable error handling
set -Eeuo pipefail
trap 'error_handler' ERR
catch_errors
# Initialize all core functions (colors, formatting, icons, STD mode)
load_functions
+1 -1
View File
@@ -23,7 +23,7 @@ declare -f init_tool_telemetry &>/dev/null && init_tool_telemetry "pihole-export
# Enable error handling
set -Eeuo pipefail
trap 'error_handler' ERR
catch_errors
load_functions
# ==============================================================================
@@ -23,7 +23,7 @@ declare -f init_tool_telemetry &>/dev/null && init_tool_telemetry "prometheus-pa
# Enable error handling
set -Eeuo pipefail
trap 'error_handler' ERR
catch_errors
load_functions
require_debian_like
+1 -1
View File
@@ -23,7 +23,7 @@ declare -f init_tool_telemetry &>/dev/null && init_tool_telemetry "qbittorrent-e
# Enable error handling
set -Eeuo pipefail
trap 'error_handler' ERR
catch_errors
load_functions
# ==============================================================================
+1 -1
View File
@@ -23,7 +23,7 @@ declare -f init_tool_telemetry &>/dev/null && init_tool_telemetry "sparkyfitness
# Enable error handling
set -Eeuo pipefail
trap 'error_handler' ERR
catch_errors
load_functions
require_debian_like
+1 -1
View File
@@ -26,7 +26,7 @@ declare -f init_tool_telemetry &>/dev/null && init_tool_telemetry "webmin" "addo
# Enable error handling
set -Eeuo pipefail
trap 'error_handler' ERR
catch_errors
# Initialize all core functions (colors, formatting, icons, STD mode)
load_functions