User Tools

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revisionPrevious revision
Next revision
Previous revision
en:install_paperless-ngx_on_debian_without_docker [2026-08-18 01:59] – iacchien:install_paperless-ngx_on_debian_without_docker [2026-09-02 10:45] (current) – iacchi
Line 32: Line 32:
 cd /opt/paperless cd /opt/paperless
 sudo -u paperless wget https://github.com/paperless-ngx/paperless-ngx/releases/download/vx.x.x/paperless-ngx-vx.x.x.tar.xz sudo -u paperless wget https://github.com/paperless-ngx/paperless-ngx/releases/download/vx.x.x/paperless-ngx-vx.x.x.tar.xz
-sudo -u paperless tar -xf paperless-ngx-vx.x.x.tar.xz+sudo -u paperless tar xf paperless-ngx-vx.x.x.tar.xz
 mv paperless-ngx/* . mv paperless-ngx/* .
 mv paperless-ngx/.* . mv paperless-ngx/.* .
Line 70: Line 70:
 cd src cd src
 sudo -u paperless ../venv/bin/python3 manage.py migrate sudo -u paperless ../venv/bin/python3 manage.py migrate
 +</code>
 +
 +As a last installation step, something undocumented on paperless-ngx's documentation: to enable better document search (which I believe is active by default), we need to download some more python packages. First of all, enable this feature explicitly in ''paperless.conf'':
 +
 +<code>
 +PAPERLESS_ENABLE_NLTK=true
 +PAPERLESS_NLTK_DIR=/opt/paperless/nltk_data
 +</code>
 +
 +Then, download the required packages:
 +
 +<code bash>
 +cd /opt/paperless
 +sudo -u paperless venv/bin/python3 -m nltk.downloader  punkt_tab
 +sudo -u paperless venv/bin/python3 -m nltk.downloader  punkt
 +sudo -u paperless venv/bin/python3 -m nltk.downloader  stopwords
 </code> </code>
  
Line 246: Line 262:
 ===== Updating paperless-ngx ===== ===== Updating paperless-ngx =====
  
-TBD+Paperless-ngx's documentation suggests to delete almost all previous files and copy the new ones in place, so we'll do just that. Before starting, we backup the current folder for safety purposes, and we stop all paperless services. Here is the sequence of commands: 
 + 
 +<code bash> 
 +systemctl stop paperless-consumer paperless-scheduler paperless-task-queue paperless-webserver 
 +cd /opt 
 +cp -R paperless paperless.bak 
 +wget https://github.com/paperless-ngx/paperless-ngx/releases/download/vx.x.x/paperless-ngx-vx.x.x.tar.xz 
 +tar xf paperless-ngx-vx.x.x.tar.xz 
 +chown -R paperless:paperless paperless.bak paperless-ngx 
 +</code> 
 + 
 +At this point it's good to stop for a second and check that the systemd unit files in the ''scripts'' directory have not changed, so that we can keep the old ones, or modify them accordingly. Once done with the check, it's time for the update. From the original installation we need to keep the ''.env'', ''paperless.conf'', ''scripts'', and ''venv'' files and folders, so we'll delete everything but those (and of course we'll remove just those from the directory of the new version): 
 + 
 +<code bash> 
 +cd /opt/paperless 
 +rm -r `ls -a | grep -v ".env\|paperless.conf\|scripts\|venv"` 
 +cd /opt/paperless-ngx 
 +rm -r .env paperless.conf scripts 
 +mv ./* ../paperless 
 +</code> 
 + 
 +Now, with all the files in place, we update the python dependencies. In principle we should also manually remove all dependencies that are no longer required, but meh, we'll think about it if errors occur. 
 + 
 +<code bash> 
 +cd /opt/paperless 
 +sudo -u paperless venv/bin/pip3 install -r requirements.txt 
 +cd src 
 +sudo -u paperless ../venv/bin/python3 manage.py migrate  # (1) 
 +sudo -u paperless ../venv/bin/python3 manage.py document_index reindex --if-needed 
 +sudo -u paperless ../venv/bin/python3 manage.py document_llmindex migrate 
 +</code> 
 + 
 +It is now possible to restart the services. 
 + 
 +<code bash> 
 +systemctl start paperless-consumer paperless-scheduler paperless-task-queue paperless-webserver 
 +</code> 
 + 
 +If everything works, we can clean up: 
 + 
 +<code bash> 
 +cd /opt 
 +rm -R paperless.bak paperless-ngx 
 +</code>