Compare commits

..

1 Commits

Author SHA1 Message Date
Michel Roegl-Brunner
765ed94b3a fix(fileflows): handle update API 401 and skip check on Node
Server installs check update-available without curl -f so 401 is handled with a clear message instead of aborting via catch_errors. Node installs skip the API and always run the zip update.

Fixes #14622

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-06-01 15:54:34 +02:00
16 changed files with 42 additions and 52 deletions

View File

@@ -476,11 +476,6 @@ Exercise vigilance regarding copycat or coat-tailing sites that seek to exploit
- #### 🐞 Bug Fixes - #### 🐞 Bug Fixes
- fix(dispatcharr): forward nginx port for M3U URLs on new installs [@michelroegl-brunner](https://github.com/michelroegl-brunner) ([#14862](https://github.com/community-scripts/ProxmoxVE/pull/14862))
- Set environment paths in service for apprise-api-install.sh [@SystemIdleProcess](https://github.com/SystemIdleProcess) ([#14805](https://github.com/community-scripts/ProxmoxVE/pull/14805))
- fix(fireshare): rebuild client on update to fix nginx 500 [@michelroegl-brunner](https://github.com/michelroegl-brunner) ([#14848](https://github.com/community-scripts/ProxmoxVE/pull/14848))
- Fix Kan build failure (TS7016 nodemailer) [@michelroegl-brunner](https://github.com/michelroegl-brunner) ([#14856](https://github.com/community-scripts/ProxmoxVE/pull/14856))
- fix(firefly): set Data Importer APP_URL for subdirectory install [@michelroegl-brunner](https://github.com/michelroegl-brunner) ([#14847](https://github.com/community-scripts/ProxmoxVE/pull/14847))
- kan: extend fetch_and_deploy_gh_tag to use 'latest' tag [@MickLesk](https://github.com/MickLesk) ([#14853](https://github.com/community-scripts/ProxmoxVE/pull/14853)) - kan: extend fetch_and_deploy_gh_tag to use 'latest' tag [@MickLesk](https://github.com/MickLesk) ([#14853](https://github.com/community-scripts/ProxmoxVE/pull/14853))
- Glance: preserve glance.yml across updates [@michelroegl-brunner](https://github.com/michelroegl-brunner) ([#14845](https://github.com/community-scripts/ProxmoxVE/pull/14845)) - Glance: preserve glance.yml across updates [@michelroegl-brunner](https://github.com/michelroegl-brunner) ([#14845](https://github.com/community-scripts/ProxmoxVE/pull/14845))
- NginxProxymanager: set Certbot version in npm.service environment variable (2.15.0) [@MickLesk](https://github.com/MickLesk) ([#14843](https://github.com/community-scripts/ProxmoxVE/pull/14843)) - NginxProxymanager: set Certbot version in npm.service environment variable (2.15.0) [@MickLesk](https://github.com/MickLesk) ([#14843](https://github.com/community-scripts/ProxmoxVE/pull/14843))

View File

@@ -25,7 +25,7 @@ function update_script() {
check_container_storage check_container_storage
check_container_resources check_container_resources
NODE_VERSION="26" setup_nodejs NODE_VERSION="24" setup_nodejs
ensure_dependencies build-essential ensure_dependencies build-essential
if command -v cross-seed &>/dev/null; then if command -v cross-seed &>/dev/null; then

View File

@@ -31,11 +31,25 @@ function update_script() {
exit exit
fi fi
update_available=$(curl -fsSL -X 'GET' "http://localhost:19200/api/status/update-available" -H 'accept: application/json' | jq .UpdateAvailable) if systemctl list-unit-files 'fileflows.service' --no-legend 2>/dev/null | grep -q '^fileflows\.service'; then
if [[ "${update_available}" == "true" ]]; then tmp=$(mktemp)
http_code=$(curl -sSL -X 'GET' "http://localhost:19200/api/status/update-available" -H 'accept: application/json' -o "$tmp" -w '%{http_code}' 2>/dev/null) || http_code="000"
if [[ "$http_code" == "401" ]]; then
rm -f "$tmp"
msg_error "Could not check for updates: API returned 401. Disable security in FileFlows."
exit
fi
update_available=$(jq -r '.UpdateAvailable // false' "$tmp" 2>/dev/null)
rm -f "$tmp"
if [[ "${update_available}" != "true" ]]; then
msg_ok "No update required. ${APP} is already at latest version"
exit
fi
fi
msg_info "Stopping Service" msg_info "Stopping Service"
systemctl --all stop 'fileflows*' systemctl --all stop 'fileflows*'
msg_info "Stopped Service" msg_ok "Stopped Service"
msg_info "Creating Backup" msg_info "Creating Backup"
ls /opt/*.tar.gz &>/dev/null && rm -f /opt/*.tar.gz ls /opt/*.tar.gz &>/dev/null && rm -f /opt/*.tar.gz
@@ -49,9 +63,6 @@ function update_script() {
systemctl --all start 'fileflows*' systemctl --all start 'fileflows*'
msg_ok "Started Service" msg_ok "Started Service"
msg_ok "Updated successfully!" msg_ok "Updated successfully!"
else
msg_ok "No update required. ${APP} is already at latest version"
fi
exit exit
} }

View File

@@ -53,12 +53,6 @@ function update_script() {
export VIDEO_DIRECTORY=/opt/fireshare-videos export VIDEO_DIRECTORY=/opt/fireshare-videos
export PROCESSED_DIRECTORY=/opt/fireshare-processed export PROCESSED_DIRECTORY=/opt/fireshare-processed
$STD uv run flask db upgrade $STD uv run flask db upgrade
msg_info "Building Fireshare Client"
cd /opt/fireshare/app/client
$STD npm install
$STD npm run build
msg_ok "Built Fireshare Client"
msg_ok "Updated Fireshare" msg_ok "Updated Fireshare"
msg_info "Starting Service" msg_info "Starting Service"

View File

@@ -50,7 +50,7 @@ function update_script() {
cd /opt/kan cd /opt/kan
set -a && source /opt/kan/.env && set +a set -a && source /opt/kan/.env && set +a
export NEXT_PUBLIC_USE_STANDALONE_OUTPUT=true export NEXT_PUBLIC_USE_STANDALONE_OUTPUT=true
$STD pnpm install --ignore-scripts --prod=false $STD pnpm install --ignore-scripts
export CI=true export CI=true
find /opt/kan/packages /opt/kan/apps -name 'tsconfig.json' -exec sed -i 's|"@kan/tsconfig/|"../../tooling/typescript/|g' {} + find /opt/kan/packages /opt/kan/apps -name 'tsconfig.json' -exec sed -i 's|"@kan/tsconfig/|"../../tooling/typescript/|g' {} +
$STD pnpm build --filter=@kan/web $STD pnpm build --filter=@kan/web

View File

@@ -53,7 +53,7 @@ function update_script() {
[[ -s /opt/koillection/.env.local && -n "$(tail -c 1 /opt/koillection/.env.local)" ]] && echo "" >>/opt/koillection/.env.local [[ -s /opt/koillection/.env.local && -n "$(tail -c 1 /opt/koillection/.env.local)" ]] && echo "" >>/opt/koillection/.env.local
echo 'APP_RUNTIME="Symfony\Component\Runtime\SymfonyRuntime"' >>/opt/koillection/.env.local echo 'APP_RUNTIME="Symfony\Component\Runtime\SymfonyRuntime"' >>/opt/koillection/.env.local
fi fi
NODE_VERSION="26" NODE_MODULE="yarn" setup_nodejs
export COMPOSER_ALLOW_SUPERUSER=1 export COMPOSER_ALLOW_SUPERUSER=1
export APP_RUNTIME='Symfony\Component\Runtime\SymfonyRuntime' export APP_RUNTIME='Symfony\Component\Runtime\SymfonyRuntime'
$STD composer install --no-dev -o --no-interaction --classmap-authoritative $STD composer install --no-dev -o --no-interaction --classmap-authoritative

View File

@@ -42,7 +42,7 @@ function update_script() {
PYTHON_VERSION="3.13" setup_uv PYTHON_VERSION="3.13" setup_uv
CLEAN_INSTALL=1 fetch_and_deploy_gh_release "musicseerr" "HabiRabbu/Musicseerr" "tarball" CLEAN_INSTALL=1 fetch_and_deploy_gh_release "musicseerr" "HabiRabbu/Musicseerr" "tarball"
NODE_VERSION="25" NODE_MODULE="pnpm@10.33.0" setup_nodejs NODE_VERSION="22" NODE_MODULE="pnpm@10.33.0" setup_nodejs
msg_info "Building Frontend" msg_info "Building Frontend"
cd /opt/musicseerr/frontend cd /opt/musicseerr/frontend

View File

@@ -30,7 +30,7 @@ function update_script() {
exit exit
fi fi
NODE_VERSION="24" setup_nodejs NODE_VERSION="22" setup_nodejs
if check_for_gh_release "soulsync" "Nezreka/SoulSync"; then if check_for_gh_release "soulsync" "Nezreka/SoulSync"; then
msg_info "Stopping Service" msg_info "Stopping Service"

View File

@@ -52,9 +52,6 @@ After=network-online.target
Type=simple Type=simple
WorkingDirectory=/opt/apprise WorkingDirectory=/opt/apprise
ExecStart=/opt/apprise/webapp/supervisord-startup ExecStart=/opt/apprise/webapp/supervisord-startup
Environment=APPRISE_CONFIG_DIR=/config
Environment=APPRISE_ATTACH_DIR=/attach
Environment=APPRISE_PLUGIN_PATHS=/plugin
Restart=always Restart=always
RestartSec=30 RestartSec=30

View File

@@ -17,7 +17,7 @@ msg_info "Installing Dependencies"
$STD apt install -y build-essential $STD apt install -y build-essential
msg_ok "Installed Dependencies" msg_ok "Installed Dependencies"
NODE_VERSION="26" setup_nodejs NODE_VERSION="24" setup_nodejs
msg_info "Setup Cross-Seed" msg_info "Setup Cross-Seed"
$STD npm install cross-seed@latest -g $STD npm install cross-seed@latest -g

View File

@@ -121,7 +121,6 @@ server {
# All other requests proxy to uWSGI # All other requests proxy to uWSGI
location / { location / {
include proxy_params; include proxy_params;
proxy_set_header X-Forwarded-Port \$server_port;
proxy_pass http://127.0.0.1:5656; proxy_pass http://127.0.0.1:5656;
} }
} }

View File

@@ -37,13 +37,7 @@ msg_ok "Configured Firefly III"
msg_info "Configuring Data Importer" msg_info "Configuring Data Importer"
cp /opt/firefly/dataimporter/.env.example /opt/firefly/dataimporter/.env cp /opt/firefly/dataimporter/.env.example /opt/firefly/dataimporter/.env
sed -i \ sed -i "s#FIREFLY_III_URL=#FIREFLY_III_URL=http://${LOCAL_IP}#g" /opt/firefly/dataimporter/.env
-e "s#FIREFLY_III_URL=#FIREFLY_III_URL=http://${LOCAL_IP}#g" \
-e "s|^APP_URL=.*|APP_URL=http://${LOCAL_IP}/dataimporter|" \
-e "s|^ASSET_URL=.*|ASSET_URL=/dataimporter|" \
/opt/firefly/dataimporter/.env
cd /opt/firefly/dataimporter
$STD php artisan config:clear
chown -R www-data:www-data /opt/firefly chown -R www-data:www-data /opt/firefly
msg_ok "Configured Data Importer" msg_ok "Configured Data Importer"

View File

@@ -45,7 +45,7 @@ msg_info "Building Application"
cd /opt/kan cd /opt/kan
set -a && source /opt/kan/.env && set +a set -a && source /opt/kan/.env && set +a
export NEXT_PUBLIC_USE_STANDALONE_OUTPUT=true NEXT_PUBLIC_BASE_URL BETTER_AUTH_TRUSTED_ORIGINS NEXT_PUBLIC_ALLOW_CREDENTIALS BETTER_AUTH_SECRET export NEXT_PUBLIC_USE_STANDALONE_OUTPUT=true NEXT_PUBLIC_BASE_URL BETTER_AUTH_TRUSTED_ORIGINS NEXT_PUBLIC_ALLOW_CREDENTIALS BETTER_AUTH_SECRET
$STD pnpm install --ignore-scripts --prod=false $STD pnpm install --ignore-scripts
export CI=true export CI=true
find /opt/kan/packages /opt/kan/apps -name 'tsconfig.json' -exec sed -i 's|"@kan/tsconfig/|"../../tooling/typescript/|g' {} + find /opt/kan/packages /opt/kan/apps -name 'tsconfig.json' -exec sed -i 's|"@kan/tsconfig/|"../../tooling/typescript/|g' {} +
$STD pnpm build --filter=@kan/web $STD pnpm build --filter=@kan/web

View File

@@ -13,7 +13,7 @@ setting_up_container
network_check network_check
update_os update_os
NODE_VERSION="26" NODE_MODULE="yarn" setup_nodejs NODE_VERSION="24" NODE_MODULE="yarn" setup_nodejs
PG_VERSION="16" setup_postgresql PG_VERSION="16" setup_postgresql
PHP_VERSION="8.5" PHP_APACHE="YES" setup_php PHP_VERSION="8.5" PHP_APACHE="YES" setup_php
setup_composer setup_composer

View File

@@ -15,7 +15,7 @@ update_os
PYTHON_VERSION="3.13" setup_uv PYTHON_VERSION="3.13" setup_uv
fetch_and_deploy_gh_release "musicseerr" "HabiRabbu/Musicseerr" "tarball" fetch_and_deploy_gh_release "musicseerr" "HabiRabbu/Musicseerr" "tarball"
NODE_VERSION="25" NODE_MODULE="pnpm@10.33.0" setup_nodejs NODE_VERSION="22" NODE_MODULE="pnpm@10.33.0" setup_nodejs
msg_info "Building Frontend" msg_info "Building Frontend"
cd /opt/musicseerr/frontend cd /opt/musicseerr/frontend

View File

@@ -23,7 +23,7 @@ $STD apt install -y \
msg_ok "Installed Dependencies" msg_ok "Installed Dependencies"
UV_PYTHON="3.11" setup_uv UV_PYTHON="3.11" setup_uv
NODE_VERSION="24" setup_nodejs NODE_VERSION="22" setup_nodejs
fetch_and_deploy_gh_release "soulsync" "Nezreka/SoulSync" "tarball" fetch_and_deploy_gh_release "soulsync" "Nezreka/SoulSync" "tarball"