Compare commits

...

15 Commits

Author SHA1 Message Date
github-actions[bot]
82264b814f Update CHANGELOG.md 2025-11-10 00:13:55 +00:00
community-scripts-pr-app[bot]
9bf67982e3 Update versions.json (#9015)
Co-authored-by: GitHub Actions[bot] <github-actions[bot]@users.noreply.github.com>
2025-11-10 01:13:38 +01:00
community-scripts-pr-app[bot]
008c037cf7 Update CHANGELOG.md (#9011)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2025-11-09 17:32:52 +00:00
akileos
0ab91cc4c1 Add wkhtmltopdf to Odoo installation dependencies (#9010)
Required for invoice/ticket generation
2025-11-09 18:32:33 +01:00
community-scripts-pr-app[bot]
dfa05f3845 Update CHANGELOG.md (#9009)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2025-11-09 15:55:50 +00:00
chrikodo
a3d42dba45 fix(n8n): Add python3-setuptools dependency for Debian 13 (#9007)
Fixes ModuleNotFoundError: No module named 'distutils'
during sqlite3 compile on Python 3.12+ (Debian 13)
by adding the required setuptools package.
2025-11-09 07:55:29 -08:00
community-scripts-pr-app[bot]
a89b841684 Update CHANGELOG.md (#9008)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2025-11-09 15:39:04 +00:00
Sven Schneider
88097dcd19 fix(jotty): Comments removed from variables, as they are interpreted. (#9002)
The following comments have been removed because they cause the comments to become part of the variable's value and therefore cannot be interpreted by the application.
 
SSO_FALLBACK_LOCAL=yes # Allow both SSO and normal login
OIDC_CLIENT_SECRET=your_client_secret  # Enable confidential client mode with client authentication
OIDC_ADMIN_GROUPS=admins # Map provider groups to admin role

https://github.com/fccview/jotty/issues/200#issuecomment-3508394682
2025-11-09 07:38:40 -08:00
community-scripts-pr-app[bot]
1a76fc0095 Update CHANGELOG.md (#9005)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2025-11-09 14:43:01 +00:00
Chris
69c2e9ed2c Paperless-ngx: hotfix config path (#9003) 2025-11-09 15:42:40 +01:00
community-scripts-pr-app[bot]
9d876e2d06 Update CHANGELOG.md (#9001)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2025-11-09 13:46:27 +00:00
CanbiZ
c0c5fd4532 core: improve log cleaning (#8999)
Co-authored-by: Tobias <96661824+CrazyWolf13@users.noreply.github.com>
2025-11-09 14:46:09 +01:00
community-scripts-pr-app[bot]
0e7be1dd1e Update versions.json (#9000)
Co-authored-by: GitHub Actions[bot] <github-actions[bot]@users.noreply.github.com>
2025-11-09 13:05:35 +01:00
community-scripts-pr-app[bot]
6e349dbcef Update CHANGELOG.md (#8997)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2025-11-09 07:34:14 +00:00
Chris
9b3879ef41 Paperless-NGX: Move config backup outside of app folder (#8996) 2025-11-08 23:33:51 -08:00
7 changed files with 142 additions and 120 deletions

View File

@@ -10,8 +10,22 @@
> [!CAUTION] > [!CAUTION]
Exercise vigilance regarding copycat or coat-tailing sites that seek to exploit the project's popularity for potentially malicious purposes. Exercise vigilance regarding copycat or coat-tailing sites that seek to exploit the project's popularity for potentially malicious purposes.
## 2025-11-10
## 2025-11-09 ## 2025-11-09
### 🚀 Updated Scripts
- core: improve log cleaning [@MickLesk](https://github.com/MickLesk) ([#8999](https://github.com/community-scripts/ProxmoxVE/pull/8999))
- #### 🐞 Bug Fixes
- Add wkhtmltopdf to Odoo installation dependencies [@akileos](https://github.com/akileos) ([#9010](https://github.com/community-scripts/ProxmoxVE/pull/9010))
- fix(jotty): Comments removed from variables, as they are interpreted. [@schneider-de-com](https://github.com/schneider-de-com) ([#9002](https://github.com/community-scripts/ProxmoxVE/pull/9002))
- fix(n8n): Add python3-setuptools dependency for Debian 13 [@chrikodo](https://github.com/chrikodo) ([#9007](https://github.com/community-scripts/ProxmoxVE/pull/9007))
- Paperless-ngx: hotfix config path [@vhsdream](https://github.com/vhsdream) ([#9003](https://github.com/community-scripts/ProxmoxVE/pull/9003))
- Paperless-NGX: Move config backup outside of app folder [@vhsdream](https://github.com/vhsdream) ([#8996](https://github.com/community-scripts/ProxmoxVE/pull/8996))
## 2025-11-08 ## 2025-11-08
### 🚀 Updated Scripts ### 🚀 Updated Scripts

View File

@@ -35,10 +35,10 @@ function update_script() {
if grep -q "uv run" /etc/systemd/system/paperless-webserver.service; then if grep -q "uv run" /etc/systemd/system/paperless-webserver.service; then
msg_info "Backing up data" msg_info "Backing up data"
mkdir -p /opt/paperless/backup mkdir -p /opt/paperless_backup
cp -r /opt/paperless/data /opt/paperless/backup/ cp -r /opt/paperless/data /opt/paperless_backup/
cp -r /opt/paperless/media /opt/paperless/backup/ cp -r /opt/paperless/media /opt/paperless_backup/
cp -r /opt/paperless/paperless.conf /opt/paperless/backup/ cp -r /opt/paperless/paperless.conf /opt/paperless_backup/
msg_ok "Backup completed" msg_ok "Backup completed"
PYTHON_VERSION="3.13" setup_uv PYTHON_VERSION="3.13" setup_uv
@@ -53,17 +53,17 @@ function update_script() {
fi fi
msg_info "Updating Paperless-ngx" msg_info "Updating Paperless-ngx"
cp -r /opt/paperless/backup/* /opt/paperless/ cp -r /opt/paperless_backup/* /opt/paperless/
CONSUME_DIR="$(sed -n '/^PAPERLESS_CONSUMPTION/s/[^=]=*//p' /opt/paperless/paperless.conf)"
mkdir -p "${CONSUME_DIR:-/opt/paperless/consume}"
cd /opt/paperless cd /opt/paperless
$STD uv sync --all-extras $STD uv sync --all-extras
cd /opt/paperless/src cd /opt/paperless/src
$STD uv run -- python manage.py migrate $STD uv run -- python manage.py migrate
msg_ok "Updated Paperless-ngx" msg_ok "Updated Paperless-ngx"
if [[ -d /opt/paperless/backup ]]; then rm -rf /opt/paperless_backup
rm -rf /opt/paperless/backup || msg_warn "Failed to remove /opt/paperless/backup"
msg_ok "Removed backup directory"
fi
else else
msg_warn "You are about to migrate your Paperless-ngx installation to uv!" msg_warn "You are about to migrate your Paperless-ngx installation to uv!"
msg_custom "🔒" "It is strongly recommended to take a Proxmox snapshot first:" msg_custom "🔒" "It is strongly recommended to take a Proxmox snapshot first:"
@@ -107,10 +107,10 @@ function update_script() {
$STD systemctl daemon-reload $STD systemctl daemon-reload
msg_info "Backing up data" msg_info "Backing up data"
mkdir -p /opt/paperless/backup mkdir -p /opt/paperless_backup
cp -r /opt/paperless/data /opt/paperless/backup/ cp -r /opt/paperless/data /opt/paperless_backup/
cp -r /opt/paperless/media /opt/paperless/backup/ cp -r /opt/paperless/media /opt/paperless_backup/
cp -r /opt/paperless/paperless.conf /opt/paperless/backup/ cp -r /opt/paperless/paperless.conf /opt/paperless_backup/
msg_ok "Backup completed" msg_ok "Backup completed"
PYTHON_VERSION="3.13" setup_uv PYTHON_VERSION="3.13" setup_uv
@@ -127,16 +127,19 @@ function update_script() {
fi fi
msg_info "Updating Paperless-ngx" msg_info "Updating Paperless-ngx"
cp -r /opt/paperless/backup/* /opt/paperless/ cp -r /opt/paperless_backup/* /opt/paperless/
CONSUME_DIR="$(sed -n '/^PAPERLESS_CONSUMPTION/s/[^=]=*//p' /opt/paperless/paperless.conf)"
mkdir -p "${CONSUME_DIR:-/opt/paperless/consume}"
cd /opt/paperless cd /opt/paperless
$STD uv sync --all-extras $STD uv sync --all-extras
cd /opt/paperless/src cd /opt/paperless/src
$STD uv run -- python manage.py migrate $STD uv run -- python manage.py migrate
msg_ok "Paperless-ngx migration and update completed" msg_ok "Paperless-ngx migration and update completed"
rm -rf /opt/paperless_backup
if [[ -d /opt/paperless/backup ]]; then if [[ -d /opt/paperless/backup ]]; then
rm -rf /opt/paperless/backup || msg_warn "Failed to remove /opt/paperless/backup" rm -rf /opt/paperless/backup
msg_ok "Removed backup directory" msg_ok "Removed old backup directory"
fi fi
fi fi

View File

@@ -1,29 +1,109 @@
[ [
{ {
"name": "BerriAI/litellm", "name": "navidrome/navidrome",
"version": "v1.79.1-stable", "version": "v0.58.5",
"date": "2025-11-08T22:53:21Z" "date": "2025-11-09T19:12:41Z"
}, },
{ {
"name": "raydak-labs/configarr", "name": "rcourtman/Pulse",
"version": "v1.17.2", "version": "v4.27.2",
"date": "2025-11-08T22:47:58Z" "date": "2025-11-09T18:39:30Z"
},
{
"name": "pelican-dev/panel",
"version": "v1.0.0-beta28",
"date": "2025-11-09T17:36:07Z"
},
{
"name": "pelican-dev/wings",
"version": "v1.0.0-beta19",
"date": "2025-11-09T17:26:30Z"
},
{
"name": "duplicati/duplicati",
"version": "v2.2.0.1_stable_2025-11-09",
"date": "2025-11-09T17:21:54Z"
},
{
"name": "Cleanuparr/Cleanuparr",
"version": "v2.4.5",
"date": "2025-11-09T17:14:01Z"
},
{
"name": "msgbyte/tianji",
"version": "v1.30.7",
"date": "2025-11-09T16:20:57Z"
},
{
"name": "TechnitiumSoftware/DnsServer",
"version": "v14.0.1",
"date": "2025-11-09T13:03:18Z"
},
{
"name": "BookStackApp/BookStack",
"version": "v25.11",
"date": "2025-11-09T13:00:14Z"
},
{
"name": "karakeep-app/karakeep",
"version": "extension/v1.2.7",
"date": "2025-11-09T12:21:54Z"
},
{
"name": "NginxProxyManager/nginx-proxy-manager",
"version": "v2.13.2",
"date": "2025-11-09T11:56:25Z"
}, },
{ {
"name": "firefly-iii/firefly-iii", "name": "firefly-iii/firefly-iii",
"version": "v6.4.6", "version": "v6.4.6",
"date": "2025-11-08T22:45:35Z" "date": "2025-11-08T22:45:35Z"
}, },
{
"name": "authelia/authelia",
"version": "v4.39.14",
"date": "2025-11-09T07:18:40Z"
},
{
"name": "Jackett/Jackett",
"version": "v0.24.268",
"date": "2025-11-09T05:56:26Z"
},
{
"name": "apache/couchdb",
"version": "3.5.1",
"date": "2025-11-09T05:09:28Z"
},
{
"name": "BerriAI/litellm",
"version": "v1.79.3.rc.1",
"date": "2025-11-09T02:52:13Z"
},
{
"name": "inventree/InvenTree",
"version": "1.1.3",
"date": "2025-11-09T00:28:21Z"
},
{
"name": "jeedom/core",
"version": "4.4.20",
"date": "2025-11-09T00:27:05Z"
},
{
"name": "steveiliop56/tinyauth",
"version": "v4.0.1",
"date": "2025-10-15T16:53:55Z"
},
{
"name": "raydak-labs/configarr",
"version": "v1.17.2",
"date": "2025-11-08T22:47:58Z"
},
{ {
"name": "TwiN/gatus", "name": "TwiN/gatus",
"version": "v5.31.0", "version": "v5.31.0",
"date": "2025-11-08T22:18:46Z" "date": "2025-11-08T22:18:46Z"
}, },
{
"name": "karakeep-app/karakeep",
"version": "ios/v1.8.1-0",
"date": "2025-11-08T21:29:59Z"
},
{ {
"name": "hargata/lubelog", "name": "hargata/lubelog",
"version": "v1.5.4", "version": "v1.5.4",
@@ -49,11 +129,6 @@
"version": "v0.62.16", "version": "v0.62.16",
"date": "2025-11-08T12:15:30Z" "date": "2025-11-08T12:15:30Z"
}, },
{
"name": "TechnitiumSoftware/DnsServer",
"version": "v14.0.0",
"date": "2025-11-08T10:34:10Z"
},
{ {
"name": "runtipi/runtipi", "name": "runtipi/runtipi",
"version": "v4.6.3", "version": "v4.6.3",
@@ -74,26 +149,11 @@
"version": "v0.85.1", "version": "v0.85.1",
"date": "2025-10-31T10:45:26Z" "date": "2025-10-31T10:45:26Z"
}, },
{
"name": "Jackett/Jackett",
"version": "v0.24.262",
"date": "2025-11-08T05:54:55Z"
},
{ {
"name": "documenso/documenso", "name": "documenso/documenso",
"version": "v2.0.5", "version": "v2.0.5",
"date": "2025-11-08T05:03:59Z" "date": "2025-11-08T05:03:59Z"
}, },
{
"name": "jeedom/core",
"version": "4.4.20",
"date": "2025-11-08T00:27:05Z"
},
{
"name": "steveiliop56/tinyauth",
"version": "v4.0.1",
"date": "2025-10-15T16:53:55Z"
},
{ {
"name": "keycloak/keycloak", "name": "keycloak/keycloak",
"version": "26.4.4", "version": "26.4.4",
@@ -114,11 +174,6 @@
"version": "v2.16.45", "version": "v2.16.45",
"date": "2025-11-07T19:08:05Z" "date": "2025-11-07T19:08:05Z"
}, },
{
"name": "rcourtman/Pulse",
"version": "v4.26.5",
"date": "2025-11-07T18:05:58Z"
},
{ {
"name": "cloudflare/cloudflared", "name": "cloudflare/cloudflared",
"version": "2025.11.1", "version": "2025.11.1",
@@ -254,11 +309,6 @@
"version": "v3.5.8", "version": "v3.5.8",
"date": "2025-11-06T05:32:51Z" "date": "2025-11-06T05:32:51Z"
}, },
{
"name": "apache/couchdb",
"version": "3.5.1-RC1",
"date": "2025-11-06T03:23:20Z"
},
{ {
"name": "Notifiarr/notifiarr", "name": "Notifiarr/notifiarr",
"version": "v0.9.1", "version": "v0.9.1",
@@ -304,11 +354,6 @@
"version": "v2.2.3", "version": "v2.2.3",
"date": "2025-11-05T13:47:03Z" "date": "2025-11-05T13:47:03Z"
}, },
{
"name": "duplicati/duplicati",
"version": "v2.2.0.100-2.2.0.100_canary_2025-11-05",
"date": "2025-11-05T13:01:37Z"
},
{ {
"name": "azukaar/Cosmos-Server", "name": "azukaar/Cosmos-Server",
"version": "v0.18.4", "version": "v0.18.4",
@@ -339,11 +384,6 @@
"version": "0.209.7", "version": "0.209.7",
"date": "2025-11-05T08:32:08Z" "date": "2025-11-05T08:32:08Z"
}, },
{
"name": "NginxProxyManager/nginx-proxy-manager",
"version": "v2.13.1",
"date": "2025-11-05T06:06:08Z"
},
{ {
"name": "jenkinsci/jenkins", "name": "jenkinsci/jenkins",
"version": "jenkins-2.535", "version": "jenkins-2.535",
@@ -384,11 +424,6 @@
"version": "v0.9.100", "version": "v0.9.100",
"date": "2025-11-04T17:44:39Z" "date": "2025-11-04T17:44:39Z"
}, },
{
"name": "msgbyte/tianji",
"version": "v1.30.6",
"date": "2025-11-04T17:41:01Z"
},
{ {
"name": "VictoriaMetrics/VictoriaMetrics", "name": "VictoriaMetrics/VictoriaMetrics",
"version": "v1.129.1", "version": "v1.129.1",
@@ -444,11 +479,6 @@
"version": "v25.11.0", "version": "v25.11.0",
"date": "2025-11-04T00:32:21Z" "date": "2025-11-04T00:32:21Z"
}, },
{
"name": "inventree/InvenTree",
"version": "1.1.2",
"date": "2025-11-03T23:16:29Z"
},
{ {
"name": "gtsteffaniak/filebrowser", "name": "gtsteffaniak/filebrowser",
"version": "v1.0.0-stable", "version": "v1.0.0-stable",
@@ -464,11 +494,6 @@
"version": "version/2025.10.1", "version": "version/2025.10.1",
"date": "2025-11-03T16:49:16Z" "date": "2025-11-03T16:49:16Z"
}, },
{
"name": "Cleanuparr/Cleanuparr",
"version": "v2.4.3",
"date": "2025-11-03T16:49:03Z"
},
{ {
"name": "silverbulletmd/silverbullet", "name": "silverbulletmd/silverbullet",
"version": "2.2.1", "version": "2.2.1",
@@ -779,11 +804,6 @@
"version": "v1.71.2", "version": "v1.71.2",
"date": "2025-10-20T15:25:52Z" "date": "2025-10-20T15:25:52Z"
}, },
{
"name": "pelican-dev/panel",
"version": "v1.0.0-beta27",
"date": "2025-10-20T00:38:13Z"
},
{ {
"name": "seriousm4x/UpSnap", "name": "seriousm4x/UpSnap",
"version": "5.2.3", "version": "5.2.3",
@@ -894,11 +914,6 @@
"version": "v5.0.85", "version": "v5.0.85",
"date": "2025-10-12T19:55:18Z" "date": "2025-10-12T19:55:18Z"
}, },
{
"name": "authelia/authelia",
"version": "v4.39.13",
"date": "2025-10-12T05:45:48Z"
},
{ {
"name": "gelbphoenix/autocaliweb", "name": "gelbphoenix/autocaliweb",
"version": "v0.10.4", "version": "v0.10.4",
@@ -934,11 +949,6 @@
"version": "1.23.5", "version": "1.23.5",
"date": "2025-10-08T07:31:37Z" "date": "2025-10-08T07:31:37Z"
}, },
{
"name": "pelican-dev/wings",
"version": "v1.0.0-beta18",
"date": "2025-10-07T21:05:57Z"
},
{ {
"name": "C4illin/ConvertX", "name": "C4illin/ConvertX",
"version": "v0.15.1", "version": "v0.15.1",
@@ -964,11 +974,6 @@
"version": "v1.5.9", "version": "v1.5.9",
"date": "2025-10-06T08:34:01Z" "date": "2025-10-06T08:34:01Z"
}, },
{
"name": "BookStackApp/BookStack",
"version": "v25.07.3",
"date": "2025-10-05T14:47:20Z"
},
{ {
"name": "webmin/webmin", "name": "webmin/webmin",
"version": "2.520", "version": "2.520",
@@ -1249,11 +1254,6 @@
"version": "v0.4.5", "version": "v0.4.5",
"date": "2025-07-29T16:39:18Z" "date": "2025-07-29T16:39:18Z"
}, },
{
"name": "navidrome/navidrome",
"version": "v0.58.0",
"date": "2025-07-28T18:59:50Z"
},
{ {
"name": "PCJones/UmlautAdaptarr", "name": "PCJones/UmlautAdaptarr",
"version": "v0.7.3", "version": "v0.7.3",

View File

@@ -40,9 +40,9 @@ NODE_ENV=production
# OIDC_ISSUER=<your-oidc-issuer-url> # OIDC_ISSUER=<your-oidc-issuer-url>
# OIDC_CLIENT_ID=<oidc-client-id> # OIDC_CLIENT_ID=<oidc-client-id>
# APP_URL=<https://app.domain.tld> # APP_URL=<https://app.domain.tld>
# SSO_FALLBACK_LOCAL=yes # Allow both SSO and normal login # SSO_FALLBACK_LOCAL=yes
# OIDC_CLIENT_SECRET=your_client_secret # Enable confidential client mode with client authentication # OIDC_CLIENT_SECRET=your_client_secret
# OIDC_ADMIN_GROUPS=admins # Map provider groups to admin role # OIDC_ADMIN_GROUPS=admins
EOF EOF
msg_ok "Installed ${APPLICATION}" msg_ok "Installed ${APPLICATION}"

View File

@@ -16,7 +16,9 @@ update_os
msg_info "Installing Dependencies" msg_info "Installing Dependencies"
$STD apt install -y \ $STD apt install -y \
ca-certificates \ ca-certificates \
build-essential build-essential \
python3 \
python3-setuptools
msg_ok "Installed Dependencies" msg_ok "Installed Dependencies"
NODE_VERSION="22" setup_nodejs NODE_VERSION="22" setup_nodejs

View File

@@ -14,7 +14,7 @@ network_check
update_os update_os
msg_info "Installing Dependencies" msg_info "Installing Dependencies"
$STD apt install -y python3-lxml $STD apt install -y python3-lxml wkhtmltopdf
curl -fsSL "http://archive.ubuntu.com/ubuntu/pool/universe/l/lxml-html-clean/python3-lxml-html-clean_0.1.1-1_all.deb" -o /opt/python3-lxml-html-clean.deb curl -fsSL "http://archive.ubuntu.com/ubuntu/pool/universe/l/lxml-html-clean/python3-lxml-html-clean_0.1.1-1_all.deb" -o /opt/python3-lxml-html-clean.deb
$STD dpkg -i /opt/python3-lxml-html-clean.deb $STD dpkg -i /opt/python3-lxml-html-clean.deb
msg_ok "Installed Dependencies" msg_ok "Installed Dependencies"

View File

@@ -370,6 +370,7 @@ run_container_safe() {
cleanup_lxc() { cleanup_lxc() {
msg_info "Cleaning up" msg_info "Cleaning up"
if is_alpine; then if is_alpine; then
$STD apk cache clean || true $STD apk cache clean || true
rm -rf /var/cache/apk/* rm -rf /var/cache/apk/*
@@ -379,13 +380,15 @@ cleanup_lxc() {
$STD apt -y clean || true $STD apt -y clean || true
fi fi
rm -rf /tmp/* /var/tmp/* # Clear temp artifacts (keep sockets/FIFOs; ignore errors)
# Remove temp files created by mktemp/tempfile
find /tmp /var/tmp -type f -name 'tmp*' -delete 2>/dev/null || true find /tmp /var/tmp -type f -name 'tmp*' -delete 2>/dev/null || true
find /tmp /var/tmp -type f -name 'tempfile*' -delete 2>/dev/null || true find /tmp /var/tmp -type f -name 'tempfile*' -delete 2>/dev/null || true
find /var/log -type f -exec truncate -s 0 {} + # Truncate writable log files silently (permission errors ignored)
if command -v truncate >/dev/null 2>&1; then
find /var/log -type f -writable -print0 2>/dev/null | \
xargs -0 -n1 truncate -s 0 2>/dev/null || true
fi
# Python pip # Python pip
if command -v pip &>/dev/null; then pip cache purge || true; fi if command -v pip &>/dev/null; then pip cache purge || true; fi
@@ -407,8 +410,8 @@ cleanup_lxc() {
if command -v composer &>/dev/null; then composer clear-cache || true; fi if command -v composer &>/dev/null; then composer clear-cache || true; fi
if command -v journalctl &>/dev/null; then if command -v journalctl &>/dev/null; then
$STD journalctl --rotate $STD journalctl --rotate || true
$STD journalctl --vacuum-time=10m $STD journalctl --vacuum-time=10m || true
fi fi
msg_ok "Cleaned" msg_ok "Cleaned"
} }