diff --git a/ct/paperless-ngx.sh b/ct/paperless-ngx.sh index 201bb9d1..0d51673d 100644 --- a/ct/paperless-ngx.sh +++ b/ct/paperless-ngx.sh @@ -20,70 +20,61 @@ color catch_errors function update_script() { + header_info + check_container_storage + check_container_resources if [[ ! -d /opt/paperless ]]; then msg_error "No ${APP} Installation Found!" exit fi - RELEASE=$(curl -fsSL https://api.github.com/repos/paperless-ngx/paperless-ngx/releases/latest | grep "tag_name" | awk '{print substr($2, 2, length($2)-3) }') + RELEASE=$(curl -fsSL https://api.github.com/repos/paperless-ngx/paperless-ngx/releases/latest | jq -r .tag_name | sed 's/^v//') + if [[ "${RELEASE}" != "$(cat ~/.paperless 2>/dev/null)" ]] || [[ ! -f ~/.paperless ]]; then + PYTHON_VERSION="3.13" setup_uv + fetch_and_deploy_gh_release "paperless" "paperless-ngx/paperless-ngx" "tarball" "latest" "/opt/paperless" + fetch_and_deploy_gh_release "jbig2enc" "ie13/jbig2enc" "tarball" "latest" "/opt/jbig2enc" + setup_gs - UPD=$(whiptail --backtitle "Proxmox VE Helper Scripts" --title "SUPPORT" --radiolist --cancel-button Exit-Script "Spacebar = Select" 11 58 2 \ - "1" "Update Paperless-ngx to $RELEASE" ON \ - "2" "Paperless-ngx Credentials" OFF \ - 3>&1 1>&2 2>&3) - header_info - check_container_storage - check_container_resources - if [ "$UPD" == "1" ]; then - if [[ "${RELEASE}" != "$(cat /opt/${APP}_version.txt)" ]] || [[ ! -f /opt/${APP}_version.txt ]]; then - if [[ "$(gs --version 2>/dev/null)" != "10.04.0" ]]; then - msg_info "Updating Ghostscript (Patience)" - cd /tmp - curl -fsSL "https://github.com/ArtifexSoftware/ghostpdl-downloads/releases/download/gs10040/ghostscript-10.04.0.tar.gz" -o $(basename "https://github.com/ArtifexSoftware/ghostpdl-downloads/releases/download/gs10040/ghostscript-10.04.0.tar.gz") - tar -xzf ghostscript-10.04.0.tar.gz - cd ghostscript-10.04.0 - $STD ./configure - $STD make - $STD sudo make install - rm -rf /tmp/ghostscript* - msg_ok "Ghostscript updated to 10.04.0" - fi - msg_info "Stopping all Paperless-ngx Services" - systemctl stop paperless-consumer paperless-webserver paperless-scheduler paperless-task-queue.service - msg_ok "Stopped all Paperless-ngx Services" + msg_info "Stopping all Paperless-ngx Services" + systemctl stop paperless-consumer paperless-webserver paperless-scheduler paperless-task-queue.service + msg_ok "Stopped all Paperless-ngx Services" + if grep -q "uv run" /etc/systemd/system/paperless-webserver.service; then msg_info "Updating to ${RELEASE}" - cd ~ - curl -fsSL "https://github.com/paperless-ngx/paperless-ngx/releases/download/$RELEASE/paperless-ngx-$RELEASE.tar.xz" -o $(basename "https://github.com/paperless-ngx/paperless-ngx/releases/download/$RELEASE/paperless-ngx-$RELEASE.tar.xz") - tar -xf paperless-ngx-$RELEASE.tar.xz - cp -r /opt/paperless/paperless.conf paperless-ngx/ - cp -r paperless-ngx/* /opt/paperless/ cd /opt/paperless - $STD pip install -r requirements.txt + $STD uv sync --all-extras cd /opt/paperless/src - $STD /usr/bin/python3 manage.py migrate - echo "${RELEASE}" >/opt/${APP}_version.txt + $STD uv run -- python manage.py migrate msg_ok "Updated to ${RELEASE}" - - msg_info "Cleaning up" - cd ~ - rm paperless-ngx-$RELEASE.tar.xz - rm -rf paperless-ngx - msg_ok "Cleaned" - - msg_info "Starting all Paperless-ngx Services" - systemctl start paperless-consumer paperless-webserver paperless-scheduler paperless-task-queue.service - sleep 1 - msg_ok "Started all Paperless-ngx Services" - msg_ok "Updated Successfully!\n" else - msg_ok "No update required. ${APP} is already at ${RELEASE}" + msg_info "Migrating old Paperless-ngx installation to uv" + rm -rf /opt/paperless/venv + find /opt/paperless -name "__pycache__" -type d -exec rm -rf {} + + sed -i 's|ExecStart=.*manage.py document_consumer|ExecStart=uv run -- python manage.py document_consumer|' /etc/systemd/system/paperless-consumer.service + sed -i 's|ExecStart=celery|ExecStart=uv run -- celery|' /etc/systemd/system/paperless-scheduler.service + sed -i 's|ExecStart=celery|ExecStart=uv run -- celery|' /etc/systemd/system/paperless-task-queue.service + sed -i 's|ExecStart=granian|ExecStart=uv run -- granian|' /etc/systemd/system/paperless-webserver.service + $STD systemctl daemon-reexec + $STD systemctl daemon-reload + cd /opt/paperless + $STD uv sync --all-extras + cd /opt/paperless/src + $STD uv run -- python manage.py migrate + msg_ok "Paperless-ngx migration and update to ${RELEASE} completed" fi - exit - fi - if [ "$UPD" == "2" ]; then - cat paperless.creds - exit + + msg_info "Cleaning up" + cd ~ + msg_ok "Cleaned" + + msg_info "Starting all Paperless-ngx Services" + systemctl start paperless-consumer paperless-webserver paperless-scheduler paperless-task-queue.service + sleep 1 + msg_ok "Started all Paperless-ngx Services" + msg_ok "Updated Successfully!\n" + else + msg_ok "No update required. ${APP} is already at v${RELEASE}" fi + exit } start diff --git a/install/frigate-install.sh b/install/frigate-install.sh index 76f65c88..cbd8357c 100644 --- a/install/frigate-install.sh +++ b/install/frigate-install.sh @@ -185,12 +185,12 @@ chmod +x /usr/local/tempio/bin/tempio ln -sf /usr/local/tempio/bin/tempio /usr/local/bin/tempio msg_ok "Installed Tempio" -msg_info "Copying model files" -cp /opt/frigate/cpu_model.tflite / -cp /opt/frigate/edgetpu_model.tflite / -cp /opt/frigate/audio-labelmap.txt / -cp /opt/frigate/labelmap.txt / -msg_ok "Copied model files" +# msg_info "Copying model files" +# cp /opt/frigate/cpu_model.tflite / +# cp /opt/frigate/edgetpu_model.tflite / +# cp /opt/frigate/audio-labelmap.txt / +# cp /opt/frigate/labelmap.txt / +# msg_ok "Copied model files" msg_info "Building Nginx with Custom Modules" sed -i 's/if \[\[ "$VERSION_ID" == "12" \]\]; then/if [[ -f \/etc\/apt\/sources.list.d\/debian.sources ]]; then/' /opt/frigate/docker/main/build_nginx.sh