mirror of
https://github.com/community-scripts/ProxmoxVE.git
synced 2026-07-03 20:52:13 +02:00
Compare commits
18 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
| b53dd910f2 | |||
| 8b93a15e0c | |||
| a46ae11f5e | |||
| 0b1a4de4ce | |||
| d6fcb49fdb | |||
| 8d4ce5d629 | |||
| 4370c2b55b | |||
| 98cf7ca3de | |||
| e99081a145 | |||
| bd611759dc | |||
| 30fff0058a | |||
| c33ec76ded | |||
| a48679d0c8 | |||
| 43c2766181 | |||
| 4adb74e304 | |||
| 20ee92cc32 | |||
| b3cdbc1582 | |||
| 52168aac12 |
@@ -491,20 +491,6 @@ Exercise vigilance regarding copycat or coat-tailing sites that seek to exploit
|
||||
|
||||
## 2026-07-03
|
||||
|
||||
### 🚀 Updated Scripts
|
||||
|
||||
- Opencloud: Pin to v7.2.0 [@vhsdream](https://github.com/vhsdream) ([#15575](https://github.com/community-scripts/ProxmoxVE/pull/15575))
|
||||
|
||||
- #### 🐞 Bug Fixes
|
||||
|
||||
- Immich: handle mise monorepo_root rename correctly | bump to 3.0.1 [@MickLesk](https://github.com/MickLesk) ([#15557](https://github.com/community-scripts/ProxmoxVE/pull/15557))
|
||||
|
||||
### 🧰 Tools
|
||||
|
||||
- #### 🐞 Bug Fixes
|
||||
|
||||
- Removed deprecated parameter in Filebrowser Quantum configuration [@alpargatagazer](https://github.com/alpargatagazer) ([#15573](https://github.com/community-scripts/ProxmoxVE/pull/15573))
|
||||
|
||||
## 2026-07-02
|
||||
|
||||
### 🆕 New Scripts
|
||||
|
||||
+1
-1
@@ -30,7 +30,7 @@ function update_script() {
|
||||
exit
|
||||
fi
|
||||
|
||||
RELEASE="v7.2.0"
|
||||
RELEASE="v7.0.0"
|
||||
if check_for_gh_release "OpenCloud" "opencloud-eu/opencloud" "${RELEASE}" "each release is tested individually before the version is updated. Please do not open issues for this"; then
|
||||
msg_info "Stopping services"
|
||||
systemctl stop opencloud opencloud-wopi
|
||||
|
||||
@@ -64,7 +64,7 @@ $STD sudo -u cool coolconfig set-admin-password --user=admin --password="$COOLPA
|
||||
echo "$COOLPASS" >~/.coolpass
|
||||
msg_ok "Installed Collabora Online"
|
||||
|
||||
fetch_and_deploy_gh_release "OpenCloud" "opencloud-eu/opencloud" "singlefile" "v7.2.0" "/usr/bin" "opencloud-*-linux-$(arch_resolve)"
|
||||
fetch_and_deploy_gh_release "OpenCloud" "opencloud-eu/opencloud" "singlefile" "v7.0.0" "/usr/bin" "opencloud-*-linux-$(arch_resolve)"
|
||||
mv /usr/bin/OpenCloud /usr/bin/opencloud
|
||||
|
||||
msg_info "Configuring OpenCloud"
|
||||
|
||||
+12
-67
@@ -7442,13 +7442,6 @@ setup_nodejs() {
|
||||
local wants_corepack=0
|
||||
local node_setup_ok_msg=""
|
||||
|
||||
# Corepack must run fully non-interactive. Without this it prints
|
||||
# "Corepack is about to download X. Do you want to continue? [Y/n]" and blocks
|
||||
# the whole install waiting for keyboard input - both here and in the calling
|
||||
# script's later `corepack prepare` / `corepack <pm>` calls, which run in this
|
||||
# same shell and inherit the export.
|
||||
export COREPACK_ENABLE_DOWNLOAD_PROMPT=0
|
||||
|
||||
# ALWAYS clean up legacy installations first (nvm, etc.) to prevent conflicts
|
||||
cleanup_legacy_install "nodejs"
|
||||
|
||||
@@ -7603,48 +7596,17 @@ setup_nodejs() {
|
||||
|
||||
IFS=',' read -ra MODULES <<<"$NODE_MODULE"
|
||||
|
||||
local corepack_spec="corepack@latest"
|
||||
for i in "${!MODULES[@]}"; do
|
||||
if [[ "${MODULES[$i]}" == "corepack" || "${MODULES[$i]}" == corepack@* ]]; then
|
||||
wants_corepack=1
|
||||
[[ "${MODULES[$i]}" == corepack@* ]] && corepack_spec="${MODULES[$i]}"
|
||||
fi
|
||||
if [[ "${MODULES[$i]}" == "pnpm" ]]; then
|
||||
MODULES[$i]="pnpm@^10"
|
||||
fi
|
||||
done
|
||||
|
||||
# When corepack is requested, install and enable it FIRST. The corepack npm
|
||||
# package owns the global yarn/pnpm/pnpx/yarnpkg bin shims, so a second
|
||||
# `npm install -g yarn`/`pnpm` collides on /usr/bin/<tool> (EEXIST). With
|
||||
# corepack ready we provision those package managers THROUGH corepack instead.
|
||||
local corepack_ready=0
|
||||
if ((wants_corepack)); then
|
||||
msg_info "Installing corepack"
|
||||
if $STD npm install -g "$corepack_spec" 2>/dev/null ||
|
||||
$STD npm install -g --force "$corepack_spec" 2>/dev/null; then
|
||||
msg_ok "Installed corepack"
|
||||
else
|
||||
msg_warn "Failed to install corepack"
|
||||
fi
|
||||
if [[ "$NODE_COREPACK_ENABLE" == "1" ]] && command -v corepack >/dev/null 2>&1; then
|
||||
msg_info "Enabling corepack"
|
||||
if $STD corepack enable 2>/dev/null; then
|
||||
corepack_ready=1
|
||||
msg_ok "Enabled corepack"
|
||||
else
|
||||
msg_warn "corepack enable failed"
|
||||
fi
|
||||
fi
|
||||
fi
|
||||
|
||||
local failed_modules=0
|
||||
for mod in "${MODULES[@]}"; do
|
||||
# corepack itself is already handled above
|
||||
if [[ "$mod" == "corepack" || "$mod" == corepack@* ]]; then
|
||||
continue
|
||||
fi
|
||||
|
||||
local MODULE_NAME MODULE_REQ_VERSION MODULE_INSTALLED_VERSION
|
||||
if [[ "$mod" == @*/*@* ]]; then
|
||||
# Scoped package with version, e.g. @vue/cli-service@latest
|
||||
@@ -7660,27 +7622,6 @@ setup_nodejs() {
|
||||
MODULE_REQ_VERSION="latest"
|
||||
fi
|
||||
|
||||
# Provision pnpm/yarn through corepack when it is active, so we never fight
|
||||
# corepack over the /usr/bin/{yarn,pnpm} shim locations it owns.
|
||||
if ((corepack_ready)) && [[ "$MODULE_NAME" == "pnpm" || "$MODULE_NAME" == "yarn" ]]; then
|
||||
local corepack_pkg="$MODULE_NAME"
|
||||
[[ "$MODULE_REQ_VERSION" != "latest" ]] && corepack_pkg="${MODULE_NAME}@${MODULE_REQ_VERSION}"
|
||||
msg_info "Provisioning $MODULE_NAME via corepack"
|
||||
if $STD corepack prepare "$corepack_pkg" --activate 2>/dev/null || command -v "$MODULE_NAME" >/dev/null 2>&1; then
|
||||
msg_ok "Provisioned $MODULE_NAME via corepack"
|
||||
else
|
||||
msg_warn "Failed to provision $MODULE_NAME via corepack"
|
||||
((failed_modules++)) || true
|
||||
fi
|
||||
continue
|
||||
fi
|
||||
|
||||
# For the npm-global path, drop any corepack-provided shim first so the
|
||||
# bin link can be created without an EEXIST collision.
|
||||
if [[ "$MODULE_NAME" == "pnpm" || "$MODULE_NAME" == "yarn" || "$MODULE_NAME" == "yarnpkg" ]]; then
|
||||
rm -f /usr/bin/"$MODULE_NAME" /usr/local/bin/"$MODULE_NAME" 2>/dev/null || true
|
||||
fi
|
||||
|
||||
# Check if the module is already installed
|
||||
if $STD npm list -g --depth=0 "$MODULE_NAME" 2>&1 | grep -q "$MODULE_NAME@"; then
|
||||
MODULE_INSTALLED_VERSION="$(npm list -g --depth=0 "$MODULE_NAME" 2>&1 | grep "$MODULE_NAME@" | awk -F@ '{print $2}' 2>/dev/null | tr -d '[:space:]' || echo '')"
|
||||
@@ -7723,15 +7664,19 @@ setup_nodejs() {
|
||||
fi
|
||||
fi
|
||||
|
||||
# pnpm v10+ blocks dependency build scripts by default. Do NOT force
|
||||
# `dangerouslyAllowAllBuilds` globally: pnpm implements that flag as an empty
|
||||
# `neverBuiltDependencies`, which then clashes with any project that ships its
|
||||
# own `onlyBuiltDependencies` (every create-t3-app based app, e.g. Split Pro)
|
||||
# and aborts with ERR_PNPM_CONFIG_CONFLICT_BUILT_DEPENDENCIES. Instead relax the
|
||||
# strict check so an unapproved build is a warning, not a fatal error; scripts
|
||||
# that truly need every build script executed enable that themselves.
|
||||
# pnpm v10+ blocks dependency build scripts by default (ERR_PNPM_IGNORED_BUILDS).
|
||||
# In a container environment all installed packages are trusted, so we enable builds globally.
|
||||
if command -v pnpm >/dev/null 2>&1; then
|
||||
pnpm config set --global strictDepBuilds false >/dev/null 2>&1 || true
|
||||
pnpm config set --global dangerouslyAllowAllBuilds true >/dev/null 2>&1 || true
|
||||
fi
|
||||
|
||||
if [[ "$NODE_COREPACK_ENABLE" == "1" ]] && ((wants_corepack)) && command -v corepack >/dev/null 2>&1; then
|
||||
msg_info "Enabling corepack"
|
||||
if $STD corepack enable 2>/dev/null; then
|
||||
msg_ok "Enabled corepack"
|
||||
else
|
||||
msg_warn "corepack enable failed"
|
||||
fi
|
||||
fi
|
||||
}
|
||||
|
||||
|
||||
@@ -176,10 +176,11 @@ if [[ "${noauth_prompt,,}" =~ ^(y|yes)$ ]]; then
|
||||
server:
|
||||
port: $PORT
|
||||
sources:
|
||||
- path: "$SRC_DIR"
|
||||
- path: "$SRC_DIR"
|
||||
name: "RootFS"
|
||||
config:
|
||||
denyByDefault: false
|
||||
disableIndexing: false
|
||||
indexingIntervalMinutes: 240
|
||||
conditionals:
|
||||
rules:
|
||||
@@ -203,6 +204,7 @@ server:
|
||||
name: "RootFS"
|
||||
config:
|
||||
denyByDefault: false
|
||||
disableIndexing: false
|
||||
indexingIntervalMinutes: 240
|
||||
conditionals:
|
||||
rules:
|
||||
|
||||
Reference in New Issue
Block a user