mirror of
https://github.com/community-scripts/ProxmoxVE.git
synced 2026-04-13 21:45:04 +02:00
Compare commits
17 Commits
fix/ironcl
...
main
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
392ff1f575 | ||
|
|
af9bf93707 | ||
|
|
cfe5e7baa7 | ||
|
|
1d609976d3 | ||
|
|
041de06a4d | ||
|
|
f0bfec1b59 | ||
|
|
83ef4a5857 | ||
|
|
0baafa3993 | ||
|
|
e55fe43e2d | ||
|
|
482f579dc0 | ||
|
|
2652ae6c95 | ||
|
|
e9f802dd29 | ||
|
|
60957a8eee | ||
|
|
0bf87f6fcc | ||
|
|
3dd3040010 | ||
|
|
6a86f52c0e | ||
|
|
346dfd8bf7 |
24
CHANGELOG.md
24
CHANGELOG.md
@@ -442,12 +442,36 @@ Exercise vigilance regarding copycat or coat-tailing sites that seek to exploit
|
||||
|
||||
</details>
|
||||
|
||||
## 2026-04-13
|
||||
|
||||
### 🚀 Updated Scripts
|
||||
|
||||
- #### 🐞 Bug Fixes
|
||||
|
||||
- Slskd: Remove stale Soularr lock file on startup and redirect logs to stderr [@MickLesk](https://github.com/MickLesk) ([#13669](https://github.com/community-scripts/ProxmoxVE/pull/13669))
|
||||
- Bambuddy: preserve database and archive on update [@Copilot](https://github.com/Copilot) ([#13706](https://github.com/community-scripts/ProxmoxVE/pull/13706))
|
||||
|
||||
- #### ✨ New Features
|
||||
|
||||
- Immich: Pin version to 2.7.5 [@vhsdream](https://github.com/vhsdream) ([#13715](https://github.com/community-scripts/ProxmoxVE/pull/13715))
|
||||
- Bytestash: auto backup/restore data on update [@MickLesk](https://github.com/MickLesk) ([#13707](https://github.com/community-scripts/ProxmoxVE/pull/13707))
|
||||
- OpenCloud: pin version to 6.0.0 [@vhsdream](https://github.com/vhsdream) ([#13691](https://github.com/community-scripts/ProxmoxVE/pull/13691))
|
||||
|
||||
- #### 🔧 Refactor
|
||||
|
||||
- core: remove unused TEMP_DIR mktemp leak in build_container / clean sonarqube [@MickLesk](https://github.com/MickLesk) ([#13708](https://github.com/community-scripts/ProxmoxVE/pull/13708))
|
||||
|
||||
## 2026-04-12
|
||||
|
||||
### 🚀 Updated Scripts
|
||||
|
||||
- #### 🐞 Bug Fixes
|
||||
|
||||
- Alpine-Wakapi: Remove container checks in update_script function [@MickLesk](https://github.com/MickLesk) ([#13694](https://github.com/community-scripts/ProxmoxVE/pull/13694))
|
||||
|
||||
- #### 🔧 Refactor
|
||||
|
||||
- IronClaw: Install keychain dependencies and launch in a DBus session [@MickLesk](https://github.com/MickLesk) ([#13692](https://github.com/community-scripts/ProxmoxVE/pull/13692))
|
||||
- MeTube: Allow pnpm build scripts to fix ERR_PNPM_IGNORED_BUILDS [@MickLesk](https://github.com/MickLesk) ([#13668](https://github.com/community-scripts/ProxmoxVE/pull/13668))
|
||||
|
||||
## 2026-04-11
|
||||
|
||||
@@ -22,8 +22,6 @@ catch_errors
|
||||
|
||||
function update_script() {
|
||||
header_info
|
||||
check_container_storage
|
||||
check_container_resources
|
||||
if [[ ! -d /opt/wakapi ]]; then
|
||||
msg_error "No ${APP} Installation Found!"
|
||||
exit
|
||||
|
||||
@@ -39,6 +39,9 @@ function update_script() {
|
||||
msg_info "Backing up Configuration and Data"
|
||||
cp /opt/bambuddy/.env /opt/bambuddy.env.bak
|
||||
cp -r /opt/bambuddy/data /opt/bambuddy_data_bak
|
||||
[[ -f /opt/bambuddy/bambuddy.db ]] && cp /opt/bambuddy/bambuddy.db /opt/bambuddy.db.bak
|
||||
[[ -f /opt/bambuddy/bambutrack.db ]] && cp /opt/bambuddy/bambutrack.db /opt/bambutrack.db.bak
|
||||
[[ -d /opt/bambuddy/archive ]] && cp -r /opt/bambuddy/archive /opt/bambuddy_archive_bak
|
||||
msg_ok "Backed up Configuration and Data"
|
||||
|
||||
CLEAN_INSTALL=1 fetch_and_deploy_gh_release "bambuddy" "maziggy/bambuddy" "tarball" "latest" "/opt/bambuddy"
|
||||
@@ -59,8 +62,14 @@ function update_script() {
|
||||
mkdir -p /opt/bambuddy/data
|
||||
cp /opt/bambuddy.env.bak /opt/bambuddy/.env
|
||||
cp -r /opt/bambuddy_data_bak/. /opt/bambuddy/data/
|
||||
rm -f /opt/bambuddy.env.bak
|
||||
rm -rf /opt/bambuddy_data_bak
|
||||
[[ -f /opt/bambuddy.db.bak ]] && cp /opt/bambuddy.db.bak /opt/bambuddy/bambuddy.db
|
||||
[[ -f /opt/bambutrack.db.bak ]] && cp /opt/bambutrack.db.bak /opt/bambuddy/bambutrack.db
|
||||
if [[ -d /opt/bambuddy_archive_bak ]]; then
|
||||
mkdir -p /opt/bambuddy/archive
|
||||
cp -r /opt/bambuddy_archive_bak/. /opt/bambuddy/archive/
|
||||
fi
|
||||
rm -f /opt/bambuddy.env.bak /opt/bambuddy.db.bak /opt/bambutrack.db.bak
|
||||
rm -rf /opt/bambuddy_data_bak /opt/bambuddy_archive_bak
|
||||
msg_ok "Restored Configuration and Data"
|
||||
|
||||
msg_info "Starting Service"
|
||||
|
||||
@@ -29,28 +29,41 @@ function update_script() {
|
||||
exit
|
||||
fi
|
||||
if check_for_gh_release "bytestash" "jordan-dalby/ByteStash"; then
|
||||
read -rp "${TAB3}Did you make a backup via application WebUI? (y/n): " backuped
|
||||
if [[ "$backuped" =~ ^[Yy]$ ]]; then
|
||||
msg_info "Stopping Services"
|
||||
systemctl stop bytestash-backend bytestash-frontend
|
||||
msg_ok "Services Stopped"
|
||||
msg_info "Stopping Services"
|
||||
systemctl stop bytestash-backend bytestash-frontend
|
||||
msg_ok "Services Stopped"
|
||||
|
||||
CLEAN_INSTALL=1 fetch_and_deploy_gh_release "bytestash" "jordan-dalby/ByteStash" "tarball"
|
||||
|
||||
msg_info "Configuring ByteStash"
|
||||
cd /opt/bytestash/server
|
||||
$STD npm install
|
||||
cd /opt/bytestash/client
|
||||
$STD npm install
|
||||
msg_ok "Updated ByteStash"
|
||||
|
||||
msg_info "Starting Services"
|
||||
systemctl start bytestash-backend bytestash-frontend
|
||||
msg_ok "Started Services"
|
||||
else
|
||||
msg_error "PLEASE MAKE A BACKUP FIRST!"
|
||||
exit
|
||||
msg_info "Backing up data"
|
||||
tmp_dir="/opt/bytestash-data-backup"
|
||||
mkdir -p "$tmp_dir"
|
||||
if [[ -d /opt/bytestash/data ]]; then
|
||||
cp -r /opt/bytestash/data "$tmp_dir"/data
|
||||
elif [[ -d /opt/data ]]; then
|
||||
cp -r /opt/data "$tmp_dir"/data
|
||||
fi
|
||||
msg_ok "Data backed up"
|
||||
|
||||
CLEAN_INSTALL=1 fetch_and_deploy_gh_release "bytestash" "jordan-dalby/ByteStash" "tarball"
|
||||
|
||||
msg_info "Restoring data"
|
||||
if [[ -d "$tmp_dir"/data ]]; then
|
||||
mkdir -p /opt/bytestash/data
|
||||
cp -r "$tmp_dir"/data/* /opt/bytestash/data/
|
||||
rm -rf "$tmp_dir"
|
||||
fi
|
||||
msg_ok "Data restored"
|
||||
|
||||
msg_info "Configuring ByteStash"
|
||||
cd /opt/bytestash/server
|
||||
$STD npm install
|
||||
cd /opt/bytestash/client
|
||||
$STD npm install
|
||||
msg_ok "Updated ByteStash"
|
||||
|
||||
msg_info "Starting Services"
|
||||
systemctl start bytestash-backend bytestash-frontend
|
||||
msg_ok "Started Services"
|
||||
|
||||
msg_ok "Updated successfully!"
|
||||
fi
|
||||
exit
|
||||
|
||||
@@ -109,7 +109,7 @@ EOF
|
||||
msg_ok "Image-processing libraries up to date"
|
||||
fi
|
||||
|
||||
RELEASE="v2.7.4"
|
||||
RELEASE="v2.7.5"
|
||||
if check_for_gh_release "Immich" "immich-app/immich" "${RELEASE}" "each release is tested individually before the version is updated. Please do not open issues for this"; then
|
||||
if [[ $(cat ~/.immich) > "2.5.1" ]]; then
|
||||
msg_info "Enabling Maintenance Mode"
|
||||
|
||||
@@ -29,7 +29,7 @@ function update_script() {
|
||||
exit
|
||||
fi
|
||||
|
||||
RELEASE="v5.2.0"
|
||||
RELEASE="v6.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
|
||||
|
||||
@@ -43,6 +43,7 @@ function update_script() {
|
||||
RELEASE=$(get_latest_github_release "SonarSource/sonarqube")
|
||||
curl -fsSL "https://binaries.sonarsource.com/Distribution/sonarqube/sonarqube-${RELEASE}.zip" -o $temp_file
|
||||
unzip -q "$temp_file" -d /opt
|
||||
rm -f "$temp_file"
|
||||
mv /opt/sonarqube-${RELEASE} /opt/sonarqube
|
||||
echo "${RELEASE}" > ~/.sonarqube
|
||||
msg_ok "Updated SonarQube"
|
||||
|
||||
@@ -14,7 +14,7 @@ network_check
|
||||
update_os
|
||||
|
||||
msg_info "Installing Dependencies"
|
||||
$STD apk add openssl
|
||||
$STD apk add openssl dbus gnome-keyring
|
||||
msg_ok "Installed Dependencies"
|
||||
|
||||
msg_info "Installing PostgreSQL"
|
||||
@@ -57,7 +57,8 @@ cat <<EOF >/etc/init.d/ironclaw
|
||||
|
||||
name="IronClaw"
|
||||
description="IronClaw AI Agent"
|
||||
command="/usr/local/bin/ironclaw"
|
||||
command="/usr/bin/dbus-run-session"
|
||||
command_args="/usr/local/bin/ironclaw"
|
||||
command_background=true
|
||||
pidfile="/run/ironclaw.pid"
|
||||
directory="/root"
|
||||
|
||||
@@ -295,7 +295,7 @@ ML_DIR="${APP_DIR}/machine-learning"
|
||||
GEO_DIR="${INSTALL_DIR}/geodata"
|
||||
mkdir -p {"${APP_DIR}","${UPLOAD_DIR}","${GEO_DIR}","${INSTALL_DIR}"/cache}
|
||||
|
||||
fetch_and_deploy_gh_release "Immich" "immich-app/immich" "tarball" "v2.7.4" "$SRC_DIR"
|
||||
fetch_and_deploy_gh_release "Immich" "immich-app/immich" "tarball" "v2.7.5" "$SRC_DIR"
|
||||
PNPM_VERSION="$(jq -r '.packageManager | split("@")[1] | split("+")[0]' ${SRC_DIR}/package.json)"
|
||||
NODE_VERSION="24" NODE_MODULE="pnpm@${PNPM_VERSION}" setup_nodejs
|
||||
|
||||
|
||||
@@ -13,6 +13,13 @@ setting_up_container
|
||||
network_check
|
||||
update_os
|
||||
|
||||
msg_info "Installing Dependencies"
|
||||
$STD apt install -y \
|
||||
dbus-user-session \
|
||||
gnome-keyring \
|
||||
libsecret-tools
|
||||
msg_ok "Installed Dependencies"
|
||||
|
||||
PG_VERSION="17" PG_MODULES="pgvector" setup_postgresql
|
||||
PG_DB_NAME="ironclaw" PG_DB_USER="ironclaw" PG_DB_EXTENSIONS="vector" setup_postgresql_db
|
||||
|
||||
@@ -46,7 +53,8 @@ After=network.target postgresql.service
|
||||
Type=simple
|
||||
User=root
|
||||
WorkingDirectory=/root
|
||||
ExecStart=/usr/local/bin/ironclaw
|
||||
EnvironmentFile=/root/.ironclaw/.env
|
||||
ExecStart=/usr/bin/dbus-run-session /usr/local/bin/ironclaw
|
||||
Restart=on-failure
|
||||
RestartSec=5
|
||||
|
||||
|
||||
@@ -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" "v5.2.0" "/usr/bin" "opencloud-*-linux-amd64"
|
||||
fetch_and_deploy_gh_release "OpenCloud" "opencloud-eu/opencloud" "singlefile" "v6.0.0" "/usr/bin" "opencloud-*-linux-amd64"
|
||||
mv /usr/bin/OpenCloud /usr/bin/opencloud
|
||||
|
||||
msg_info "Configuring OpenCloud"
|
||||
|
||||
@@ -48,12 +48,15 @@ if [[ ${soularr,,} =~ ^(y|yes)$ ]]; then
|
||||
#!/usr/bin/env bash
|
||||
|
||||
if ps aux | grep "[s]oularr.py" >/dev/null; then
|
||||
echo "Soularr is already running. Exiting..."
|
||||
echo "Soularr is already running. Exiting..." >&2
|
||||
exit 1
|
||||
else
|
||||
source /opt/soularr/venv/bin/activate
|
||||
uv run python3 -u /opt/soularr/soularr.py --config-dir /opt/soularr
|
||||
fi
|
||||
|
||||
# Remove stale lock file from previous ungraceful exit
|
||||
rm -f "/opt/soularr/.soularr.lock"
|
||||
|
||||
source /opt/soularr/venv/bin/activate
|
||||
uv run python3 -u /opt/soularr/soularr.py --config-dir /opt/soularr 2>&1
|
||||
EOF
|
||||
chmod +x /opt/soularr/run.sh
|
||||
deactivate
|
||||
|
||||
@@ -21,6 +21,7 @@ temp_file=$(mktemp)
|
||||
RELEASE=$(get_latest_github_release "SonarSource/sonarqube")
|
||||
curl -fsSL "https://binaries.sonarsource.com/Distribution/sonarqube/sonarqube-${RELEASE}.zip" -o $temp_file
|
||||
unzip -q "$temp_file" -d /opt
|
||||
rm -f "$temp_file"
|
||||
mv /opt/sonarqube-* /opt/sonarqube
|
||||
$STD useradd -r -m -U -d /opt/sonarqube -s /bin/bash sonarqube
|
||||
chown -R sonarqube:sonarqube /opt/sonarqube
|
||||
|
||||
@@ -3613,8 +3613,6 @@ build_container() {
|
||||
fi
|
||||
|
||||
# Build PCT_OPTIONS as string for export
|
||||
TEMP_DIR=$(mktemp -d)
|
||||
pushd "$TEMP_DIR" >/dev/null
|
||||
local _func_url
|
||||
if [ "$var_os" == "alpine" ]; then
|
||||
_func_url="https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/misc/alpine-install.func"
|
||||
|
||||
@@ -317,7 +317,7 @@ function default_settings() {
|
||||
|
||||
# Determine available network modes based on bridge count
|
||||
local DEFAULT_WAN_BRG
|
||||
DEFAULT_WAN_BRG=$(echo "$AVAILABLE_BRIDGES" | grep -v "^${BRG}$" | head -n1)
|
||||
DEFAULT_WAN_BRG=$(echo "$AVAILABLE_BRIDGES" | grep -v "^${BRG}$" | head -n1 || true)
|
||||
|
||||
if [ "$BRIDGE_COUNT" -ge 2 ]; then
|
||||
# Multiple bridges available - offer dual or single mode
|
||||
@@ -509,7 +509,7 @@ function advanced_settings() {
|
||||
|
||||
# Build WAN bridge selection from available bridges (excluding LAN bridge)
|
||||
local WAN_BRIDGES
|
||||
WAN_BRIDGES=$(get_available_bridges | grep -v "^${BRG}$")
|
||||
WAN_BRIDGES=$(get_available_bridges | grep -v "^${BRG}$" || true)
|
||||
if [ -z "$WAN_BRIDGES" ]; then
|
||||
msg_error "No additional bridge available for WAN. Only '${BRG}' exists."
|
||||
msg_error "Create a second bridge (e.g. vmbr1) in Proxmox network config first."
|
||||
@@ -738,8 +738,8 @@ done
|
||||
msg_info "Creating a OPNsense VM"
|
||||
qm create $VMID -agent 1${MACHINE} -tablet 0 -localtime 1 -bios ovmf${CPU_TYPE} -cores $CORE_COUNT -memory $RAM_SIZE \
|
||||
-name $HN -tags community-script -net0 virtio,bridge=$BRG,macaddr=$MAC$VLAN$MTU -onboot 1 -ostype l26 -scsihw virtio-scsi-pci
|
||||
pvesm alloc $STORAGE $VMID $DISK0 4M 1>&/dev/null
|
||||
qm importdisk $VMID ${FILE} $STORAGE ${DISK_IMPORT:-} 1>&/dev/null
|
||||
pvesm alloc $STORAGE $VMID $DISK0 4M &>/dev/null
|
||||
qm importdisk $VMID ${FILE} $STORAGE ${DISK_IMPORT:-} &>/dev/null
|
||||
qm set $VMID \
|
||||
-efidisk0 ${DISK0_REF}${FORMAT} \
|
||||
-scsi0 ${DISK1_REF},${DISK_CACHE}${THIN}size=2G \
|
||||
|
||||
Reference in New Issue
Block a user