mirror of
https://github.com/community-scripts/ProxmoxVE.git
synced 2026-09-18 18:54:03 +00:00
Compare commits
1 Commits
fix-chown-
...
fix-sabnzb
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
ec10fdbb0e |
21
CHANGELOG.md
21
CHANGELOG.md
@@ -543,27 +543,6 @@ Exercise vigilance regarding copycat or coat-tailing sites that seek to exploit
|
||||
|
||||
</details>
|
||||
|
||||
## 2026-09-18
|
||||
|
||||
### 🚀 Updated Scripts
|
||||
|
||||
- #### 🐞 Bug Fixes
|
||||
|
||||
- suggestarr: keep the data where the app actually reads it [@MickLesk](https://github.com/MickLesk) ([#17317](https://github.com/community-scripts/ProxmoxVE/pull/17317))
|
||||
- immichframe: set the admin password the new admin UI requires [@MickLesk](https://github.com/MickLesk) ([#17315](https://github.com/community-scripts/ProxmoxVE/pull/17315))
|
||||
|
||||
- #### ✨ New Features
|
||||
|
||||
- pangolin: Bump to 1.23.0 [@MickLesk](https://github.com/MickLesk) ([#17343](https://github.com/community-scripts/ProxmoxVE/pull/17343))
|
||||
|
||||
- #### 🔧 Refactor
|
||||
|
||||
- Refactor: Oxicloud [@MickLesk](https://github.com/MickLesk) ([#17338](https://github.com/community-scripts/ProxmoxVE/pull/17338))
|
||||
|
||||
### 💾 Core
|
||||
|
||||
- github api: retry a 200 that is not a usable release payload [@MickLesk](https://github.com/MickLesk) ([core#45](https://github.com/community-scripts/core/pull/45))
|
||||
|
||||
## 2026-09-17
|
||||
|
||||
### 🆕 New Scripts
|
||||
|
||||
@@ -87,10 +87,10 @@ function update_script() {
|
||||
mkdir -p /opt/databasus/ui/build
|
||||
cp -r /opt/databasus/frontend/dist/* /opt/databasus/ui/build/
|
||||
cp -r /opt/databasus/backend/migrations /opt/databasus/
|
||||
chown -R postgres:postgres /opt/databasus
|
||||
msg_ok "Updated Databasus"
|
||||
|
||||
restore_backup
|
||||
chown -R postgres:postgres /opt/databasus
|
||||
|
||||
if ! grep -q "EnvironmentFile=/.env" /etc/systemd/system/databasus.service; then
|
||||
msg_info "Updating Service"
|
||||
|
||||
@@ -53,10 +53,10 @@ function update_script() {
|
||||
msg_info "Updating Domain Monitor"
|
||||
cd /opt/domain-monitor
|
||||
$STD composer install
|
||||
chown -R www-data:www-data /opt/domain-monitor
|
||||
msg_ok "Updated Domain Monitor"
|
||||
|
||||
restore_backup
|
||||
chown -R www-data:www-data /opt/domain-monitor
|
||||
|
||||
msg_info "Restarting Services"
|
||||
systemctl start apache2
|
||||
|
||||
@@ -79,17 +79,6 @@ function update_script() {
|
||||
restore_backup
|
||||
chown -R immichframe:immichframe /opt/immichframe
|
||||
|
||||
if ! grep -q '^Environment=IMMICHFRAME_ADMIN_PASSWORD=' /etc/systemd/system/immichframe.service; then
|
||||
msg_info "Setting Admin Password"
|
||||
ADMIN_PASSWORD=$(openssl rand -hex 16)
|
||||
sed -i "/^Environment=DOTNET_CONTENTROOT=/a Environment=IMMICHFRAME_ADMIN_PASSWORD=${ADMIN_PASSWORD}" /etc/systemd/system/immichframe.service
|
||||
cat <<EOF >>~/immichframe.creds
|
||||
ImmichFrame Admin User: admin
|
||||
ImmichFrame Admin Password: $ADMIN_PASSWORD
|
||||
EOF
|
||||
systemctl daemon-reload
|
||||
msg_ok "Set Admin Password (see ~/immichframe.creds)"
|
||||
fi
|
||||
|
||||
msg_info "Starting Service"
|
||||
systemctl start immichframe
|
||||
|
||||
@@ -10,8 +10,8 @@ source "$_cs_boot" 2>/dev/null || source <(curl -fsSL "${COMMUNITY_SCRIPTS_CORE_
|
||||
|
||||
APP="OxiCloud"
|
||||
var_tags="${var_tags:-files;documents}"
|
||||
var_cpu="${var_cpu:-2}"
|
||||
var_ram="${var_ram:-2048}"
|
||||
var_cpu="${var_cpu:-4}"
|
||||
var_ram="${var_ram:-6144}"
|
||||
var_disk="${var_disk:-20}"
|
||||
var_os="${var_os:-debian}"
|
||||
var_version="${var_version:-13}"
|
||||
@@ -33,19 +33,42 @@ function update_script() {
|
||||
exit
|
||||
fi
|
||||
|
||||
ensure_dependencies ffmpeg
|
||||
NODE_VERSION="26" setup_nodejs
|
||||
|
||||
if check_for_gh_release "OxiCloud" "DioCrafts/OxiCloud"; then
|
||||
msg_info "Stopping OxiCloud"
|
||||
systemctl stop oxicloud
|
||||
msg_ok "Stopped OxiCloud"
|
||||
|
||||
CLEAN_INSTALL=1 fetch_and_deploy_gh_release "OxiCloud" "DioCrafts/OxiCloud" "prebuild" "latest" "/opt/oxicloud" "oxicloud-*-$(arch_resolve x86_64 aarch64)-unknown-linux-musl.tar.gz"
|
||||
CLEAN_INSTALL=1 fetch_and_deploy_gh_release "OxiCloud" "DioCrafts/OxiCloud" "tarball" "latest" "/opt/oxicloud"
|
||||
TOOLCHAIN="$(grep -oP 'FROM\s+rust:\K[0-9]+\.[0-9]+(\.[0-9]+)?' /opt/oxicloud/Dockerfile | head -1)"
|
||||
RUST_TOOLCHAIN="${TOOLCHAIN:-stable}" setup_rust
|
||||
|
||||
msg_info "Updating OxiCloud"
|
||||
install -m 755 /opt/oxicloud/oxicloud /usr/local/bin/oxicloud
|
||||
rm -f /usr/local/bin/migrate-nfc-filenames /usr/bin/oxicloud
|
||||
sed -i 's|^OXICLOUD_STATIC_PATH=|#OXICLOUD_STATIC_PATH=|' /etc/oxicloud/.env
|
||||
msg_info "Building Frontend SPA"
|
||||
cd /opt/oxicloud/frontend
|
||||
$STD npm ci
|
||||
$STD npm run build
|
||||
msg_ok "Built Frontend SPA"
|
||||
|
||||
msg_info "Updating OxiCloud (Patience)"
|
||||
set -a
|
||||
source /etc/oxicloud/.env
|
||||
set +a
|
||||
cd /opt/oxicloud
|
||||
export DATABASE_URL
|
||||
export RUSTFLAGS="-C target-cpu=native"
|
||||
RAM_MB=$(awk '/MemTotal/ {print int($2/1024)}' /proc/meminfo)
|
||||
CARGO_JOBS=$((RAM_MB / 2560))
|
||||
[[ $CARGO_JOBS -lt 1 ]] && CARGO_JOBS=1
|
||||
[[ $CARGO_JOBS -gt $(nproc) ]] && CARGO_JOBS=$(nproc)
|
||||
$STD cargo build --release -j "$CARGO_JOBS" --bin oxicloud --bin migrate-nfc-filenames
|
||||
mv target/release/oxicloud /usr/local/bin/oxicloud
|
||||
mv target/release/migrate-nfc-filenames /usr/local/bin/migrate-nfc-filenames
|
||||
chmod +x /usr/local/bin/oxicloud /usr/local/bin/migrate-nfc-filenames
|
||||
rm -f /usr/bin/oxicloud
|
||||
rm -rf /opt/oxicloud/static
|
||||
mv /opt/oxicloud/static-dist /opt/oxicloud/static
|
||||
rm -rf /opt/oxicloud/target /opt/oxicloud/frontend/node_modules
|
||||
msg_ok "Updated OxiCloud"
|
||||
|
||||
msg_info "Starting OxiCloud"
|
||||
|
||||
@@ -8,7 +8,7 @@ source "$_cs_boot" 2>/dev/null || source <(curl -fsSL "${COMMUNITY_SCRIPTS_CORE_
|
||||
# Source: https://pangolin.net/ | Github: https://github.com/fosrl/pangolin
|
||||
|
||||
APP="Pangolin"
|
||||
PANGOLIN_VERSION="${PANGOLIN_VERSION:-1.23.0}"
|
||||
PANGOLIN_VERSION="${PANGOLIN_VERSION:-1.21.0}"
|
||||
var_tags="${var_tags:-proxy}"
|
||||
var_cpu="${var_cpu:-2}"
|
||||
var_ram="${var_ram:-4096}"
|
||||
|
||||
@@ -44,10 +44,10 @@ function update_script() {
|
||||
|
||||
msg_info "Deploying New Version"
|
||||
cp -r /opt/poznote/src/. /var/www/html/
|
||||
chown -R www-data:www-data /var/www/html
|
||||
msg_ok "Deployed New Version"
|
||||
|
||||
restore_backup
|
||||
chown -R www-data:www-data /var/www/html
|
||||
|
||||
msg_info "Running Poznote Initialization"
|
||||
POZNOTE_INIT=/opt/poznote/docker/init.sh
|
||||
|
||||
@@ -27,14 +27,16 @@ function update_script() {
|
||||
check_container_storage
|
||||
check_container_resources
|
||||
|
||||
if par2 --version | grep -q "par2cmdline-turbo"; then
|
||||
fetch_and_deploy_gh_release "par2cmdline-turbo" "animetosho/par2cmdline-turbo" "prebuild" "latest" "/usr/bin/" "*-linux-$(arch_resolve).zip"
|
||||
fi
|
||||
|
||||
if [[ ! -d /opt/sabnzbd ]]; then
|
||||
msg_error "No ${APP} Installation Found!"
|
||||
exit
|
||||
fi
|
||||
|
||||
if par2 --version 2>/dev/null | grep -q "par2cmdline-turbo"; then
|
||||
if ! fetch_and_deploy_gh_release "par2cmdline-turbo" "animetosho/par2cmdline-turbo" "prebuild" "latest" "/usr/bin/" "*-linux-$(arch_resolve).zip"; then
|
||||
msg_warn "Could not update par2cmdline-turbo, keeping the installed version"
|
||||
fi
|
||||
fi
|
||||
if check_for_gh_release "sabnzbd-org" "sabnzbd/sabnzbd"; then
|
||||
PYTHON_VERSION="3.13" setup_uv
|
||||
systemctl stop sabnzbd
|
||||
|
||||
@@ -37,19 +37,8 @@ function update_script() {
|
||||
systemctl stop suggestarr
|
||||
msg_ok "Stopped Service"
|
||||
|
||||
mkdir -p /opt/suggestarr_data
|
||||
if [[ -d /opt/suggestarr/config/config_files && ! -L /opt/suggestarr/config/config_files ]]; then
|
||||
msg_info "Migrating Configuration"
|
||||
cp -an /opt/suggestarr/config/config_files/. /opt/suggestarr_data/
|
||||
msg_ok "Migrated Configuration to /opt/suggestarr_data"
|
||||
fi
|
||||
|
||||
CLEAN_INSTALL=1 fetch_and_deploy_gh_release "suggestarr" "giuseppe99barchetta/SuggestArr" "tarball"
|
||||
|
||||
mkdir -p /opt/suggestarr/config
|
||||
rm -rf /opt/suggestarr/config/config_files
|
||||
ln -sfn /opt/suggestarr_data /opt/suggestarr/config/config_files
|
||||
|
||||
msg_info "Building Frontend"
|
||||
cd /opt/suggestarr/client
|
||||
$STD npm install
|
||||
|
||||
@@ -60,11 +60,6 @@ chown -R immichframe:immichframe /opt/immichframe
|
||||
msg_ok "Setup ImmichFrame"
|
||||
|
||||
msg_info "Creating Service"
|
||||
ADMIN_PASSWORD=$(openssl rand -hex 16)
|
||||
cat <<EOF >~/immichframe.creds
|
||||
ImmichFrame Admin User: admin
|
||||
ImmichFrame Admin Password: $ADMIN_PASSWORD
|
||||
EOF
|
||||
cat <<EOF >/etc/systemd/system/immichframe.service
|
||||
[Unit]
|
||||
Description=ImmichFrame Digital Photo Frame
|
||||
@@ -79,7 +74,6 @@ ExecStart=/usr/bin/dotnet /opt/immichframe/ImmichFrame.WebApi.dll
|
||||
Environment=ASPNETCORE_URLS=http://0.0.0.0:8080
|
||||
Environment=ASPNETCORE_ENVIRONMENT=Production
|
||||
Environment=DOTNET_CONTENTROOT=/opt/immichframe
|
||||
Environment=IMMICHFRAME_ADMIN_PASSWORD=$ADMIN_PASSWORD
|
||||
Restart=always
|
||||
RestartSec=5
|
||||
StandardOutput=journal
|
||||
|
||||
@@ -14,20 +14,43 @@ network_check
|
||||
update_os
|
||||
|
||||
msg_info "Installing Dependencies"
|
||||
$STD apt install -y ffmpeg
|
||||
$STD apt install -y build-essential
|
||||
msg_ok "Installed Dependencies"
|
||||
|
||||
NODE_VERSION="26" setup_nodejs
|
||||
PG_VERSION="17" setup_postgresql
|
||||
PG_DB_NAME="oxicloud" PG_DB_USER="oxicloud" setup_postgresql_db
|
||||
fetch_and_deploy_gh_release "OxiCloud" "DioCrafts/OxiCloud" "prebuild" "latest" "/opt/oxicloud" "oxicloud-*-$(arch_resolve x86_64 aarch64)-unknown-linux-musl.tar.gz"
|
||||
install -m 755 /opt/oxicloud/oxicloud /usr/local/bin/oxicloud
|
||||
fetch_and_deploy_gh_release "OxiCloud" "DioCrafts/OxiCloud" "tarball" "latest" "/opt/oxicloud"
|
||||
TOOLCHAIN="$(grep -oP 'FROM\s+rust:\K[0-9]+\.[0-9]+(\.[0-9]+)?' /opt/oxicloud/Dockerfile | head -1)"
|
||||
RUST_TOOLCHAIN="${TOOLCHAIN:-stable}" setup_rust
|
||||
|
||||
msg_info "Building Frontend SPA"
|
||||
cd /opt/oxicloud/frontend
|
||||
$STD npm ci
|
||||
$STD npm run build
|
||||
msg_ok "Built Frontend SPA"
|
||||
|
||||
msg_info "Building OxiCloud (Patience)"
|
||||
cd /opt/oxicloud
|
||||
export DATABASE_URL="postgres://${PG_DB_USER}:${PG_DB_PASS}@localhost/${PG_DB_NAME}"
|
||||
export RUSTFLAGS="-C target-cpu=native"
|
||||
RAM_MB=$(awk '/MemTotal/ {print int($2/1024)}' /proc/meminfo)
|
||||
CARGO_JOBS=$((RAM_MB / 2560))
|
||||
[[ $CARGO_JOBS -lt 1 ]] && CARGO_JOBS=1
|
||||
[[ $CARGO_JOBS -gt $(nproc) ]] && CARGO_JOBS=$(nproc)
|
||||
$STD cargo build --release -j "$CARGO_JOBS" --bin oxicloud --bin migrate-nfc-filenames
|
||||
mv target/release/oxicloud /usr/local/bin/oxicloud
|
||||
mv target/release/migrate-nfc-filenames /usr/local/bin/migrate-nfc-filenames
|
||||
rm -rf /opt/oxicloud/static
|
||||
mv /opt/oxicloud/static-dist /opt/oxicloud/static
|
||||
rm -rf /opt/oxicloud/target /opt/oxicloud/frontend/node_modules
|
||||
msg_ok "Built OxiCloud"
|
||||
|
||||
msg_info "Configuring OxiCloud"
|
||||
mkdir -p {/mnt/oxicloud,/etc/oxicloud}
|
||||
DATABASE_URL="postgres://${PG_DB_USER}:${PG_DB_PASS}@localhost/${PG_DB_NAME}"
|
||||
sed -e 's|OXICLOUD_STORAGE_PATH=.*|OXICLOUD_STORAGE_PATH=/mnt/oxicloud|' \
|
||||
-e 's|OXICLOUD_SERVER_HOST=.*|OXICLOUD_SERVER_HOST=0.0.0.0|' \
|
||||
-e 's|^OXICLOUD_STATIC_PATH=|#OXICLOUD_STATIC_PATH=|' \
|
||||
-e 's|OXICLOUD_STATIC_PATH=.*|OXICLOUD_STATIC_PATH=/opt/oxicloud/static|' \
|
||||
-e "s|^#OXICLOUD_BASE_URL=.*|OXICLOUD_BASE_URL=http://${LOCAL_IP}:8086|" \
|
||||
-e "s|OXICLOUD_DB_CONNECTION_STRING=.*|OXICLOUD_DB_CONNECTION_STRING=${DATABASE_URL}|" \
|
||||
-e "s|^DATABASE_URL=.*|DATABASE_URL=${DATABASE_URL}|" \
|
||||
|
||||
@@ -22,7 +22,7 @@ msg_ok "Installed Dependencies"
|
||||
NODE_VERSION="24" setup_nodejs
|
||||
PG_VERSION="17" setup_postgresql
|
||||
PG_DB_NAME="pangolin" PG_DB_USER="pangolin" setup_postgresql_db
|
||||
PANGOLIN_VERSION="${PANGOLIN_VERSION:-1.23.0}"
|
||||
PANGOLIN_VERSION="${PANGOLIN_VERSION:-1.21.0}"
|
||||
fetch_and_deploy_gh_release "pangolin" "fosrl/pangolin" "tarball" "$PANGOLIN_VERSION"
|
||||
fetch_and_deploy_gh_release "gerbil" "fosrl/gerbil" "singlefile" "latest" "/usr/bin" "gerbil_linux_$(arch_resolve)"
|
||||
fetch_and_deploy_gh_release "traefik" "traefik/traefik" "prebuild" "latest" "/usr/bin" "traefik_v*_linux_$(arch_resolve).tar.gz"
|
||||
|
||||
@@ -38,9 +38,7 @@ $STD uv pip install --python /opt/suggestarr/.venv -r /opt/suggestarr/api_servic
|
||||
msg_ok "Set up Python Environment"
|
||||
|
||||
msg_info "Configuring SuggestArr"
|
||||
mkdir -p /opt/suggestarr_data /opt/suggestarr/config
|
||||
rm -rf /opt/suggestarr/config/config_files
|
||||
ln -sfn /opt/suggestarr_data /opt/suggestarr/config/config_files
|
||||
mkdir -p /opt/suggestarr_data
|
||||
cat <<EOF >/opt/suggestarr.env
|
||||
SUGGESTARR_PORT=5000
|
||||
LOG_LEVEL=info
|
||||
|
||||
Reference in New Issue
Block a user