mirror of
https://github.com/community-scripts/ProxmoxVE.git
synced 2026-06-02 21:59:35 +02:00
Compare commits
24 Commits
fix/firesh
...
MickLesk-p
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
8df1ce16be | ||
|
|
cd8a6f1de0 | ||
|
|
da64475612 | ||
|
|
a2aea34aa7 | ||
|
|
839fba1e0c | ||
|
|
83398645ca | ||
|
|
06cf2ec50d | ||
|
|
bdc968e86d | ||
|
|
0b7d64b240 | ||
|
|
e013403db1 | ||
|
|
465996653a | ||
|
|
6a7391f430 | ||
|
|
aed34659c9 | ||
|
|
cd4a3e854e | ||
|
|
be46da731a | ||
|
|
58179050a8 | ||
|
|
955cb97a3b | ||
|
|
04e618798e | ||
|
|
4c358450d8 | ||
|
|
fa238ddbdd | ||
|
|
0fe653f8de | ||
|
|
278e8315f3 | ||
|
|
ded4bba04d | ||
|
|
5b6f8e2674 |
12
CHANGELOG.md
12
CHANGELOG.md
@@ -476,8 +476,20 @@ 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))
|
||||||
|
- 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))
|
||||||
- [FileFlows] Fix service handling by using systemctl --all with quoted glob [@adrianmusante](https://github.com/adrianmusante) ([#14838](https://github.com/community-scripts/ProxmoxVE/pull/14838))
|
- [FileFlows] Fix service handling by using systemctl --all with quoted glob [@adrianmusante](https://github.com/adrianmusante) ([#14838](https://github.com/community-scripts/ProxmoxVE/pull/14838))
|
||||||
|
|
||||||
|
- #### ✨ New Features
|
||||||
|
|
||||||
|
- Kometa: also update Quickstart in update_script [@MickLesk](https://github.com/MickLesk) ([#14529](https://github.com/community-scripts/ProxmoxVE/pull/14529))
|
||||||
|
|
||||||
## 2026-05-31
|
## 2026-05-31
|
||||||
|
|
||||||
### 🚀 Updated Scripts
|
### 🚀 Updated Scripts
|
||||||
|
|||||||
@@ -53,6 +53,12 @@ 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"
|
||||||
|
|||||||
12
ct/glance.sh
12
ct/glance.sh
@@ -34,8 +34,20 @@ function update_script() {
|
|||||||
systemctl stop glance
|
systemctl stop glance
|
||||||
msg_ok "Stopped Service"
|
msg_ok "Stopped Service"
|
||||||
|
|
||||||
|
if [[ -f /opt/glance/glance.yml ]]; then
|
||||||
|
msg_info "Backing up glance.yml"
|
||||||
|
cp /opt/glance/glance.yml /tmp/glance.yml.bak
|
||||||
|
msg_ok "Backed up glance.yml"
|
||||||
|
fi
|
||||||
|
|
||||||
CLEAN_INSTALL=1 fetch_and_deploy_gh_release "glance" "glanceapp/glance" "prebuild" "latest" "/opt/glance" "glance-linux-amd64.tar.gz"
|
CLEAN_INSTALL=1 fetch_and_deploy_gh_release "glance" "glanceapp/glance" "prebuild" "latest" "/opt/glance" "glance-linux-amd64.tar.gz"
|
||||||
|
|
||||||
|
if [[ -f /tmp/glance.yml.bak ]]; then
|
||||||
|
msg_info "Restoring glance.yml"
|
||||||
|
mv /tmp/glance.yml.bak /opt/glance/glance.yml
|
||||||
|
msg_ok "Restored glance.yml"
|
||||||
|
fi
|
||||||
|
|
||||||
msg_info "Starting Service"
|
msg_info "Starting Service"
|
||||||
systemctl start glance
|
systemctl start glance
|
||||||
msg_ok "Started Service"
|
msg_ok "Started Service"
|
||||||
|
|||||||
@@ -39,7 +39,7 @@ function update_script() {
|
|||||||
cp /opt/kan/.env /opt/kan.env.bak
|
cp /opt/kan/.env /opt/kan.env.bak
|
||||||
msg_ok "Backed up Data"
|
msg_ok "Backed up Data"
|
||||||
|
|
||||||
CLEAN_INSTALL=1 fetch_and_deploy_gh_tag "kan" "kanbn/kan" "tarball"
|
CLEAN_INSTALL=1 fetch_and_deploy_gh_tag "kan" "kanbn/kan" "latest"
|
||||||
|
|
||||||
msg_info "Restoring Configuration"
|
msg_info "Restoring Configuration"
|
||||||
cp /opt/kan.env.bak /opt/kan/.env
|
cp /opt/kan.env.bak /opt/kan/.env
|
||||||
@@ -49,8 +49,10 @@ function update_script() {
|
|||||||
msg_info "Building Application"
|
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 CI=true
|
export NEXT_PUBLIC_USE_STANDALONE_OUTPUT=true
|
||||||
$STD pnpm install
|
$STD pnpm install --ignore-scripts --prod=false
|
||||||
|
export CI=true
|
||||||
|
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
|
||||||
unset NEXT_PUBLIC_USE_STANDALONE_OUTPUT CI
|
unset NEXT_PUBLIC_USE_STANDALONE_OUTPUT CI
|
||||||
msg_ok "Built Application"
|
msg_ok "Built Application"
|
||||||
|
|||||||
22
ct/kometa.sh
22
ct/kometa.sh
@@ -32,6 +32,7 @@ function update_script() {
|
|||||||
if check_for_gh_release "kometa" "Kometa-Team/Kometa"; then
|
if check_for_gh_release "kometa" "Kometa-Team/Kometa"; then
|
||||||
msg_info "Stopping Service"
|
msg_info "Stopping Service"
|
||||||
systemctl stop kometa
|
systemctl stop kometa
|
||||||
|
[[ -d "/opt/kometa-quickstart" ]] && systemctl stop kometa-quickstart
|
||||||
msg_ok "Stopped Service"
|
msg_ok "Stopped Service"
|
||||||
|
|
||||||
msg_info "Backing up data"
|
msg_info "Backing up data"
|
||||||
@@ -42,7 +43,7 @@ function update_script() {
|
|||||||
fetch_and_deploy_gh_release "kometa" "Kometa-Team/Kometa" "tarball"
|
fetch_and_deploy_gh_release "kometa" "Kometa-Team/Kometa" "tarball"
|
||||||
|
|
||||||
msg_info "Updating Kometa"
|
msg_info "Updating Kometa"
|
||||||
cd /opt/kometa
|
cd /opt/kometa
|
||||||
$STD uv pip install -r requirements.txt --system
|
$STD uv pip install -r requirements.txt --system
|
||||||
mkdir -p config/assets
|
mkdir -p config/assets
|
||||||
cp /opt/config.yml config/config.yml
|
cp /opt/config.yml config/config.yml
|
||||||
@@ -50,9 +51,28 @@ function update_script() {
|
|||||||
|
|
||||||
msg_info "Starting Service"
|
msg_info "Starting Service"
|
||||||
systemctl start kometa
|
systemctl start kometa
|
||||||
|
[[ -d "/opt/kometa-quickstart" ]] && systemctl start kometa-quickstart
|
||||||
msg_ok "Started Service"
|
msg_ok "Started Service"
|
||||||
msg_ok "Updated successfully!"
|
msg_ok "Updated successfully!"
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
if [[ -d "/opt/kometa-quickstart" ]] && check_for_gh_release "kometa-quickstart" "Kometa-Team/Quickstart"; then
|
||||||
|
msg_info "Stopping Quickstart Service"
|
||||||
|
systemctl stop kometa-quickstart
|
||||||
|
msg_ok "Stopped Quickstart Service"
|
||||||
|
|
||||||
|
fetch_and_deploy_gh_release "kometa-quickstart" "Kometa-Team/Quickstart" "tarball"
|
||||||
|
|
||||||
|
msg_info "Updating Kometa Quickstart"
|
||||||
|
cd /opt/kometa-quickstart
|
||||||
|
$STD uv pip install -r requirements.txt -p /opt/kometa-quickstart/.venv/bin/python
|
||||||
|
msg_ok "Updated Kometa Quickstart"
|
||||||
|
|
||||||
|
msg_info "Starting Quickstart Service"
|
||||||
|
systemctl start kometa-quickstart
|
||||||
|
msg_ok "Started Quickstart Service"
|
||||||
|
msg_ok "Updated Quickstart successfully!"
|
||||||
|
fi
|
||||||
exit
|
exit
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -216,6 +216,12 @@ EOF
|
|||||||
msg_ok "Initialized Backend"
|
msg_ok "Initialized Backend"
|
||||||
|
|
||||||
msg_info "Starting Services"
|
msg_info "Starting Services"
|
||||||
|
CERTBOT_VER=$(/opt/certbot/bin/certbot --version 2>&1 | awk '{print $NF}')
|
||||||
|
if grep -q "Environment=CERTBOT_VERSION" /lib/systemd/system/npm.service; then
|
||||||
|
sed -i "s|Environment=CERTBOT_VERSION=.*|Environment=CERTBOT_VERSION=${CERTBOT_VER}|" /lib/systemd/system/npm.service
|
||||||
|
else
|
||||||
|
sed -i "/Environment=NODE_ENV=production/a Environment=CERTBOT_VERSION=${CERTBOT_VER}" /lib/systemd/system/npm.service
|
||||||
|
fi
|
||||||
sed -i 's/user npm/user root/g; s/^pid/#pid/g' /usr/local/openresty/nginx/conf/nginx.conf
|
sed -i 's/user npm/user root/g; s/^pid/#pid/g' /usr/local/openresty/nginx/conf/nginx.conf
|
||||||
sed -r -i 's/^([[:space:]]*)su npm npm/\1#su npm npm/g;' /etc/logrotate.d/nginx-proxy-manager
|
sed -r -i 's/^([[:space:]]*)su npm npm/\1#su npm npm/g;' /etc/logrotate.d/nginx-proxy-manager
|
||||||
systemctl daemon-reload
|
systemctl daemon-reload
|
||||||
|
|||||||
@@ -52,6 +52,9 @@ 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
|
||||||
|
|
||||||
|
|||||||
@@ -121,6 +121,7 @@ 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;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -37,7 +37,13 @@ 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 "s#FIREFLY_III_URL=#FIREFLY_III_URL=http://${LOCAL_IP}#g" /opt/firefly/dataimporter/.env
|
sed -i \
|
||||||
|
-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"
|
||||||
|
|
||||||
|
|||||||
@@ -23,7 +23,7 @@ PG_VERSION="16" setup_postgresql
|
|||||||
PG_DB_NAME="kan" PG_DB_USER="kan" setup_postgresql_db
|
PG_DB_NAME="kan" PG_DB_USER="kan" setup_postgresql_db
|
||||||
NODE_VERSION="20" NODE_MODULE="pnpm" setup_nodejs
|
NODE_VERSION="20" NODE_MODULE="pnpm" setup_nodejs
|
||||||
|
|
||||||
fetch_and_deploy_gh_tag "kan" "kanbn/kan" "tarball"
|
fetch_and_deploy_gh_tag "kan" "kanbn/kan" "latest"
|
||||||
|
|
||||||
msg_info "Configuring Application"
|
msg_info "Configuring Application"
|
||||||
AUTH_SECRET=$(openssl rand -base64 32)
|
AUTH_SECRET=$(openssl rand -base64 32)
|
||||||
@@ -45,8 +45,9 @@ 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
|
||||||
export CI=true
|
export CI=true
|
||||||
$STD pnpm install
|
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
|
||||||
unset NEXT_PUBLIC_USE_STANDALONE_OUTPUT CI
|
unset NEXT_PUBLIC_USE_STANDALONE_OUTPUT CI
|
||||||
msg_ok "Built Application"
|
msg_ok "Built Application"
|
||||||
|
|||||||
@@ -160,7 +160,8 @@ $STD yarn install --network-timeout 600000
|
|||||||
msg_ok "Initialized Backend"
|
msg_ok "Initialized Backend"
|
||||||
|
|
||||||
msg_info "Creating Service"
|
msg_info "Creating Service"
|
||||||
cat <<'EOF' >/lib/systemd/system/npm.service
|
CERTBOT_VER=$(/opt/certbot/bin/certbot --version 2>&1 | awk '{print $NF}')
|
||||||
|
cat <<EOF >/lib/systemd/system/npm.service
|
||||||
[Unit]
|
[Unit]
|
||||||
Description=Nginx Proxy Manager
|
Description=Nginx Proxy Manager
|
||||||
After=network.target
|
After=network.target
|
||||||
@@ -169,6 +170,7 @@ Wants=openresty.service
|
|||||||
[Service]
|
[Service]
|
||||||
Type=simple
|
Type=simple
|
||||||
Environment=NODE_ENV=production
|
Environment=NODE_ENV=production
|
||||||
|
Environment=CERTBOT_VERSION=${CERTBOT_VER}
|
||||||
ExecStartPre=-mkdir -p /tmp/nginx/body /data/letsencrypt-acme-challenge
|
ExecStartPre=-mkdir -p /tmp/nginx/body /data/letsencrypt-acme-challenge
|
||||||
ExecStart=/usr/bin/node index.js --abort_on_uncaught_exception --max_old_space_size=250
|
ExecStart=/usr/bin/node index.js --abort_on_uncaught_exception --max_old_space_size=250
|
||||||
WorkingDirectory=/app
|
WorkingDirectory=/app
|
||||||
|
|||||||
@@ -8227,11 +8227,13 @@ setup_ruby() {
|
|||||||
#
|
#
|
||||||
# Variables:
|
# Variables:
|
||||||
# RUST_TOOLCHAIN - Rust toolchain to install (default: stable)
|
# RUST_TOOLCHAIN - Rust toolchain to install (default: stable)
|
||||||
|
# RUST_PROFILE - Rust installation profile (default: default, e.g. minimal)
|
||||||
# RUST_CRATES - Comma-separated list of crates (e.g. "cargo-edit,wasm-pack@0.12.1")
|
# RUST_CRATES - Comma-separated list of crates (e.g. "cargo-edit,wasm-pack@0.12.1")
|
||||||
# ------------------------------------------------------------------------------
|
# ------------------------------------------------------------------------------
|
||||||
|
|
||||||
setup_rust() {
|
setup_rust() {
|
||||||
local RUST_TOOLCHAIN="${RUST_TOOLCHAIN:-stable}"
|
local RUST_TOOLCHAIN="${RUST_TOOLCHAIN:-stable}"
|
||||||
|
local RUST_PROFILE="${RUST_PROFILE:-default}"
|
||||||
local RUST_CRATES="${RUST_CRATES:-}"
|
local RUST_CRATES="${RUST_CRATES:-}"
|
||||||
local CARGO_BIN="${HOME}/.cargo/bin"
|
local CARGO_BIN="${HOME}/.cargo/bin"
|
||||||
|
|
||||||
@@ -8243,8 +8245,8 @@ setup_rust() {
|
|||||||
|
|
||||||
# Scenario 1: Rustup not installed - fresh install
|
# Scenario 1: Rustup not installed - fresh install
|
||||||
if ! command -v rustup &>/dev/null; then
|
if ! command -v rustup &>/dev/null; then
|
||||||
msg_info "Setup Rust ($RUST_TOOLCHAIN)"
|
msg_info "Setup Rust ($RUST_TOOLCHAIN, profile: $RUST_PROFILE)"
|
||||||
curl -fsSL https://sh.rustup.rs | $STD sh -s -- -y --default-toolchain "$RUST_TOOLCHAIN" || {
|
curl -fsSL https://sh.rustup.rs | $STD sh -s -- -y --profile "$RUST_PROFILE" --default-toolchain "$RUST_TOOLCHAIN" || {
|
||||||
msg_error "Failed to install Rust"
|
msg_error "Failed to install Rust"
|
||||||
msg_error "Hint: Check connectivity to sh.rustup.rs and static.rust-lang.org"
|
msg_error "Hint: Check connectivity to sh.rustup.rs and static.rust-lang.org"
|
||||||
return 7
|
return 7
|
||||||
|
|||||||
Reference in New Issue
Block a user