Compare commits

..

6 Commits

Author SHA1 Message Date
MickLesk
252cc71cc9 build.func: prompt to also run installed addon update scripts (/usr/local/bin/update_*) after update_script; 60s timeout, default no, skipped under PHS_SILENT 2026-05-01 22:23:44 +02:00
community-scripts-pr-app[bot]
0dbee93410 Update CHANGELOG.md (#14156)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2026-05-01 19:00:34 +00:00
community-scripts-pr-app[bot]
1a7d1da029 Update CHANGELOG.md (#14155)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2026-05-01 19:00:08 +00:00
Kurt Anderson
f6ccf8be5e paperless-ngx: refresh NLTK data on update (#14144) 2026-05-01 21:00:05 +02:00
Letter N
ec81640d67 do not delete the public storage!!! (#14145) 2026-05-01 20:59:38 +02:00
Slaviša Arežina
03a301d736 update dependencies (#14152) 2026-05-01 20:59:10 +02:00
6 changed files with 84 additions and 6 deletions

View File

@@ -448,6 +448,19 @@ Exercise vigilance regarding copycat or coat-tailing sites that seek to exploit
</details>
## 2026-05-01
### 🚀 Updated Scripts
- #### 🐞 Bug Fixes
- paperless-ngx: refresh NLTK data on update [@kurtislanderson](https://github.com/kurtislanderson) ([#14144](https://github.com/community-scripts/ProxmoxVE/pull/14144))
- [Pelican Panel] stop deleting the public storage [@LetterN](https://github.com/LetterN) ([#14145](https://github.com/community-scripts/ProxmoxVE/pull/14145))
- #### 🔧 Refactor
- Mail-Archiver: update dependencies [@tremor021](https://github.com/tremor021) ([#14152](https://github.com/community-scripts/ProxmoxVE/pull/14152))
## 2026-04-30
### 🆕 New Scripts

View File

@@ -28,6 +28,8 @@ function update_script() {
exit
fi
ensure_dependencies libgssapi-krb5-2
if check_for_gh_release "mail-archiver" "s1t5/mail-archiver"; then
msg_info "Stopping Mail-Archiver"
systemctl stop mail-archiver

View File

@@ -164,6 +164,14 @@ function update_script() {
fi
fi
msg_info "Updating NLTK Data"
cd /opt/paperless
$STD uv run python -m nltk.downloader -d /usr/share/nltk_data snowball_data
$STD uv run python -m nltk.downloader -d /usr/share/nltk_data stopwords
$STD uv run python -m nltk.downloader -d /usr/share/nltk_data punkt_tab ||
$STD uv run python -m nltk.downloader -d /usr/share/nltk_data punkt
msg_ok "Updated NLTK Data"
msg_info "Starting all Paperless-ngx Services"
systemctl start paperless-consumer paperless-webserver paperless-scheduler paperless-task-queue
sleep 1

View File

@@ -45,15 +45,21 @@ function update_script() {
$STD php artisan down
msg_ok "Stopped Service"
cp -r /opt/pelican-panel/.env /opt/
cp -a /opt/pelican-panel/.env /opt/backup
cp -a /opt/pelican-panel/storage/app/public /opt/backup/storage/app/
SQLITE_INSTALL=$(ls /opt/pelican-panel/database/*.sqlite 1>/dev/null 2>&1 && echo "true" || echo "false")
$SQLITE_INSTALL && cp -r /opt/pelican-panel/database/*.sqlite /opt/
rm -rf * .*
$SQLITE_INSTALL && cp -r /opt/pelican-panel/database/*.sqlite /opt/backup
find /opt/pelican-panel -mindepth 1 -maxdepth 1 ! -name 'backup' ! -name 'plugins' -exec rm -rf {} +
fetch_and_deploy_gh_release "pelican-panel" "pelican-dev/panel" "prebuild" "latest" "/opt/pelican-panel" "panel.tar.gz"
msg_info "Updating Pelican Panel"
mv /opt/.env /opt/pelican-panel/
$SQLITE_INSTALL && mv /opt/*.sqlite /opt/pelican-panel/database/
cp -a /opt/backup/.env /opt/pelican-panel/
$SQLITE_INSTALL && mv /opt/backup/*.sqlite /opt/pelican-panel/database/
cp -a /opt/backup/storage/app/public /opt/pelican-panel/storage/app/
$STD composer install --no-dev --optimize-autoloader --no-interaction
$STD php artisan p:environment:setup
$STD php artisan view:clear

View File

@@ -22,7 +22,8 @@ setup_deb822_repo \
"main"
$STD apt install -y \
dotnet-sdk-10.0 \
aspnetcore-runtime-8.0
aspnetcore-runtime-8.0 \
libgssapi-krb5-2
msg_ok "Installed Dependencies"
PG_VERSION="17" setup_postgresql

View File

@@ -3504,6 +3504,52 @@ msg_menu() {
return 0
}
# ------------------------------------------------------------------------------
# run_addon_updates()
#
# - Scans /usr/local/bin/update_* for addon update scripts installed alongside
# the main application (e.g. by tools/addon/*.sh)
# - For each found addon, prompts the user (60s timeout, default no) whether
# it should be updated as well
# - Skipped entirely when PHS_SILENT=1 to keep unattended updates predictable
# ------------------------------------------------------------------------------
run_addon_updates() {
shopt -s nullglob
local addons=(/usr/local/bin/update_*)
shopt -u nullglob
((${#addons[@]} == 0)) && return 0
if [[ "${PHS_SILENT:-0}" == "1" ]]; then
msg_info "Detected ${#addons[@]} addon update script(s) - skipping (PHS_SILENT)"
return 0
fi
echo
echo -e "${INFO}${YW} Detected installed addon update script(s):${CL}"
local a name
for a in "${addons[@]}"; do
echo -e "${TAB}- ${a##*/update_}"
done
echo
local ans
for a in "${addons[@]}"; do
name="${a##*/update_}"
printf 'Do you also want to update addon "%s"? (y/N) [60s]: ' "$name"
ans=""
if read -r -t 60 ans; then :; else echo; fi
case "${ans,,}" in
y | yes)
bash "$a" || msg_warn "Addon update for $name failed (rc=$?)"
;;
*)
msg_info "Skipped addon: $name"
;;
esac
done
}
# ------------------------------------------------------------------------------
# start()
#
@@ -3523,6 +3569,7 @@ start() {
ensure_profile_loaded
get_lxc_ip
update_script
run_addon_updates
update_motd_ip
cleanup_lxc
else
@@ -3551,6 +3598,7 @@ start() {
ensure_profile_loaded
get_lxc_ip
update_script
run_addon_updates
update_motd_ip
cleanup_lxc
fi