From 977377db2f3b88236fddda12eabeb26fcf77d252 Mon Sep 17 00:00:00 2001 From: CanbiZ <47820557+MickLesk@users.noreply.github.com> Date: Sat, 8 Nov 2025 19:59:08 +0100 Subject: [PATCH] paperless: refactor - remove backup after update and enable clean install Removes backup directory post-update to prevent orphans. Enables CLEAN_INSTALL for proper cleanup. Adds Debian version-specific Ghostscript installation. --- ct/paperless-ngx.sh | 36 ++++++++++++++++++++++++++++++------ 1 file changed, 30 insertions(+), 6 deletions(-) diff --git a/ct/paperless-ngx.sh b/ct/paperless-ngx.sh index a5a33ca21..0c2db8c82 100644 --- a/ct/paperless-ngx.sh +++ b/ct/paperless-ngx.sh @@ -42,9 +42,15 @@ function update_script() { msg_ok "Backup completed" PYTHON_VERSION="3.13" setup_uv - fetch_and_deploy_gh_release "paperless" "paperless-ngx/paperless-ngx" "prebuild" "latest" "/opt/paperless" "paperless*tar.xz" - fetch_and_deploy_gh_release "jbig2enc" "ie13/jbig2enc" "tarball" "latest" "/opt/jbig2enc" - setup_gs + CLEAN_INSTALL=1 fetch_and_deploy_gh_release "paperless" "paperless-ngx/paperless-ngx" "prebuild" "latest" "/opt/paperless" "paperless*tar.xz" + CLEAN_INSTALL=1 fetch_and_deploy_gh_release "jbig2enc" "ie13/jbig2enc" "tarball" "latest" "/opt/jbig2enc" + + . /etc/os-release + if [ "$VERSION_CODENAME" = "bookworm" ]; then + setup_gs + else + $STD apt install -y ghostscript + fi msg_info "Updating Paperless-ngx" cp -r /opt/paperless/backup/* /opt/paperless/ @@ -53,6 +59,11 @@ function update_script() { cd /opt/paperless/src $STD uv run -- python manage.py migrate msg_ok "Updated Paperless-ngx" + + if [[ -d /opt/paperless/backup ]]; then + rm -rf /opt/paperless/backup || msg_warn "Failed to remove /opt/paperless/backup" + msg_ok "Removed backup directory" + fi else 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:" @@ -103,9 +114,17 @@ function update_script() { msg_ok "Backup completed" PYTHON_VERSION="3.13" setup_uv - fetch_and_deploy_gh_release "paperless" "paperless-ngx/paperless-ngx" "prebuild" "latest" "/opt/paperless" "paperless*tar.xz" - fetch_and_deploy_gh_release "jbig2enc" "ie13/jbig2enc" "tarball" "latest" "/opt/jbig2enc" - setup_gs + CLEAN_INSTALL=1 fetch_and_deploy_gh_release "paperless" "paperless-ngx/paperless-ngx" "prebuild" "latest" "/opt/paperless" "paperless*tar.xz" + CLEAN_INSTALL=1 fetch_and_deploy_gh_release "jbig2enc" "ie13/jbig2enc" "tarball" "latest" "/opt/jbig2enc" + + . /etc/os-release + if [ "$VERSION_CODENAME" = "bookworm" ]; then + setup_gs + else + msg_info "Installing Ghostscript" + $STD apt install -y ghostscript + msg_ok "Installed Ghostscript" + fi msg_info "Updating Paperless-ngx" cp -r /opt/paperless/backup/* /opt/paperless/ @@ -114,6 +133,11 @@ function update_script() { cd /opt/paperless/src $STD uv run -- python manage.py migrate msg_ok "Paperless-ngx migration and update completed" + + if [[ -d /opt/paperless/backup ]]; then + rm -rf /opt/paperless/backup || msg_warn "Failed to remove /opt/paperless/backup" + msg_ok "Removed backup directory" + fi fi msg_info "Starting all Paperless-ngx Services"