<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="de">
	<id>https://wiki.toenniges.de/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Robin+T%C3%B6nniges</id>
	<title>RT-Wiki - IT-Notizbuch - Benutzerbeiträge [de]</title>
	<link rel="self" type="application/atom+xml" href="https://wiki.toenniges.de/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Robin+T%C3%B6nniges"/>
	<link rel="alternate" type="text/html" href="https://wiki.toenniges.de/wiki/Spezial:Beitr%C3%A4ge/Robin_T%C3%B6nniges"/>
	<updated>2026-04-30T08:42:22Z</updated>
	<subtitle>Benutzerbeiträge</subtitle>
	<generator>MediaWiki 1.39.1</generator>
	<entry>
		<id>https://wiki.toenniges.de/index.php?title=Paperless-ngx_%22Bare_Metal%22_installieren_(Debian_11/12)&amp;diff=1855</id>
		<title>Paperless-ngx &quot;Bare Metal&quot; installieren (Debian 11/12)</title>
		<link rel="alternate" type="text/html" href="https://wiki.toenniges.de/index.php?title=Paperless-ngx_%22Bare_Metal%22_installieren_(Debian_11/12)&amp;diff=1855"/>
		<updated>2025-09-16T22:07:17Z</updated>

		<summary type="html">&lt;p&gt;Robin Tönniges: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Infobox&lt;br /&gt;
| Titel = Testumgebung&lt;br /&gt;
| Bildname = &lt;br /&gt;
| Bildbreite = &lt;br /&gt;
| Bildtext = &lt;br /&gt;
| Stil = 2&lt;br /&gt;
| Titelfarbe = 6&lt;br /&gt;
| Abschnittsfarbe = &lt;br /&gt;
| Farbe = &lt;br /&gt;
| Style = &lt;br /&gt;
| Feldstyle = &lt;br /&gt;
| Feldname1 = OS&lt;br /&gt;
| Daten1 = Debian 11.11/12.10&lt;br /&gt;
| Feldname3 = paperless-ngx (Dev)&lt;br /&gt;
| Daten3 = 2.18.4&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
Anleitung für die &amp;quot;Bare Metal&amp;quot; Installation von [https://docs.paperless-ngx.com/ paperless-ngx] mit dem Sourcecode vom [https://github.com/paperless-ngx/paperless-ngx Dev] oder [https://github.com/paperless-ngx/paperless-ngx/tree/beta Beta] Branch auf Debian 11 und 12.&lt;br /&gt;
==Abhängigkeiten installieren==&lt;br /&gt;
Das System auf den neusten Stand bringen:&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
sudo apt update&lt;br /&gt;
sudo apt upgrade&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
sudo apt install build-essential zlib1g-dev libncurses5-dev libgdbm-dev libnss3-dev libssl-dev libreadline-dev libffi-dev \&lt;br /&gt;
libpq-dev libsqlite3-dev libbz2-dev pkg-config libgdbm-compat-dev liblzma-dev tk-dev uuid-dev wget imagemagick unpaper \&lt;br /&gt;
fonts-liberation gnupg libpq-dev default-libmysqlclient-dev pkg-config libmagic-dev libzbar0 poppler-utils \&lt;br /&gt;
icc-profiles-free qpdf liblept5 libxml2 pngquant zlib1g tesseract-ocr redis git curl&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
===Python 3.11 installieren===&lt;br /&gt;
'''Debian 11:'''&lt;br /&gt;
:&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
wget https://www.python.org/ftp/python/3.11.11/Python-3.11.11.tgz&lt;br /&gt;
tar -xvf Python-3.11.11.tgz&lt;br /&gt;
cd Python-3.11.11&lt;br /&gt;
./configure --enable-optimizations&lt;br /&gt;
make -j$(nproc)&lt;br /&gt;
sudo make install&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
'''Debian 12:'''&lt;br /&gt;
:&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
sudo apt install python3.11 python3.11-venv python3-pip python3-setuptools python3-wheel&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
===Ghostscript 10.05 installieren===&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
wget https://github.com/ArtifexSoftware/ghostpdl-downloads/releases/download/gs10050/ghostscript-10.05.0.tar.gz&lt;br /&gt;
tar -xvf ghostscript-10.05.0.tar.gz&lt;br /&gt;
cd ghostscript-10.05.0&lt;br /&gt;
./configure --without-x&lt;br /&gt;
make -j$(nproc)&lt;br /&gt;
sudo make install&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
== Paperless-ngx installieren ==&lt;br /&gt;
Paperless Benutzer erstellen und Repository klonen:&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
sudo adduser paperless --system --home /opt/paperless --group&lt;br /&gt;
cd /opt/paperless&lt;br /&gt;
sudo -Hu paperless git clone https://github.com/paperless-ngx/paperless-ngx.git .&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
sudo -u paperless mkdir consume media&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
'''Debian 11:'''&lt;br /&gt;
:&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
sudo -Hu paperless pip3 install uv asyncio&lt;br /&gt;
sudo -Hu paperless uv export --no-dev --all-extras --format requirements-txt --output-file requirements.txt&lt;br /&gt;
sudo -Hu paperless pip3 install -r requirements.txt&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
'''Debian 12:'''&lt;br /&gt;
:&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
sudo -u paperless python3 -m venv /opt/paperless/venv&lt;br /&gt;
sudo -Hu paperless /opt/paperless/venv/bin/pip3 install uv asyncio&lt;br /&gt;
sudo -Hu paperless /opt/paperless/venv/bin/uv export --no-dev --all-extras --format requirements-txt --output-file requirements.txt&lt;br /&gt;
sudo -Hu paperless /opt/paperless/venv/bin/pip3 install -r requirements.txt&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
sudo -Hu paperless cp paperless.conf.example paperless.conf&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
sudo -u paperless vi paperless.conf&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
PAPERLESS_SECRET_KEY=change-me&lt;br /&gt;
&lt;br /&gt;
PAPERLESS_CONSUMPTION_DIR=/mnt/paperless-store/consume&lt;br /&gt;
PAPERLESS_DATA_DIR=/mnt/paperless-store/data&lt;br /&gt;
PAPERLESS_MEDIA_ROOT=/mnt/paperless-store/media&lt;br /&gt;
&lt;br /&gt;
PAPERLESS_TIME_ZONE=Europe/Berlin&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Datenbank ===&lt;br /&gt;
'''Hinweis: SQLite kann Probleme beim Bearbeiten paralleler Tasks verursachen.'''&lt;br /&gt;
&lt;br /&gt;
Wenn du postgresql statt sqlite verwendet möchtest:&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
PAPERLESS_DBHOST=127.0.0.1 # Use postgresql&lt;br /&gt;
PAPERLESS_DBNAME=db_paperless&lt;br /&gt;
#PAPERLESS_DBUSER=paperless&lt;br /&gt;
PAPERLESS_DBPASS=&amp;lt;password&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
sudo apt install postgresql&lt;br /&gt;
sudo -u postgres psql&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&amp;lt;syntaxhighlight lang=&amp;quot;sql&amp;quot;&amp;gt;&lt;br /&gt;
CREATE DATABASE db_paperless;&lt;br /&gt;
CREATE USER paperless WITH ENCRYPTED PASSWORD '&amp;lt;password&amp;gt;';&lt;br /&gt;
GRANT ALL ON DATABASE db_paperless TO paperless;&lt;br /&gt;
\c db_paperless&lt;br /&gt;
GRANT ALL ON SCHEMA public TO paperless;&lt;br /&gt;
\q&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Frontend ===&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
cd src-ui&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
sudo curl -sL https://deb.nodesource.com/setup_20.x | sudo -E bash -&lt;br /&gt;
sudo apt install nodejs&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
sudo npm install -g @angular/cli&lt;br /&gt;
sudo npm install -g pnpm&lt;br /&gt;
sudo -Hu paperless pnpm install&lt;br /&gt;
&lt;br /&gt;
sudo -Hu paperless ng build --configuration production&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Backend ===&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
cd ../src&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
'''Debian 11:'''&lt;br /&gt;
:&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
sudo -Hu paperless python3 manage.py migrate&lt;br /&gt;
sudo -Hu paperless python3 manage.py createsuperuser&lt;br /&gt;
sudo -Hu paperless python3 manage.py collectstatic&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
'''Debian 12:'''&lt;br /&gt;
:&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
sudo -Hu paperless /opt/paperless/venv/bin/python3 manage.py migrate&lt;br /&gt;
sudo -Hu paperless /opt/paperless/venv/bin/python3 manage.py createsuperuser&lt;br /&gt;
sudo -Hu paperless /opt/paperless/venv/bin/python3 manage.py collectstatic&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== ImageMagick konfigurieren ===&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
sudo vi /etc/ImageMagick-6/policy.xml&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;policy domain=&amp;quot;coder&amp;quot; rights=&amp;quot;read|write&amp;quot; pattern=&amp;quot;PDF&amp;quot; /&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
=== Systemd Services anlegen ===&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
cd ../scripts&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== paperless-consumer ====&lt;br /&gt;
'''Debian 12:'''&lt;br /&gt;
:&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
sudo vi paperless-consumer.service&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;ExecStart ersetzen:&lt;br /&gt;
:&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
ExecStart=/opt/paperless/venv/bin/python3 manage.py document_consumer&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
sudo ln -s /opt/paperless/scripts/paperless-consumer.service /etc/systemd/system/paperless-consumer.service&lt;br /&gt;
sudo systemctl daemon-reload&lt;br /&gt;
sudo systemctl enable --now paperless-consumer.service&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
systemctl status paperless-consumer.service&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;Sollte in etwa so aussehen:&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
● paperless-consumer.service - Paperless consumer&lt;br /&gt;
     Loaded: loaded (/etc/systemd/system/paperless-consumer.service; enabled; preset: enabled)&lt;br /&gt;
     Active: active (running) since Sat 2025-03-22 22:25:06 CET; 6s ago&lt;br /&gt;
   Main PID: 6715 (python3)&lt;br /&gt;
      Tasks: 11 (limit: 9472)&lt;br /&gt;
     Memory: 97.2M&lt;br /&gt;
        CPU: 1.518s&lt;br /&gt;
     CGroup: /system.slice/paperless-consumer.service&lt;br /&gt;
             └─6715 /opt/paperless/venv/bin/python3 manage.py document_consumer&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== paperless-scheduler ====&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
sudo vi paperless-scheduler.service&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;'''Debian 11:'''&lt;br /&gt;
:ExecStart ersetzen:&lt;br /&gt;
:&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
ExecStart=/opt/paperless/.local/bin/celery --app paperless beat --loglevel INFO&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
'''Debian 12:'''&lt;br /&gt;
:ExecStart ersetzen:&lt;br /&gt;
:&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
ExecStart=/opt/paperless/venv/bin/celery --app paperless beat --loglevel INFO&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
sudo ln -s /opt/paperless/scripts/paperless-scheduler.service /etc/systemd/system/paperless-scheduler.service&lt;br /&gt;
sudo systemctl daemon-reload&lt;br /&gt;
sudo systemctl enable --now paperless-scheduler.service&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
systemctl status paperless-scheduler.service&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;Sollte in etwa so aussehen:&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
● paperless-scheduler.service - Paperless Celery Beat&lt;br /&gt;
     Loaded: loaded (/etc/systemd/system/paperless-scheduler.service; enabled; preset: enabled)&lt;br /&gt;
     Active: active (running) since Sat 2025-03-22 22:29:33 CET; 4s ago&lt;br /&gt;
   Main PID: 6981 ([celery beat] -)&lt;br /&gt;
      Tasks: 22 (limit: 9472)&lt;br /&gt;
     Memory: 115.1M&lt;br /&gt;
        CPU: 1.831s&lt;br /&gt;
     CGroup: /system.slice/paperless-scheduler.service&lt;br /&gt;
             └─6981 &amp;quot;[celery beat] --app paperless beat --loglevel INFO&amp;quot;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== paperless-task-queue ====&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
sudo vi paperless-task-queue.service&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;'''Debian 11:'''&lt;br /&gt;
:ExecStart ersetzen:&lt;br /&gt;
:&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
ExecStart=/opt/paperless/.local/bin/celery --app paperless worker --loglevel INFO&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
'''Debian 12:'''&lt;br /&gt;
:ExecStart ersetzen:&lt;br /&gt;
:&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
ExecStart=/opt/paperless/venv/bin/celery --app paperless worker --loglevel INFO&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
sudo ln -s /opt/paperless/scripts/paperless-task-queue.service /etc/systemd/system/paperless-task-queue.service&lt;br /&gt;
sudo systemctl daemon-reload&lt;br /&gt;
sudo systemctl enable --now paperless-task-queue.service&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
systemctl status paperless-task-queue.service&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;Sollte in etwa so aussehen:&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
● paperless-task-queue.service - Paperless Celery Workers&lt;br /&gt;
     Loaded: loaded (/etc/systemd/system/paperless-task-queue.service; enabled; preset: enabled)&lt;br /&gt;
     Active: active (running) since Sat 2025-03-22 22:31:23 CET; 4s ago&lt;br /&gt;
   Main PID: 7122 ([celeryd: celer)&lt;br /&gt;
      Tasks: 24 (limit: 9472)&lt;br /&gt;
     Memory: 197.6M&lt;br /&gt;
        CPU: 2.177s&lt;br /&gt;
     CGroup: /system.slice/paperless-task-queue.service&lt;br /&gt;
             ├─7122 &amp;quot;[celeryd: celery@paperless-ngx-1:MainProcess] -active- (--app paperless worker --loglevel INFO)&amp;quot;&lt;br /&gt;
             ├─7153 &amp;quot;[celeryd: celery@paperless-ngx-1:ForkPoolWorker-1]&amp;quot;&lt;br /&gt;
             └─7154 &amp;quot;[celeryd: celery@paperless-ngx-1:ForkPoolWorker-2]&amp;quot;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
==== paperless-webserver ====&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
sudo vi paperless-webserver.service&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;'''Debian 11:'''&lt;br /&gt;
:exec ersetzen:&lt;br /&gt;
:&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
exec /opt/paperless/.local/bin/granian --interface asginl --ws &amp;quot;paperless.asgi:application&amp;quot;'&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
'''Debian 12:'''&lt;br /&gt;
:exec ersetzen:&lt;br /&gt;
:&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
exec /opt/paperless/venv/bin/granian --interface asginl --ws &amp;quot;paperless.asgi:application&amp;quot;'&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
sudo ln -s /opt/paperless/scripts/paperless-webserver.service /etc/systemd/system/paperless-webserver.service&lt;br /&gt;
sudo systemctl daemon-reload&lt;br /&gt;
sudo systemctl enable --now paperless-webserver.service&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
systemctl status paperless-webserver.service&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;Sollte in etwa so aussehen:&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
● paperless-webserver.service - Paperless webserver&lt;br /&gt;
     Loaded: loaded (/etc/systemd/system/paperless-webserver.service; enabled; preset: enabled)&lt;br /&gt;
     Active: active (running) since Sat 2025-03-22 22:34:41 CET; 3s ago&lt;br /&gt;
   Main PID: 7519 (granian asginl )&lt;br /&gt;
      Tasks: 18 (limit: 9472)&lt;br /&gt;
     Memory: 133.2M&lt;br /&gt;
        CPU: 1.746s&lt;br /&gt;
     CGroup: /system.slice/paperless-webserver.service&lt;br /&gt;
             ├─7519 &amp;quot;granian asginl :::8000 paperless.asgi:application&amp;quot;&lt;br /&gt;
             └─7521 &amp;quot;granian asginl :::8000 paperless.asgi:application worker-1&amp;quot;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Zusätzliche Pakete installieren ===&lt;br /&gt;
&lt;br /&gt;
==== stopwords &amp;amp; punkt_tab ====&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
cd ..&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Debian 11:'''&lt;br /&gt;
:&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
sudo -Hu paperless python3 -m nltk.downloader stopwords&lt;br /&gt;
sudo -Hu paperless python3 -m nltk.downloader punkt_tab&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
'''Debian 12:'''&lt;br /&gt;
:&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
sudo -Hu paperless /opt/paperless/venv/bin/python3 -m nltk.downloader stopwords&lt;br /&gt;
sudo -Hu paperless /opt/paperless/venv/bin/python3 -m nltk.downloader punkt_tab&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
sudo apt install tesseract-ocr-deu&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
sudo -Hu paperless vi /opt/paperless/paperless.conf&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
PAPERLESS_NLTK_DIR=/opt/paperless/nltk_data&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== jbig2enc ====&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
sudo apt install autotools-dev automake libtool libleptonica-dev&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
cd ~&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;'''Debian 11:'''&lt;br /&gt;
:&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
wget https://ftp.gnu.org/gnu/autoconf/autoconf-2.71.tar.xz&lt;br /&gt;
tar -xf autoconf-2.71.tar.xz&lt;br /&gt;
cd autoconf-2.71/&lt;br /&gt;
./configure&lt;br /&gt;
make -j$(nproc)&lt;br /&gt;
sudo make install &lt;br /&gt;
. ~/.profile&lt;br /&gt;
autoconf --version&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
git clone https://github.com/agl/jbig2enc&lt;br /&gt;
cd jbig2enc&lt;br /&gt;
./autogen.sh&lt;br /&gt;
./configure &amp;amp;&amp;amp; make -j$(nproc)&lt;br /&gt;
sudo make install&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;Für die Verarbeitung von Dokumenten in deutscher Sprache:&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
sudo apt install tesseract-ocr-deu&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
sudo -Hu paperless vi /opt/paperless/paperless.conf&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
PAPERLESS_OCR_LANGUAGE=deu+eng&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Tika / Gotenberg installieren (Docker) ====&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
sudo install -m 0755 -d /etc/apt/keyrings&lt;br /&gt;
sudo curl -fsSL https://download.docker.com/linux/debian/gpg -o /etc/apt/keyrings/docker.asc&lt;br /&gt;
sudo chmod a+r /etc/apt/keyrings/docker.asc&lt;br /&gt;
&lt;br /&gt;
echo \&lt;br /&gt;
  &amp;quot;deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.asc] https://download.docker.com/linux/debian \&lt;br /&gt;
  $(. /etc/os-release &amp;amp;&amp;amp; echo &amp;quot;$VERSION_CODENAME&amp;quot;) stable&amp;quot; | \&lt;br /&gt;
  sudo tee /etc/apt/sources.list.d/docker.list &amp;gt; /dev/null&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
sudo apt update&lt;br /&gt;
sudo apt install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
sudo docker pull apache/tika&lt;br /&gt;
sudo docker run -d --restart unless-stopped -p 127.0.0.1:9998:9998 apache/tika&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
sudo docker pull gotenberg/gotenberg:8&lt;br /&gt;
sudo docker run -d --restart unless-stopped -p 127.0.0.1:3000:3000 gotenberg/gotenberg:8&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
sudo -Hu paperless vi /opt/paperless/paperless.conf&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
# Tika settings&lt;br /&gt;
&lt;br /&gt;
PAPERLESS_TIKA_ENABLED=true&lt;br /&gt;
PAPERLESS_TIKA_ENDPOINT=http://localhost:9998&lt;br /&gt;
PAPERLESS_TIKA_GOTENBERG_ENDPOINT=http://localhost:3000&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Quellen ==&lt;br /&gt;
*[https://wiki.crowncloud.net/?How_to_Install_Python_3_11_on_Debian_11 wiki.crowncloud.net]&lt;br /&gt;
*[https://askubuntu.com/questions/1076846/how-to-install-newer-version-of-ghostscript-on-server-than-provided-from-ubuntu askubuntu.com]&lt;br /&gt;
*[https://docs.paperless-ngx.com/setup/#bare_metal docs.paperless-ngx.com]&lt;br /&gt;
*[https://docs.docker.com/engine/install/debian/ docs.docker.com/]&lt;br /&gt;
*[https://gotenberg.dev/docs/getting-started/installation gotenberg.dev]&lt;br /&gt;
*[https://hub.docker.com/r/apache/tika hub.docker.com]&lt;br /&gt;
&amp;lt;references /&amp;gt;&lt;/div&gt;</summary>
		<author><name>Robin Tönniges</name></author>
	</entry>
	<entry>
		<id>https://wiki.toenniges.de/index.php?title=Paperless-ngx_%22Bare_Metal%22_installieren_(Debian_11/12)&amp;diff=1854</id>
		<title>Paperless-ngx &quot;Bare Metal&quot; installieren (Debian 11/12)</title>
		<link rel="alternate" type="text/html" href="https://wiki.toenniges.de/index.php?title=Paperless-ngx_%22Bare_Metal%22_installieren_(Debian_11/12)&amp;diff=1854"/>
		<updated>2025-09-16T22:06:26Z</updated>

		<summary type="html">&lt;p&gt;Robin Tönniges: /* Frontend */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Infobox&lt;br /&gt;
| Titel      = Testumgebung&lt;br /&gt;
| Bildname   = &lt;br /&gt;
| Bildbreite = &lt;br /&gt;
| Bildtext   = &lt;br /&gt;
| Stil            = 2&lt;br /&gt;
| Titelfarbe      = 6&lt;br /&gt;
| Abschnittsfarbe = &lt;br /&gt;
| Farbe           = &lt;br /&gt;
| Style           = &lt;br /&gt;
| Feldstyle       = &lt;br /&gt;
| Feldname1 = OS    | Daten1 = Debian 11.11/12.10&lt;br /&gt;
| Feldname3 = paperless-ngx (Dev)    | Daten3 = 2.15.0&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
Anleitung für die &amp;quot;Bare Metal&amp;quot; Installation von [https://docs.paperless-ngx.com/ paperless-ngx] mit dem Sourcecode vom [https://github.com/paperless-ngx/paperless-ngx Dev] oder [https://github.com/paperless-ngx/paperless-ngx/tree/beta Beta] Branch auf Debian 11 und 12.&lt;br /&gt;
==Abhängigkeiten installieren==&lt;br /&gt;
Das System auf den neusten Stand bringen:&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
sudo apt update&lt;br /&gt;
sudo apt upgrade&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
sudo apt install build-essential zlib1g-dev libncurses5-dev libgdbm-dev libnss3-dev libssl-dev libreadline-dev libffi-dev \&lt;br /&gt;
libpq-dev libsqlite3-dev libbz2-dev pkg-config libgdbm-compat-dev liblzma-dev tk-dev uuid-dev wget imagemagick unpaper \&lt;br /&gt;
fonts-liberation gnupg libpq-dev default-libmysqlclient-dev pkg-config libmagic-dev libzbar0 poppler-utils \&lt;br /&gt;
icc-profiles-free qpdf liblept5 libxml2 pngquant zlib1g tesseract-ocr redis git curl&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
===Python 3.11 installieren===&lt;br /&gt;
'''Debian 11:'''&lt;br /&gt;
:&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
wget https://www.python.org/ftp/python/3.11.11/Python-3.11.11.tgz&lt;br /&gt;
tar -xvf Python-3.11.11.tgz&lt;br /&gt;
cd Python-3.11.11&lt;br /&gt;
./configure --enable-optimizations&lt;br /&gt;
make -j$(nproc)&lt;br /&gt;
sudo make install&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
'''Debian 12:'''&lt;br /&gt;
:&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
sudo apt install python3.11 python3.11-venv python3-pip python3-setuptools python3-wheel&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
===Ghostscript 10.05 installieren===&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
wget https://github.com/ArtifexSoftware/ghostpdl-downloads/releases/download/gs10050/ghostscript-10.05.0.tar.gz&lt;br /&gt;
tar -xvf ghostscript-10.05.0.tar.gz&lt;br /&gt;
cd ghostscript-10.05.0&lt;br /&gt;
./configure --without-x&lt;br /&gt;
make -j$(nproc)&lt;br /&gt;
sudo make install&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
== Paperless-ngx installieren ==&lt;br /&gt;
Paperless Benutzer erstellen und Repository klonen:&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
sudo adduser paperless --system --home /opt/paperless --group&lt;br /&gt;
cd /opt/paperless&lt;br /&gt;
sudo -Hu paperless git clone https://github.com/paperless-ngx/paperless-ngx.git .&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
sudo -u paperless mkdir consume media&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
'''Debian 11:'''&lt;br /&gt;
:&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
sudo -Hu paperless pip3 install uv asyncio&lt;br /&gt;
sudo -Hu paperless uv export --no-dev --all-extras --format requirements-txt --output-file requirements.txt&lt;br /&gt;
sudo -Hu paperless pip3 install -r requirements.txt&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
'''Debian 12:'''&lt;br /&gt;
:&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
sudo -u paperless python3 -m venv /opt/paperless/venv&lt;br /&gt;
sudo -Hu paperless /opt/paperless/venv/bin/pip3 install uv asyncio&lt;br /&gt;
sudo -Hu paperless /opt/paperless/venv/bin/uv export --no-dev --all-extras --format requirements-txt --output-file requirements.txt&lt;br /&gt;
sudo -Hu paperless /opt/paperless/venv/bin/pip3 install -r requirements.txt&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
sudo -Hu paperless cp paperless.conf.example paperless.conf&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
sudo -u paperless vi paperless.conf&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
PAPERLESS_SECRET_KEY=change-me&lt;br /&gt;
&lt;br /&gt;
PAPERLESS_CONSUMPTION_DIR=/mnt/paperless-store/consume&lt;br /&gt;
PAPERLESS_DATA_DIR=/mnt/paperless-store/data&lt;br /&gt;
PAPERLESS_MEDIA_ROOT=/mnt/paperless-store/media&lt;br /&gt;
&lt;br /&gt;
PAPERLESS_TIME_ZONE=Europe/Berlin&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Datenbank ===&lt;br /&gt;
'''Hinweis: SQLite kann Probleme beim Bearbeiten paralleler Tasks verursachen.'''&lt;br /&gt;
&lt;br /&gt;
Wenn du postgresql statt sqlite verwendet möchtest:&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
PAPERLESS_DBHOST=127.0.0.1 # Use postgresql&lt;br /&gt;
PAPERLESS_DBNAME=db_paperless&lt;br /&gt;
#PAPERLESS_DBUSER=paperless&lt;br /&gt;
PAPERLESS_DBPASS=&amp;lt;password&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
sudo apt install postgresql&lt;br /&gt;
sudo -u postgres psql&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&amp;lt;syntaxhighlight lang=&amp;quot;sql&amp;quot;&amp;gt;&lt;br /&gt;
CREATE DATABASE db_paperless;&lt;br /&gt;
CREATE USER paperless WITH ENCRYPTED PASSWORD '&amp;lt;password&amp;gt;';&lt;br /&gt;
GRANT ALL ON DATABASE db_paperless TO paperless;&lt;br /&gt;
\c db_paperless&lt;br /&gt;
GRANT ALL ON SCHEMA public TO paperless;&lt;br /&gt;
\q&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Frontend ===&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
cd src-ui&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
sudo curl -sL https://deb.nodesource.com/setup_20.x | sudo -E bash -&lt;br /&gt;
sudo apt install nodejs&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
sudo npm install -g @angular/cli&lt;br /&gt;
sudo npm install -g pnpm&lt;br /&gt;
sudo -Hu paperless pnpm install&lt;br /&gt;
&lt;br /&gt;
sudo -Hu paperless ng build --configuration production&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Backend ===&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
cd ../src&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
'''Debian 11:'''&lt;br /&gt;
:&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
sudo -Hu paperless python3 manage.py migrate&lt;br /&gt;
sudo -Hu paperless python3 manage.py createsuperuser&lt;br /&gt;
sudo -Hu paperless python3 manage.py collectstatic&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
'''Debian 12:'''&lt;br /&gt;
:&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
sudo -Hu paperless /opt/paperless/venv/bin/python3 manage.py migrate&lt;br /&gt;
sudo -Hu paperless /opt/paperless/venv/bin/python3 manage.py createsuperuser&lt;br /&gt;
sudo -Hu paperless /opt/paperless/venv/bin/python3 manage.py collectstatic&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== ImageMagick konfigurieren ===&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
sudo vi /etc/ImageMagick-6/policy.xml&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;policy domain=&amp;quot;coder&amp;quot; rights=&amp;quot;read|write&amp;quot; pattern=&amp;quot;PDF&amp;quot; /&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
=== Systemd Services anlegen ===&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
cd ../scripts&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== paperless-consumer ====&lt;br /&gt;
'''Debian 12:'''&lt;br /&gt;
:&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
sudo vi paperless-consumer.service&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;ExecStart ersetzen:&lt;br /&gt;
:&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
ExecStart=/opt/paperless/venv/bin/python3 manage.py document_consumer&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
sudo ln -s /opt/paperless/scripts/paperless-consumer.service /etc/systemd/system/paperless-consumer.service&lt;br /&gt;
sudo systemctl daemon-reload&lt;br /&gt;
sudo systemctl enable --now paperless-consumer.service&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
systemctl status paperless-consumer.service&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;Sollte in etwa so aussehen:&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
● paperless-consumer.service - Paperless consumer&lt;br /&gt;
     Loaded: loaded (/etc/systemd/system/paperless-consumer.service; enabled; preset: enabled)&lt;br /&gt;
     Active: active (running) since Sat 2025-03-22 22:25:06 CET; 6s ago&lt;br /&gt;
   Main PID: 6715 (python3)&lt;br /&gt;
      Tasks: 11 (limit: 9472)&lt;br /&gt;
     Memory: 97.2M&lt;br /&gt;
        CPU: 1.518s&lt;br /&gt;
     CGroup: /system.slice/paperless-consumer.service&lt;br /&gt;
             └─6715 /opt/paperless/venv/bin/python3 manage.py document_consumer&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== paperless-scheduler ====&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
sudo vi paperless-scheduler.service&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;'''Debian 11:'''&lt;br /&gt;
:ExecStart ersetzen:&lt;br /&gt;
:&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
ExecStart=/opt/paperless/.local/bin/celery --app paperless beat --loglevel INFO&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
'''Debian 12:'''&lt;br /&gt;
:ExecStart ersetzen:&lt;br /&gt;
:&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
ExecStart=/opt/paperless/venv/bin/celery --app paperless beat --loglevel INFO&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
sudo ln -s /opt/paperless/scripts/paperless-scheduler.service /etc/systemd/system/paperless-scheduler.service&lt;br /&gt;
sudo systemctl daemon-reload&lt;br /&gt;
sudo systemctl enable --now paperless-scheduler.service&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
systemctl status paperless-scheduler.service&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;Sollte in etwa so aussehen:&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
● paperless-scheduler.service - Paperless Celery Beat&lt;br /&gt;
     Loaded: loaded (/etc/systemd/system/paperless-scheduler.service; enabled; preset: enabled)&lt;br /&gt;
     Active: active (running) since Sat 2025-03-22 22:29:33 CET; 4s ago&lt;br /&gt;
   Main PID: 6981 ([celery beat] -)&lt;br /&gt;
      Tasks: 22 (limit: 9472)&lt;br /&gt;
     Memory: 115.1M&lt;br /&gt;
        CPU: 1.831s&lt;br /&gt;
     CGroup: /system.slice/paperless-scheduler.service&lt;br /&gt;
             └─6981 &amp;quot;[celery beat] --app paperless beat --loglevel INFO&amp;quot;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== paperless-task-queue ====&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
sudo vi paperless-task-queue.service&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;'''Debian 11:'''&lt;br /&gt;
:ExecStart ersetzen:&lt;br /&gt;
:&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
ExecStart=/opt/paperless/.local/bin/celery --app paperless worker --loglevel INFO&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
'''Debian 12:'''&lt;br /&gt;
:ExecStart ersetzen:&lt;br /&gt;
:&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
ExecStart=/opt/paperless/venv/bin/celery --app paperless worker --loglevel INFO&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
sudo ln -s /opt/paperless/scripts/paperless-task-queue.service /etc/systemd/system/paperless-task-queue.service&lt;br /&gt;
sudo systemctl daemon-reload&lt;br /&gt;
sudo systemctl enable --now paperless-task-queue.service&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
systemctl status paperless-task-queue.service&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;Sollte in etwa so aussehen:&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
● paperless-task-queue.service - Paperless Celery Workers&lt;br /&gt;
     Loaded: loaded (/etc/systemd/system/paperless-task-queue.service; enabled; preset: enabled)&lt;br /&gt;
     Active: active (running) since Sat 2025-03-22 22:31:23 CET; 4s ago&lt;br /&gt;
   Main PID: 7122 ([celeryd: celer)&lt;br /&gt;
      Tasks: 24 (limit: 9472)&lt;br /&gt;
     Memory: 197.6M&lt;br /&gt;
        CPU: 2.177s&lt;br /&gt;
     CGroup: /system.slice/paperless-task-queue.service&lt;br /&gt;
             ├─7122 &amp;quot;[celeryd: celery@paperless-ngx-1:MainProcess] -active- (--app paperless worker --loglevel INFO)&amp;quot;&lt;br /&gt;
             ├─7153 &amp;quot;[celeryd: celery@paperless-ngx-1:ForkPoolWorker-1]&amp;quot;&lt;br /&gt;
             └─7154 &amp;quot;[celeryd: celery@paperless-ngx-1:ForkPoolWorker-2]&amp;quot;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
==== paperless-webserver ====&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
sudo vi paperless-webserver.service&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;'''Debian 11:'''&lt;br /&gt;
:exec ersetzen:&lt;br /&gt;
:&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
exec /opt/paperless/.local/bin/granian --interface asginl --ws &amp;quot;paperless.asgi:application&amp;quot;'&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
'''Debian 12:'''&lt;br /&gt;
:exec ersetzen:&lt;br /&gt;
:&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
exec /opt/paperless/venv/bin/granian --interface asginl --ws &amp;quot;paperless.asgi:application&amp;quot;'&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
sudo ln -s /opt/paperless/scripts/paperless-webserver.service /etc/systemd/system/paperless-webserver.service&lt;br /&gt;
sudo systemctl daemon-reload&lt;br /&gt;
sudo systemctl enable --now paperless-webserver.service&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
systemctl status paperless-webserver.service&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;Sollte in etwa so aussehen:&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
● paperless-webserver.service - Paperless webserver&lt;br /&gt;
     Loaded: loaded (/etc/systemd/system/paperless-webserver.service; enabled; preset: enabled)&lt;br /&gt;
     Active: active (running) since Sat 2025-03-22 22:34:41 CET; 3s ago&lt;br /&gt;
   Main PID: 7519 (granian asginl )&lt;br /&gt;
      Tasks: 18 (limit: 9472)&lt;br /&gt;
     Memory: 133.2M&lt;br /&gt;
        CPU: 1.746s&lt;br /&gt;
     CGroup: /system.slice/paperless-webserver.service&lt;br /&gt;
             ├─7519 &amp;quot;granian asginl :::8000 paperless.asgi:application&amp;quot;&lt;br /&gt;
             └─7521 &amp;quot;granian asginl :::8000 paperless.asgi:application worker-1&amp;quot;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Zusätzliche Pakete installieren ===&lt;br /&gt;
&lt;br /&gt;
==== stopwords &amp;amp; punkt_tab ====&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
cd ..&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Debian 11:'''&lt;br /&gt;
:&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
sudo -Hu paperless python3 -m nltk.downloader stopwords&lt;br /&gt;
sudo -Hu paperless python3 -m nltk.downloader punkt_tab&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
'''Debian 12:'''&lt;br /&gt;
:&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
sudo -Hu paperless /opt/paperless/venv/bin/python3 -m nltk.downloader stopwords&lt;br /&gt;
sudo -Hu paperless /opt/paperless/venv/bin/python3 -m nltk.downloader punkt_tab&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
sudo apt install tesseract-ocr-deu&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
sudo -Hu paperless vi /opt/paperless/paperless.conf&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
PAPERLESS_NLTK_DIR=/opt/paperless/nltk_data&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== jbig2enc ====&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
sudo apt install autotools-dev automake libtool libleptonica-dev&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
cd ~&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;'''Debian 11:'''&lt;br /&gt;
:&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
wget https://ftp.gnu.org/gnu/autoconf/autoconf-2.71.tar.xz&lt;br /&gt;
tar -xf autoconf-2.71.tar.xz&lt;br /&gt;
cd autoconf-2.71/&lt;br /&gt;
./configure&lt;br /&gt;
make -j$(nproc)&lt;br /&gt;
sudo make install &lt;br /&gt;
. ~/.profile&lt;br /&gt;
autoconf --version&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
git clone https://github.com/agl/jbig2enc&lt;br /&gt;
cd jbig2enc&lt;br /&gt;
./autogen.sh&lt;br /&gt;
./configure &amp;amp;&amp;amp; make -j$(nproc)&lt;br /&gt;
sudo make install&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;Für die Verarbeitung von Dokumenten in deutscher Sprache:&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
sudo apt install tesseract-ocr-deu&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
sudo -Hu paperless vi /opt/paperless/paperless.conf&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
PAPERLESS_OCR_LANGUAGE=deu+eng&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Tika / Gotenberg installieren (Docker) ====&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
sudo install -m 0755 -d /etc/apt/keyrings&lt;br /&gt;
sudo curl -fsSL https://download.docker.com/linux/debian/gpg -o /etc/apt/keyrings/docker.asc&lt;br /&gt;
sudo chmod a+r /etc/apt/keyrings/docker.asc&lt;br /&gt;
&lt;br /&gt;
echo \&lt;br /&gt;
  &amp;quot;deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.asc] https://download.docker.com/linux/debian \&lt;br /&gt;
  $(. /etc/os-release &amp;amp;&amp;amp; echo &amp;quot;$VERSION_CODENAME&amp;quot;) stable&amp;quot; | \&lt;br /&gt;
  sudo tee /etc/apt/sources.list.d/docker.list &amp;gt; /dev/null&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
sudo apt update&lt;br /&gt;
sudo apt install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
sudo docker pull apache/tika&lt;br /&gt;
sudo docker run -d --restart unless-stopped -p 127.0.0.1:9998:9998 apache/tika&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
sudo docker pull gotenberg/gotenberg:8&lt;br /&gt;
sudo docker run -d --restart unless-stopped -p 127.0.0.1:3000:3000 gotenberg/gotenberg:8&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
sudo -Hu paperless vi /opt/paperless/paperless.conf&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
# Tika settings&lt;br /&gt;
&lt;br /&gt;
PAPERLESS_TIKA_ENABLED=true&lt;br /&gt;
PAPERLESS_TIKA_ENDPOINT=http://localhost:9998&lt;br /&gt;
PAPERLESS_TIKA_GOTENBERG_ENDPOINT=http://localhost:3000&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Quellen ==&lt;br /&gt;
*[https://wiki.crowncloud.net/?How_to_Install_Python_3_11_on_Debian_11 wiki.crowncloud.net]&lt;br /&gt;
*[https://askubuntu.com/questions/1076846/how-to-install-newer-version-of-ghostscript-on-server-than-provided-from-ubuntu askubuntu.com]&lt;br /&gt;
*[https://docs.paperless-ngx.com/setup/#bare_metal docs.paperless-ngx.com]&lt;br /&gt;
*[https://docs.docker.com/engine/install/debian/ docs.docker.com/]&lt;br /&gt;
*[https://gotenberg.dev/docs/getting-started/installation gotenberg.dev]&lt;br /&gt;
*[https://hub.docker.com/r/apache/tika hub.docker.com]&lt;br /&gt;
&amp;lt;references /&amp;gt;&lt;/div&gt;</summary>
		<author><name>Robin Tönniges</name></author>
	</entry>
	<entry>
		<id>https://wiki.toenniges.de/index.php?title=Paperless-ngx_%22Bare_Metal%22_installieren_(Debian_11/12)&amp;diff=1853</id>
		<title>Paperless-ngx &quot;Bare Metal&quot; installieren (Debian 11/12)</title>
		<link rel="alternate" type="text/html" href="https://wiki.toenniges.de/index.php?title=Paperless-ngx_%22Bare_Metal%22_installieren_(Debian_11/12)&amp;diff=1853"/>
		<updated>2025-04-29T11:20:30Z</updated>

		<summary type="html">&lt;p&gt;Robin Tönniges: /* Datenbank */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Infobox&lt;br /&gt;
| Titel      = Testumgebung&lt;br /&gt;
| Bildname   = &lt;br /&gt;
| Bildbreite = &lt;br /&gt;
| Bildtext   = &lt;br /&gt;
| Stil            = 2&lt;br /&gt;
| Titelfarbe      = 6&lt;br /&gt;
| Abschnittsfarbe = &lt;br /&gt;
| Farbe           = &lt;br /&gt;
| Style           = &lt;br /&gt;
| Feldstyle       = &lt;br /&gt;
| Feldname1 = OS    | Daten1 = Debian 11.11/12.10&lt;br /&gt;
| Feldname3 = paperless-ngx (Dev)    | Daten3 = 2.15.0&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
Anleitung für die &amp;quot;Bare Metal&amp;quot; Installation von [https://docs.paperless-ngx.com/ paperless-ngx] mit dem Sourcecode vom [https://github.com/paperless-ngx/paperless-ngx Dev] oder [https://github.com/paperless-ngx/paperless-ngx/tree/beta Beta] Branch auf Debian 11 und 12.&lt;br /&gt;
==Abhängigkeiten installieren==&lt;br /&gt;
Das System auf den neusten Stand bringen:&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
sudo apt update&lt;br /&gt;
sudo apt upgrade&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
sudo apt install build-essential zlib1g-dev libncurses5-dev libgdbm-dev libnss3-dev libssl-dev libreadline-dev libffi-dev \&lt;br /&gt;
libpq-dev libsqlite3-dev libbz2-dev pkg-config libgdbm-compat-dev liblzma-dev tk-dev uuid-dev wget imagemagick unpaper \&lt;br /&gt;
fonts-liberation gnupg libpq-dev default-libmysqlclient-dev pkg-config libmagic-dev libzbar0 poppler-utils \&lt;br /&gt;
icc-profiles-free qpdf liblept5 libxml2 pngquant zlib1g tesseract-ocr redis git curl&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
===Python 3.11 installieren===&lt;br /&gt;
'''Debian 11:'''&lt;br /&gt;
:&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
wget https://www.python.org/ftp/python/3.11.11/Python-3.11.11.tgz&lt;br /&gt;
tar -xvf Python-3.11.11.tgz&lt;br /&gt;
cd Python-3.11.11&lt;br /&gt;
./configure --enable-optimizations&lt;br /&gt;
make -j$(nproc)&lt;br /&gt;
sudo make install&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
'''Debian 12:'''&lt;br /&gt;
:&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
sudo apt install python3.11 python3.11-venv python3-pip python3-setuptools python3-wheel&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
===Ghostscript 10.05 installieren===&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
wget https://github.com/ArtifexSoftware/ghostpdl-downloads/releases/download/gs10050/ghostscript-10.05.0.tar.gz&lt;br /&gt;
tar -xvf ghostscript-10.05.0.tar.gz&lt;br /&gt;
cd ghostscript-10.05.0&lt;br /&gt;
./configure --without-x&lt;br /&gt;
make -j$(nproc)&lt;br /&gt;
sudo make install&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
== Paperless-ngx installieren ==&lt;br /&gt;
Paperless Benutzer erstellen und Repository klonen:&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
sudo adduser paperless --system --home /opt/paperless --group&lt;br /&gt;
cd /opt/paperless&lt;br /&gt;
sudo -Hu paperless git clone https://github.com/paperless-ngx/paperless-ngx.git .&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
sudo -u paperless mkdir consume media&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
'''Debian 11:'''&lt;br /&gt;
:&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
sudo -Hu paperless pip3 install uv asyncio&lt;br /&gt;
sudo -Hu paperless uv export --no-dev --all-extras --format requirements-txt --output-file requirements.txt&lt;br /&gt;
sudo -Hu paperless pip3 install -r requirements.txt&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
'''Debian 12:'''&lt;br /&gt;
:&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
sudo -u paperless python3 -m venv /opt/paperless/venv&lt;br /&gt;
sudo -Hu paperless /opt/paperless/venv/bin/pip3 install uv asyncio&lt;br /&gt;
sudo -Hu paperless /opt/paperless/venv/bin/uv export --no-dev --all-extras --format requirements-txt --output-file requirements.txt&lt;br /&gt;
sudo -Hu paperless /opt/paperless/venv/bin/pip3 install -r requirements.txt&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
sudo -Hu paperless cp paperless.conf.example paperless.conf&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
sudo -u paperless vi paperless.conf&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
PAPERLESS_SECRET_KEY=change-me&lt;br /&gt;
&lt;br /&gt;
PAPERLESS_CONSUMPTION_DIR=/mnt/paperless-store/consume&lt;br /&gt;
PAPERLESS_DATA_DIR=/mnt/paperless-store/data&lt;br /&gt;
PAPERLESS_MEDIA_ROOT=/mnt/paperless-store/media&lt;br /&gt;
&lt;br /&gt;
PAPERLESS_TIME_ZONE=Europe/Berlin&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Datenbank ===&lt;br /&gt;
'''Hinweis: SQLite kann Probleme beim Bearbeiten paralleler Tasks verursachen.'''&lt;br /&gt;
&lt;br /&gt;
Wenn du postgresql statt sqlite verwendet möchtest:&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
PAPERLESS_DBHOST=127.0.0.1 # Use postgresql&lt;br /&gt;
PAPERLESS_DBNAME=db_paperless&lt;br /&gt;
#PAPERLESS_DBUSER=paperless&lt;br /&gt;
PAPERLESS_DBPASS=&amp;lt;password&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
sudo apt install postgresql&lt;br /&gt;
sudo -u postgres psql&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&amp;lt;syntaxhighlight lang=&amp;quot;sql&amp;quot;&amp;gt;&lt;br /&gt;
CREATE DATABASE db_paperless;&lt;br /&gt;
CREATE USER paperless WITH ENCRYPTED PASSWORD '&amp;lt;password&amp;gt;';&lt;br /&gt;
GRANT ALL ON DATABASE db_paperless TO paperless;&lt;br /&gt;
\c db_paperless&lt;br /&gt;
GRANT ALL ON SCHEMA public TO paperless;&lt;br /&gt;
\q&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Frontend ===&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
cd src-ui&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
sudo curl -sL https://deb.nodesource.com/setup_18.x | sudo -E bash -&lt;br /&gt;
sudo apt install nodejs&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
sudo npm install -g @angular/cli&lt;br /&gt;
sudo npm install -g pnpm&lt;br /&gt;
sudo -Hu paperless pnpm install&lt;br /&gt;
&lt;br /&gt;
sudo -Hu paperless ng build --configuration production&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Backend ===&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
cd ../src&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
'''Debian 11:'''&lt;br /&gt;
:&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
sudo -Hu paperless python3 manage.py migrate&lt;br /&gt;
sudo -Hu paperless python3 manage.py createsuperuser&lt;br /&gt;
sudo -Hu paperless python3 manage.py collectstatic&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
'''Debian 12:'''&lt;br /&gt;
:&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
sudo -Hu paperless /opt/paperless/venv/bin/python3 manage.py migrate&lt;br /&gt;
sudo -Hu paperless /opt/paperless/venv/bin/python3 manage.py createsuperuser&lt;br /&gt;
sudo -Hu paperless /opt/paperless/venv/bin/python3 manage.py collectstatic&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== ImageMagick konfigurieren ===&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
sudo vi /etc/ImageMagick-6/policy.xml&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;policy domain=&amp;quot;coder&amp;quot; rights=&amp;quot;read|write&amp;quot; pattern=&amp;quot;PDF&amp;quot; /&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
=== Systemd Services anlegen ===&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
cd ../scripts&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== paperless-consumer ====&lt;br /&gt;
'''Debian 12:'''&lt;br /&gt;
:&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
sudo vi paperless-consumer.service&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;ExecStart ersetzen:&lt;br /&gt;
:&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
ExecStart=/opt/paperless/venv/bin/python3 manage.py document_consumer&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
sudo ln -s /opt/paperless/scripts/paperless-consumer.service /etc/systemd/system/paperless-consumer.service&lt;br /&gt;
sudo systemctl daemon-reload&lt;br /&gt;
sudo systemctl enable --now paperless-consumer.service&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
systemctl status paperless-consumer.service&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;Sollte in etwa so aussehen:&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
● paperless-consumer.service - Paperless consumer&lt;br /&gt;
     Loaded: loaded (/etc/systemd/system/paperless-consumer.service; enabled; preset: enabled)&lt;br /&gt;
     Active: active (running) since Sat 2025-03-22 22:25:06 CET; 6s ago&lt;br /&gt;
   Main PID: 6715 (python3)&lt;br /&gt;
      Tasks: 11 (limit: 9472)&lt;br /&gt;
     Memory: 97.2M&lt;br /&gt;
        CPU: 1.518s&lt;br /&gt;
     CGroup: /system.slice/paperless-consumer.service&lt;br /&gt;
             └─6715 /opt/paperless/venv/bin/python3 manage.py document_consumer&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== paperless-scheduler ====&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
sudo vi paperless-scheduler.service&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;'''Debian 11:'''&lt;br /&gt;
:ExecStart ersetzen:&lt;br /&gt;
:&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
ExecStart=/opt/paperless/.local/bin/celery --app paperless beat --loglevel INFO&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
'''Debian 12:'''&lt;br /&gt;
:ExecStart ersetzen:&lt;br /&gt;
:&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
ExecStart=/opt/paperless/venv/bin/celery --app paperless beat --loglevel INFO&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
sudo ln -s /opt/paperless/scripts/paperless-scheduler.service /etc/systemd/system/paperless-scheduler.service&lt;br /&gt;
sudo systemctl daemon-reload&lt;br /&gt;
sudo systemctl enable --now paperless-scheduler.service&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
systemctl status paperless-scheduler.service&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;Sollte in etwa so aussehen:&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
● paperless-scheduler.service - Paperless Celery Beat&lt;br /&gt;
     Loaded: loaded (/etc/systemd/system/paperless-scheduler.service; enabled; preset: enabled)&lt;br /&gt;
     Active: active (running) since Sat 2025-03-22 22:29:33 CET; 4s ago&lt;br /&gt;
   Main PID: 6981 ([celery beat] -)&lt;br /&gt;
      Tasks: 22 (limit: 9472)&lt;br /&gt;
     Memory: 115.1M&lt;br /&gt;
        CPU: 1.831s&lt;br /&gt;
     CGroup: /system.slice/paperless-scheduler.service&lt;br /&gt;
             └─6981 &amp;quot;[celery beat] --app paperless beat --loglevel INFO&amp;quot;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== paperless-task-queue ====&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
sudo vi paperless-task-queue.service&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;'''Debian 11:'''&lt;br /&gt;
:ExecStart ersetzen:&lt;br /&gt;
:&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
ExecStart=/opt/paperless/.local/bin/celery --app paperless worker --loglevel INFO&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
'''Debian 12:'''&lt;br /&gt;
:ExecStart ersetzen:&lt;br /&gt;
:&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
ExecStart=/opt/paperless/venv/bin/celery --app paperless worker --loglevel INFO&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
sudo ln -s /opt/paperless/scripts/paperless-task-queue.service /etc/systemd/system/paperless-task-queue.service&lt;br /&gt;
sudo systemctl daemon-reload&lt;br /&gt;
sudo systemctl enable --now paperless-task-queue.service&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
systemctl status paperless-task-queue.service&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;Sollte in etwa so aussehen:&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
● paperless-task-queue.service - Paperless Celery Workers&lt;br /&gt;
     Loaded: loaded (/etc/systemd/system/paperless-task-queue.service; enabled; preset: enabled)&lt;br /&gt;
     Active: active (running) since Sat 2025-03-22 22:31:23 CET; 4s ago&lt;br /&gt;
   Main PID: 7122 ([celeryd: celer)&lt;br /&gt;
      Tasks: 24 (limit: 9472)&lt;br /&gt;
     Memory: 197.6M&lt;br /&gt;
        CPU: 2.177s&lt;br /&gt;
     CGroup: /system.slice/paperless-task-queue.service&lt;br /&gt;
             ├─7122 &amp;quot;[celeryd: celery@paperless-ngx-1:MainProcess] -active- (--app paperless worker --loglevel INFO)&amp;quot;&lt;br /&gt;
             ├─7153 &amp;quot;[celeryd: celery@paperless-ngx-1:ForkPoolWorker-1]&amp;quot;&lt;br /&gt;
             └─7154 &amp;quot;[celeryd: celery@paperless-ngx-1:ForkPoolWorker-2]&amp;quot;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
==== paperless-webserver ====&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
sudo vi paperless-webserver.service&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;'''Debian 11:'''&lt;br /&gt;
:exec ersetzen:&lt;br /&gt;
:&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
exec /opt/paperless/.local/bin/granian --interface asginl --ws &amp;quot;paperless.asgi:application&amp;quot;'&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
'''Debian 12:'''&lt;br /&gt;
:exec ersetzen:&lt;br /&gt;
:&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
exec /opt/paperless/venv/bin/granian --interface asginl --ws &amp;quot;paperless.asgi:application&amp;quot;'&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
sudo ln -s /opt/paperless/scripts/paperless-webserver.service /etc/systemd/system/paperless-webserver.service&lt;br /&gt;
sudo systemctl daemon-reload&lt;br /&gt;
sudo systemctl enable --now paperless-webserver.service&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
systemctl status paperless-webserver.service&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;Sollte in etwa so aussehen:&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
● paperless-webserver.service - Paperless webserver&lt;br /&gt;
     Loaded: loaded (/etc/systemd/system/paperless-webserver.service; enabled; preset: enabled)&lt;br /&gt;
     Active: active (running) since Sat 2025-03-22 22:34:41 CET; 3s ago&lt;br /&gt;
   Main PID: 7519 (granian asginl )&lt;br /&gt;
      Tasks: 18 (limit: 9472)&lt;br /&gt;
     Memory: 133.2M&lt;br /&gt;
        CPU: 1.746s&lt;br /&gt;
     CGroup: /system.slice/paperless-webserver.service&lt;br /&gt;
             ├─7519 &amp;quot;granian asginl :::8000 paperless.asgi:application&amp;quot;&lt;br /&gt;
             └─7521 &amp;quot;granian asginl :::8000 paperless.asgi:application worker-1&amp;quot;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Zusätzliche Pakete installieren ===&lt;br /&gt;
&lt;br /&gt;
==== stopwords &amp;amp; punkt_tab ====&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
cd ..&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Debian 11:'''&lt;br /&gt;
:&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
sudo -Hu paperless python3 -m nltk.downloader stopwords&lt;br /&gt;
sudo -Hu paperless python3 -m nltk.downloader punkt_tab&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
'''Debian 12:'''&lt;br /&gt;
:&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
sudo -Hu paperless /opt/paperless/venv/bin/python3 -m nltk.downloader stopwords&lt;br /&gt;
sudo -Hu paperless /opt/paperless/venv/bin/python3 -m nltk.downloader punkt_tab&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
sudo apt install tesseract-ocr-deu&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
sudo -Hu paperless vi /opt/paperless/paperless.conf&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
PAPERLESS_NLTK_DIR=/opt/paperless/nltk_data&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== jbig2enc ====&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
sudo apt install autotools-dev automake libtool libleptonica-dev&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
cd ~&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;'''Debian 11:'''&lt;br /&gt;
:&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
wget https://ftp.gnu.org/gnu/autoconf/autoconf-2.71.tar.xz&lt;br /&gt;
tar -xf autoconf-2.71.tar.xz&lt;br /&gt;
cd autoconf-2.71/&lt;br /&gt;
./configure&lt;br /&gt;
make -j$(nproc)&lt;br /&gt;
sudo make install &lt;br /&gt;
. ~/.profile&lt;br /&gt;
autoconf --version&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
git clone https://github.com/agl/jbig2enc&lt;br /&gt;
cd jbig2enc&lt;br /&gt;
./autogen.sh&lt;br /&gt;
./configure &amp;amp;&amp;amp; make -j$(nproc)&lt;br /&gt;
sudo make install&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;Für die Verarbeitung von Dokumenten in deutscher Sprache:&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
sudo apt install tesseract-ocr-deu&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
sudo -Hu paperless vi /opt/paperless/paperless.conf&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
PAPERLESS_OCR_LANGUAGE=deu+eng&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Tika / Gotenberg installieren (Docker) ====&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
sudo install -m 0755 -d /etc/apt/keyrings&lt;br /&gt;
sudo curl -fsSL https://download.docker.com/linux/debian/gpg -o /etc/apt/keyrings/docker.asc&lt;br /&gt;
sudo chmod a+r /etc/apt/keyrings/docker.asc&lt;br /&gt;
&lt;br /&gt;
echo \&lt;br /&gt;
  &amp;quot;deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.asc] https://download.docker.com/linux/debian \&lt;br /&gt;
  $(. /etc/os-release &amp;amp;&amp;amp; echo &amp;quot;$VERSION_CODENAME&amp;quot;) stable&amp;quot; | \&lt;br /&gt;
  sudo tee /etc/apt/sources.list.d/docker.list &amp;gt; /dev/null&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
sudo apt update&lt;br /&gt;
sudo apt install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
sudo docker pull apache/tika&lt;br /&gt;
sudo docker run -d --restart unless-stopped -p 127.0.0.1:9998:9998 apache/tika&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
sudo docker pull gotenberg/gotenberg:8&lt;br /&gt;
sudo docker run -d --restart unless-stopped -p 127.0.0.1:3000:3000 gotenberg/gotenberg:8&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
sudo -Hu paperless vi /opt/paperless/paperless.conf&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
# Tika settings&lt;br /&gt;
&lt;br /&gt;
PAPERLESS_TIKA_ENABLED=true&lt;br /&gt;
PAPERLESS_TIKA_ENDPOINT=http://localhost:9998&lt;br /&gt;
PAPERLESS_TIKA_GOTENBERG_ENDPOINT=http://localhost:3000&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Quellen ==&lt;br /&gt;
*[https://wiki.crowncloud.net/?How_to_Install_Python_3_11_on_Debian_11 wiki.crowncloud.net]&lt;br /&gt;
*[https://askubuntu.com/questions/1076846/how-to-install-newer-version-of-ghostscript-on-server-than-provided-from-ubuntu askubuntu.com]&lt;br /&gt;
*[https://docs.paperless-ngx.com/setup/#bare_metal docs.paperless-ngx.com]&lt;br /&gt;
*[https://docs.docker.com/engine/install/debian/ docs.docker.com/]&lt;br /&gt;
*[https://gotenberg.dev/docs/getting-started/installation gotenberg.dev]&lt;br /&gt;
*[https://hub.docker.com/r/apache/tika hub.docker.com]&lt;br /&gt;
&amp;lt;references /&amp;gt;&lt;/div&gt;</summary>
		<author><name>Robin Tönniges</name></author>
	</entry>
	<entry>
		<id>https://wiki.toenniges.de/index.php?title=Paperless-ngx_%22Bare_Metal%22_installieren_(Debian_11/12)&amp;diff=1852</id>
		<title>Paperless-ngx &quot;Bare Metal&quot; installieren (Debian 11/12)</title>
		<link rel="alternate" type="text/html" href="https://wiki.toenniges.de/index.php?title=Paperless-ngx_%22Bare_Metal%22_installieren_(Debian_11/12)&amp;diff=1852"/>
		<updated>2025-04-29T11:19:50Z</updated>

		<summary type="html">&lt;p&gt;Robin Tönniges: /* Backend */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Infobox&lt;br /&gt;
| Titel      = Testumgebung&lt;br /&gt;
| Bildname   = &lt;br /&gt;
| Bildbreite = &lt;br /&gt;
| Bildtext   = &lt;br /&gt;
| Stil            = 2&lt;br /&gt;
| Titelfarbe      = 6&lt;br /&gt;
| Abschnittsfarbe = &lt;br /&gt;
| Farbe           = &lt;br /&gt;
| Style           = &lt;br /&gt;
| Feldstyle       = &lt;br /&gt;
| Feldname1 = OS    | Daten1 = Debian 11.11/12.10&lt;br /&gt;
| Feldname3 = paperless-ngx (Dev)    | Daten3 = 2.15.0&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
Anleitung für die &amp;quot;Bare Metal&amp;quot; Installation von [https://docs.paperless-ngx.com/ paperless-ngx] mit dem Sourcecode vom [https://github.com/paperless-ngx/paperless-ngx Dev] oder [https://github.com/paperless-ngx/paperless-ngx/tree/beta Beta] Branch auf Debian 11 und 12.&lt;br /&gt;
==Abhängigkeiten installieren==&lt;br /&gt;
Das System auf den neusten Stand bringen:&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
sudo apt update&lt;br /&gt;
sudo apt upgrade&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
sudo apt install build-essential zlib1g-dev libncurses5-dev libgdbm-dev libnss3-dev libssl-dev libreadline-dev libffi-dev \&lt;br /&gt;
libpq-dev libsqlite3-dev libbz2-dev pkg-config libgdbm-compat-dev liblzma-dev tk-dev uuid-dev wget imagemagick unpaper \&lt;br /&gt;
fonts-liberation gnupg libpq-dev default-libmysqlclient-dev pkg-config libmagic-dev libzbar0 poppler-utils \&lt;br /&gt;
icc-profiles-free qpdf liblept5 libxml2 pngquant zlib1g tesseract-ocr redis git curl&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
===Python 3.11 installieren===&lt;br /&gt;
'''Debian 11:'''&lt;br /&gt;
:&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
wget https://www.python.org/ftp/python/3.11.11/Python-3.11.11.tgz&lt;br /&gt;
tar -xvf Python-3.11.11.tgz&lt;br /&gt;
cd Python-3.11.11&lt;br /&gt;
./configure --enable-optimizations&lt;br /&gt;
make -j$(nproc)&lt;br /&gt;
sudo make install&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
'''Debian 12:'''&lt;br /&gt;
:&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
sudo apt install python3.11 python3.11-venv python3-pip python3-setuptools python3-wheel&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
===Ghostscript 10.05 installieren===&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
wget https://github.com/ArtifexSoftware/ghostpdl-downloads/releases/download/gs10050/ghostscript-10.05.0.tar.gz&lt;br /&gt;
tar -xvf ghostscript-10.05.0.tar.gz&lt;br /&gt;
cd ghostscript-10.05.0&lt;br /&gt;
./configure --without-x&lt;br /&gt;
make -j$(nproc)&lt;br /&gt;
sudo make install&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
== Paperless-ngx installieren ==&lt;br /&gt;
Paperless Benutzer erstellen und Repository klonen:&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
sudo adduser paperless --system --home /opt/paperless --group&lt;br /&gt;
cd /opt/paperless&lt;br /&gt;
sudo -Hu paperless git clone https://github.com/paperless-ngx/paperless-ngx.git .&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
sudo -u paperless mkdir consume media&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
'''Debian 11:'''&lt;br /&gt;
:&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
sudo -Hu paperless pip3 install uv asyncio&lt;br /&gt;
sudo -Hu paperless uv export --no-dev --all-extras --format requirements-txt --output-file requirements.txt&lt;br /&gt;
sudo -Hu paperless pip3 install -r requirements.txt&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
'''Debian 12:'''&lt;br /&gt;
:&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
sudo -u paperless python3 -m venv /opt/paperless/venv&lt;br /&gt;
sudo -Hu paperless /opt/paperless/venv/bin/pip3 install uv asyncio&lt;br /&gt;
sudo -Hu paperless /opt/paperless/venv/bin/uv export --no-dev --all-extras --format requirements-txt --output-file requirements.txt&lt;br /&gt;
sudo -Hu paperless /opt/paperless/venv/bin/pip3 install -r requirements.txt&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
sudo -Hu paperless cp paperless.conf.example paperless.conf&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
sudo -u paperless vi paperless.conf&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
PAPERLESS_SECRET_KEY=change-me&lt;br /&gt;
&lt;br /&gt;
PAPERLESS_CONSUMPTION_DIR=/mnt/paperless-store/consume&lt;br /&gt;
PAPERLESS_DATA_DIR=/mnt/paperless-store/data&lt;br /&gt;
PAPERLESS_MEDIA_ROOT=/mnt/paperless-store/media&lt;br /&gt;
&lt;br /&gt;
PAPERLESS_TIME_ZONE=Europe/Berlin&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Datenbank ===&lt;br /&gt;
'''Hinweis: SQLite kann Probleme beim bearbeiten paralleler Tasks verursachen.'''&lt;br /&gt;
&lt;br /&gt;
Wenn du postgresql statt sqlite verwendet möchtest:&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
PAPERLESS_DBHOST=127.0.0.1 # Use postgresql&lt;br /&gt;
PAPERLESS_DBNAME=db_paperless&lt;br /&gt;
#PAPERLESS_DBUSER=paperless&lt;br /&gt;
PAPERLESS_DBPASS=&amp;lt;password&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
sudo apt install postgresql&lt;br /&gt;
sudo -u postgres psql&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&amp;lt;syntaxhighlight lang=&amp;quot;sql&amp;quot;&amp;gt;&lt;br /&gt;
CREATE DATABASE db_paperless;&lt;br /&gt;
CREATE USER paperless WITH ENCRYPTED PASSWORD '&amp;lt;password&amp;gt;';&lt;br /&gt;
GRANT ALL ON DATABASE db_paperless TO paperless;&lt;br /&gt;
\c db_paperless&lt;br /&gt;
GRANT ALL ON SCHEMA public TO paperless;&lt;br /&gt;
\q&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Frontend ===&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
cd src-ui&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
sudo curl -sL https://deb.nodesource.com/setup_18.x | sudo -E bash -&lt;br /&gt;
sudo apt install nodejs&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
sudo npm install -g @angular/cli&lt;br /&gt;
sudo npm install -g pnpm&lt;br /&gt;
sudo -Hu paperless pnpm install&lt;br /&gt;
&lt;br /&gt;
sudo -Hu paperless ng build --configuration production&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Backend ===&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
cd ../src&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
'''Debian 11:'''&lt;br /&gt;
:&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
sudo -Hu paperless python3 manage.py migrate&lt;br /&gt;
sudo -Hu paperless python3 manage.py createsuperuser&lt;br /&gt;
sudo -Hu paperless python3 manage.py collectstatic&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
'''Debian 12:'''&lt;br /&gt;
:&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
sudo -Hu paperless /opt/paperless/venv/bin/python3 manage.py migrate&lt;br /&gt;
sudo -Hu paperless /opt/paperless/venv/bin/python3 manage.py createsuperuser&lt;br /&gt;
sudo -Hu paperless /opt/paperless/venv/bin/python3 manage.py collectstatic&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== ImageMagick konfigurieren ===&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
sudo vi /etc/ImageMagick-6/policy.xml&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;policy domain=&amp;quot;coder&amp;quot; rights=&amp;quot;read|write&amp;quot; pattern=&amp;quot;PDF&amp;quot; /&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
=== Systemd Services anlegen ===&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
cd ../scripts&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== paperless-consumer ====&lt;br /&gt;
'''Debian 12:'''&lt;br /&gt;
:&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
sudo vi paperless-consumer.service&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;ExecStart ersetzen:&lt;br /&gt;
:&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
ExecStart=/opt/paperless/venv/bin/python3 manage.py document_consumer&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
sudo ln -s /opt/paperless/scripts/paperless-consumer.service /etc/systemd/system/paperless-consumer.service&lt;br /&gt;
sudo systemctl daemon-reload&lt;br /&gt;
sudo systemctl enable --now paperless-consumer.service&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
systemctl status paperless-consumer.service&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;Sollte in etwa so aussehen:&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
● paperless-consumer.service - Paperless consumer&lt;br /&gt;
     Loaded: loaded (/etc/systemd/system/paperless-consumer.service; enabled; preset: enabled)&lt;br /&gt;
     Active: active (running) since Sat 2025-03-22 22:25:06 CET; 6s ago&lt;br /&gt;
   Main PID: 6715 (python3)&lt;br /&gt;
      Tasks: 11 (limit: 9472)&lt;br /&gt;
     Memory: 97.2M&lt;br /&gt;
        CPU: 1.518s&lt;br /&gt;
     CGroup: /system.slice/paperless-consumer.service&lt;br /&gt;
             └─6715 /opt/paperless/venv/bin/python3 manage.py document_consumer&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== paperless-scheduler ====&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
sudo vi paperless-scheduler.service&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;'''Debian 11:'''&lt;br /&gt;
:ExecStart ersetzen:&lt;br /&gt;
:&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
ExecStart=/opt/paperless/.local/bin/celery --app paperless beat --loglevel INFO&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
'''Debian 12:'''&lt;br /&gt;
:ExecStart ersetzen:&lt;br /&gt;
:&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
ExecStart=/opt/paperless/venv/bin/celery --app paperless beat --loglevel INFO&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
sudo ln -s /opt/paperless/scripts/paperless-scheduler.service /etc/systemd/system/paperless-scheduler.service&lt;br /&gt;
sudo systemctl daemon-reload&lt;br /&gt;
sudo systemctl enable --now paperless-scheduler.service&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
systemctl status paperless-scheduler.service&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;Sollte in etwa so aussehen:&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
● paperless-scheduler.service - Paperless Celery Beat&lt;br /&gt;
     Loaded: loaded (/etc/systemd/system/paperless-scheduler.service; enabled; preset: enabled)&lt;br /&gt;
     Active: active (running) since Sat 2025-03-22 22:29:33 CET; 4s ago&lt;br /&gt;
   Main PID: 6981 ([celery beat] -)&lt;br /&gt;
      Tasks: 22 (limit: 9472)&lt;br /&gt;
     Memory: 115.1M&lt;br /&gt;
        CPU: 1.831s&lt;br /&gt;
     CGroup: /system.slice/paperless-scheduler.service&lt;br /&gt;
             └─6981 &amp;quot;[celery beat] --app paperless beat --loglevel INFO&amp;quot;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== paperless-task-queue ====&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
sudo vi paperless-task-queue.service&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;'''Debian 11:'''&lt;br /&gt;
:ExecStart ersetzen:&lt;br /&gt;
:&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
ExecStart=/opt/paperless/.local/bin/celery --app paperless worker --loglevel INFO&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
'''Debian 12:'''&lt;br /&gt;
:ExecStart ersetzen:&lt;br /&gt;
:&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
ExecStart=/opt/paperless/venv/bin/celery --app paperless worker --loglevel INFO&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
sudo ln -s /opt/paperless/scripts/paperless-task-queue.service /etc/systemd/system/paperless-task-queue.service&lt;br /&gt;
sudo systemctl daemon-reload&lt;br /&gt;
sudo systemctl enable --now paperless-task-queue.service&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
systemctl status paperless-task-queue.service&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;Sollte in etwa so aussehen:&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
● paperless-task-queue.service - Paperless Celery Workers&lt;br /&gt;
     Loaded: loaded (/etc/systemd/system/paperless-task-queue.service; enabled; preset: enabled)&lt;br /&gt;
     Active: active (running) since Sat 2025-03-22 22:31:23 CET; 4s ago&lt;br /&gt;
   Main PID: 7122 ([celeryd: celer)&lt;br /&gt;
      Tasks: 24 (limit: 9472)&lt;br /&gt;
     Memory: 197.6M&lt;br /&gt;
        CPU: 2.177s&lt;br /&gt;
     CGroup: /system.slice/paperless-task-queue.service&lt;br /&gt;
             ├─7122 &amp;quot;[celeryd: celery@paperless-ngx-1:MainProcess] -active- (--app paperless worker --loglevel INFO)&amp;quot;&lt;br /&gt;
             ├─7153 &amp;quot;[celeryd: celery@paperless-ngx-1:ForkPoolWorker-1]&amp;quot;&lt;br /&gt;
             └─7154 &amp;quot;[celeryd: celery@paperless-ngx-1:ForkPoolWorker-2]&amp;quot;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
==== paperless-webserver ====&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
sudo vi paperless-webserver.service&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;'''Debian 11:'''&lt;br /&gt;
:exec ersetzen:&lt;br /&gt;
:&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
exec /opt/paperless/.local/bin/granian --interface asginl --ws &amp;quot;paperless.asgi:application&amp;quot;'&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
'''Debian 12:'''&lt;br /&gt;
:exec ersetzen:&lt;br /&gt;
:&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
exec /opt/paperless/venv/bin/granian --interface asginl --ws &amp;quot;paperless.asgi:application&amp;quot;'&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
sudo ln -s /opt/paperless/scripts/paperless-webserver.service /etc/systemd/system/paperless-webserver.service&lt;br /&gt;
sudo systemctl daemon-reload&lt;br /&gt;
sudo systemctl enable --now paperless-webserver.service&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
systemctl status paperless-webserver.service&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;Sollte in etwa so aussehen:&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
● paperless-webserver.service - Paperless webserver&lt;br /&gt;
     Loaded: loaded (/etc/systemd/system/paperless-webserver.service; enabled; preset: enabled)&lt;br /&gt;
     Active: active (running) since Sat 2025-03-22 22:34:41 CET; 3s ago&lt;br /&gt;
   Main PID: 7519 (granian asginl )&lt;br /&gt;
      Tasks: 18 (limit: 9472)&lt;br /&gt;
     Memory: 133.2M&lt;br /&gt;
        CPU: 1.746s&lt;br /&gt;
     CGroup: /system.slice/paperless-webserver.service&lt;br /&gt;
             ├─7519 &amp;quot;granian asginl :::8000 paperless.asgi:application&amp;quot;&lt;br /&gt;
             └─7521 &amp;quot;granian asginl :::8000 paperless.asgi:application worker-1&amp;quot;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Zusätzliche Pakete installieren ===&lt;br /&gt;
&lt;br /&gt;
==== stopwords &amp;amp; punkt_tab ====&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
cd ..&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Debian 11:'''&lt;br /&gt;
:&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
sudo -Hu paperless python3 -m nltk.downloader stopwords&lt;br /&gt;
sudo -Hu paperless python3 -m nltk.downloader punkt_tab&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
'''Debian 12:'''&lt;br /&gt;
:&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
sudo -Hu paperless /opt/paperless/venv/bin/python3 -m nltk.downloader stopwords&lt;br /&gt;
sudo -Hu paperless /opt/paperless/venv/bin/python3 -m nltk.downloader punkt_tab&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
sudo apt install tesseract-ocr-deu&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
sudo -Hu paperless vi /opt/paperless/paperless.conf&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
PAPERLESS_NLTK_DIR=/opt/paperless/nltk_data&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== jbig2enc ====&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
sudo apt install autotools-dev automake libtool libleptonica-dev&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
cd ~&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;'''Debian 11:'''&lt;br /&gt;
:&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
wget https://ftp.gnu.org/gnu/autoconf/autoconf-2.71.tar.xz&lt;br /&gt;
tar -xf autoconf-2.71.tar.xz&lt;br /&gt;
cd autoconf-2.71/&lt;br /&gt;
./configure&lt;br /&gt;
make -j$(nproc)&lt;br /&gt;
sudo make install &lt;br /&gt;
. ~/.profile&lt;br /&gt;
autoconf --version&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
git clone https://github.com/agl/jbig2enc&lt;br /&gt;
cd jbig2enc&lt;br /&gt;
./autogen.sh&lt;br /&gt;
./configure &amp;amp;&amp;amp; make -j$(nproc)&lt;br /&gt;
sudo make install&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;Für die Verarbeitung von Dokumenten in deutscher Sprache:&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
sudo apt install tesseract-ocr-deu&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
sudo -Hu paperless vi /opt/paperless/paperless.conf&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
PAPERLESS_OCR_LANGUAGE=deu+eng&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Tika / Gotenberg installieren (Docker) ====&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
sudo install -m 0755 -d /etc/apt/keyrings&lt;br /&gt;
sudo curl -fsSL https://download.docker.com/linux/debian/gpg -o /etc/apt/keyrings/docker.asc&lt;br /&gt;
sudo chmod a+r /etc/apt/keyrings/docker.asc&lt;br /&gt;
&lt;br /&gt;
echo \&lt;br /&gt;
  &amp;quot;deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.asc] https://download.docker.com/linux/debian \&lt;br /&gt;
  $(. /etc/os-release &amp;amp;&amp;amp; echo &amp;quot;$VERSION_CODENAME&amp;quot;) stable&amp;quot; | \&lt;br /&gt;
  sudo tee /etc/apt/sources.list.d/docker.list &amp;gt; /dev/null&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
sudo apt update&lt;br /&gt;
sudo apt install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
sudo docker pull apache/tika&lt;br /&gt;
sudo docker run -d --restart unless-stopped -p 127.0.0.1:9998:9998 apache/tika&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
sudo docker pull gotenberg/gotenberg:8&lt;br /&gt;
sudo docker run -d --restart unless-stopped -p 127.0.0.1:3000:3000 gotenberg/gotenberg:8&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
sudo -Hu paperless vi /opt/paperless/paperless.conf&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
# Tika settings&lt;br /&gt;
&lt;br /&gt;
PAPERLESS_TIKA_ENABLED=true&lt;br /&gt;
PAPERLESS_TIKA_ENDPOINT=http://localhost:9998&lt;br /&gt;
PAPERLESS_TIKA_GOTENBERG_ENDPOINT=http://localhost:3000&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Quellen ==&lt;br /&gt;
*[https://wiki.crowncloud.net/?How_to_Install_Python_3_11_on_Debian_11 wiki.crowncloud.net]&lt;br /&gt;
*[https://askubuntu.com/questions/1076846/how-to-install-newer-version-of-ghostscript-on-server-than-provided-from-ubuntu askubuntu.com]&lt;br /&gt;
*[https://docs.paperless-ngx.com/setup/#bare_metal docs.paperless-ngx.com]&lt;br /&gt;
*[https://docs.docker.com/engine/install/debian/ docs.docker.com/]&lt;br /&gt;
*[https://gotenberg.dev/docs/getting-started/installation gotenberg.dev]&lt;br /&gt;
*[https://hub.docker.com/r/apache/tika hub.docker.com]&lt;br /&gt;
&amp;lt;references /&amp;gt;&lt;/div&gt;</summary>
		<author><name>Robin Tönniges</name></author>
	</entry>
	<entry>
		<id>https://wiki.toenniges.de/index.php?title=Paperless-ngx_%22Bare_Metal%22_installieren_(Debian_11/12)&amp;diff=1851</id>
		<title>Paperless-ngx &quot;Bare Metal&quot; installieren (Debian 11/12)</title>
		<link rel="alternate" type="text/html" href="https://wiki.toenniges.de/index.php?title=Paperless-ngx_%22Bare_Metal%22_installieren_(Debian_11/12)&amp;diff=1851"/>
		<updated>2025-04-07T20:22:59Z</updated>

		<summary type="html">&lt;p&gt;Robin Tönniges: /* Paperless-ngx installieren */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Infobox&lt;br /&gt;
| Titel      = Testumgebung&lt;br /&gt;
| Bildname   = &lt;br /&gt;
| Bildbreite = &lt;br /&gt;
| Bildtext   = &lt;br /&gt;
| Stil            = 2&lt;br /&gt;
| Titelfarbe      = 6&lt;br /&gt;
| Abschnittsfarbe = &lt;br /&gt;
| Farbe           = &lt;br /&gt;
| Style           = &lt;br /&gt;
| Feldstyle       = &lt;br /&gt;
| Feldname1 = OS    | Daten1 = Debian 11.11/12.10&lt;br /&gt;
| Feldname3 = paperless-ngx (Dev)    | Daten3 = 2.15.0&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
Anleitung für die &amp;quot;Bare Metal&amp;quot; Installation von [https://docs.paperless-ngx.com/ paperless-ngx] mit dem Sourcecode vom [https://github.com/paperless-ngx/paperless-ngx Dev] oder [https://github.com/paperless-ngx/paperless-ngx/tree/beta Beta] Branch auf Debian 11 und 12.&lt;br /&gt;
==Abhängigkeiten installieren==&lt;br /&gt;
Das System auf den neusten Stand bringen:&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
sudo apt update&lt;br /&gt;
sudo apt upgrade&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
sudo apt install build-essential zlib1g-dev libncurses5-dev libgdbm-dev libnss3-dev libssl-dev libreadline-dev libffi-dev \&lt;br /&gt;
libpq-dev libsqlite3-dev libbz2-dev pkg-config libgdbm-compat-dev liblzma-dev tk-dev uuid-dev wget imagemagick unpaper \&lt;br /&gt;
fonts-liberation gnupg libpq-dev default-libmysqlclient-dev pkg-config libmagic-dev libzbar0 poppler-utils \&lt;br /&gt;
icc-profiles-free qpdf liblept5 libxml2 pngquant zlib1g tesseract-ocr redis git curl&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
===Python 3.11 installieren===&lt;br /&gt;
'''Debian 11:'''&lt;br /&gt;
:&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
wget https://www.python.org/ftp/python/3.11.11/Python-3.11.11.tgz&lt;br /&gt;
tar -xvf Python-3.11.11.tgz&lt;br /&gt;
cd Python-3.11.11&lt;br /&gt;
./configure --enable-optimizations&lt;br /&gt;
make -j$(nproc)&lt;br /&gt;
sudo make install&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
'''Debian 12:'''&lt;br /&gt;
:&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
sudo apt install python3.11 python3.11-venv python3-pip python3-setuptools python3-wheel&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
===Ghostscript 10.05 installieren===&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
wget https://github.com/ArtifexSoftware/ghostpdl-downloads/releases/download/gs10050/ghostscript-10.05.0.tar.gz&lt;br /&gt;
tar -xvf ghostscript-10.05.0.tar.gz&lt;br /&gt;
cd ghostscript-10.05.0&lt;br /&gt;
./configure --without-x&lt;br /&gt;
make -j$(nproc)&lt;br /&gt;
sudo make install&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
== Paperless-ngx installieren ==&lt;br /&gt;
Paperless Benutzer erstellen und Repository klonen:&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
sudo adduser paperless --system --home /opt/paperless --group&lt;br /&gt;
cd /opt/paperless&lt;br /&gt;
sudo -Hu paperless git clone https://github.com/paperless-ngx/paperless-ngx.git .&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
sudo -u paperless mkdir consume media&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
'''Debian 11:'''&lt;br /&gt;
:&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
sudo -Hu paperless pip3 install uv asyncio&lt;br /&gt;
sudo -Hu paperless uv export --no-dev --all-extras --format requirements-txt --output-file requirements.txt&lt;br /&gt;
sudo -Hu paperless pip3 install -r requirements.txt&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
'''Debian 12:'''&lt;br /&gt;
:&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
sudo -u paperless python3 -m venv /opt/paperless/venv&lt;br /&gt;
sudo -Hu paperless /opt/paperless/venv/bin/pip3 install uv asyncio&lt;br /&gt;
sudo -Hu paperless /opt/paperless/venv/bin/uv export --no-dev --all-extras --format requirements-txt --output-file requirements.txt&lt;br /&gt;
sudo -Hu paperless /opt/paperless/venv/bin/pip3 install -r requirements.txt&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
sudo -Hu paperless cp paperless.conf.example paperless.conf&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
sudo -u paperless vi paperless.conf&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
PAPERLESS_SECRET_KEY=change-me&lt;br /&gt;
&lt;br /&gt;
PAPERLESS_CONSUMPTION_DIR=/mnt/paperless-store/consume&lt;br /&gt;
PAPERLESS_DATA_DIR=/mnt/paperless-store/data&lt;br /&gt;
PAPERLESS_MEDIA_ROOT=/mnt/paperless-store/media&lt;br /&gt;
&lt;br /&gt;
PAPERLESS_TIME_ZONE=Europe/Berlin&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;Wenn du postgresql statt sqlite verwendet möchtest:&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
PAPERLESS_DBHOST=127.0.0.1 # Use postgresql&lt;br /&gt;
PAPERLESS_DBNAME=db_paperless&lt;br /&gt;
#PAPERLESS_DBUSER=paperless&lt;br /&gt;
PAPERLESS_DBPASS=&amp;lt;password&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
sudo apt install postgresql&lt;br /&gt;
sudo -u postgres psql&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&amp;lt;syntaxhighlight lang=&amp;quot;sql&amp;quot;&amp;gt;&lt;br /&gt;
CREATE DATABASE db_paperless;&lt;br /&gt;
CREATE USER paperless WITH ENCRYPTED PASSWORD '&amp;lt;password&amp;gt;';&lt;br /&gt;
GRANT ALL ON DATABASE db_paperless TO paperless;&lt;br /&gt;
\c db_paperless&lt;br /&gt;
GRANT ALL ON SCHEMA public TO paperless;&lt;br /&gt;
\q&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Frontend ===&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
cd src-ui&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
sudo curl -sL https://deb.nodesource.com/setup_18.x | sudo -E bash -&lt;br /&gt;
sudo apt install nodejs&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
sudo npm install -g @angular/cli&lt;br /&gt;
sudo npm install -g pnpm&lt;br /&gt;
sudo -Hu paperless pnpm install&lt;br /&gt;
&lt;br /&gt;
sudo -Hu paperless ng build --configuration production&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Backend ===&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
cd ../src&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
'''Debian 11:'''&lt;br /&gt;
:&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
sudo -Hu paperless python3 manage.py migrate&lt;br /&gt;
sudo -Hu paperless python3 manage.py createsuperuser&lt;br /&gt;
sudo -Hu paperless python3 manage.py collectstatic&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
'''Debian 12:'''&lt;br /&gt;
:&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
sudo -Hu paperless /opt/paperless/venv/bin/python3 manage.py migrate&lt;br /&gt;
sudo -Hu paperless /opt/paperless/venv/bin/python3 manage.py createsuperuser&lt;br /&gt;
sudo -Hu paperless /opt/paperless/venv/bin/python3 manage.py collectstatic&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== ImageMagick konfigurieren ===&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
sudo vi /etc/ImageMagick-6/policy.xml&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;policy domain=&amp;quot;coder&amp;quot; rights=&amp;quot;read|write&amp;quot; pattern=&amp;quot;PDF&amp;quot; /&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
=== Systemd Services anlegen ===&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
cd ../scripts&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== paperless-consumer ====&lt;br /&gt;
'''Debian 12:'''&lt;br /&gt;
:&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
sudo vi paperless-consumer.service&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;ExecStart ersetzen:&lt;br /&gt;
:&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
ExecStart=/opt/paperless/venv/bin/python3 manage.py document_consumer&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
sudo ln -s /opt/paperless/scripts/paperless-consumer.service /etc/systemd/system/paperless-consumer.service&lt;br /&gt;
sudo systemctl daemon-reload&lt;br /&gt;
sudo systemctl enable --now paperless-consumer.service&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
systemctl status paperless-consumer.service&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;Sollte in etwa so aussehen:&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
● paperless-consumer.service - Paperless consumer&lt;br /&gt;
     Loaded: loaded (/etc/systemd/system/paperless-consumer.service; enabled; preset: enabled)&lt;br /&gt;
     Active: active (running) since Sat 2025-03-22 22:25:06 CET; 6s ago&lt;br /&gt;
   Main PID: 6715 (python3)&lt;br /&gt;
      Tasks: 11 (limit: 9472)&lt;br /&gt;
     Memory: 97.2M&lt;br /&gt;
        CPU: 1.518s&lt;br /&gt;
     CGroup: /system.slice/paperless-consumer.service&lt;br /&gt;
             └─6715 /opt/paperless/venv/bin/python3 manage.py document_consumer&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== paperless-scheduler ====&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
sudo vi paperless-scheduler.service&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;'''Debian 11:'''&lt;br /&gt;
:ExecStart ersetzen:&lt;br /&gt;
:&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
ExecStart=/opt/paperless/.local/bin/celery --app paperless beat --loglevel INFO&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
'''Debian 12:'''&lt;br /&gt;
:ExecStart ersetzen:&lt;br /&gt;
:&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
ExecStart=/opt/paperless/venv/bin/celery --app paperless beat --loglevel INFO&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
sudo ln -s /opt/paperless/scripts/paperless-scheduler.service /etc/systemd/system/paperless-scheduler.service&lt;br /&gt;
sudo systemctl daemon-reload&lt;br /&gt;
sudo systemctl enable --now paperless-scheduler.service&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
systemctl status paperless-scheduler.service&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;Sollte in etwa so aussehen:&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
● paperless-scheduler.service - Paperless Celery Beat&lt;br /&gt;
     Loaded: loaded (/etc/systemd/system/paperless-scheduler.service; enabled; preset: enabled)&lt;br /&gt;
     Active: active (running) since Sat 2025-03-22 22:29:33 CET; 4s ago&lt;br /&gt;
   Main PID: 6981 ([celery beat] -)&lt;br /&gt;
      Tasks: 22 (limit: 9472)&lt;br /&gt;
     Memory: 115.1M&lt;br /&gt;
        CPU: 1.831s&lt;br /&gt;
     CGroup: /system.slice/paperless-scheduler.service&lt;br /&gt;
             └─6981 &amp;quot;[celery beat] --app paperless beat --loglevel INFO&amp;quot;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== paperless-task-queue ====&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
sudo vi paperless-task-queue.service&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;'''Debian 11:'''&lt;br /&gt;
:ExecStart ersetzen:&lt;br /&gt;
:&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
ExecStart=/opt/paperless/.local/bin/celery --app paperless worker --loglevel INFO&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
'''Debian 12:'''&lt;br /&gt;
:ExecStart ersetzen:&lt;br /&gt;
:&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
ExecStart=/opt/paperless/venv/bin/celery --app paperless worker --loglevel INFO&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
sudo ln -s /opt/paperless/scripts/paperless-task-queue.service /etc/systemd/system/paperless-task-queue.service&lt;br /&gt;
sudo systemctl daemon-reload&lt;br /&gt;
sudo systemctl enable --now paperless-task-queue.service&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
systemctl status paperless-task-queue.service&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;Sollte in etwa so aussehen:&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
● paperless-task-queue.service - Paperless Celery Workers&lt;br /&gt;
     Loaded: loaded (/etc/systemd/system/paperless-task-queue.service; enabled; preset: enabled)&lt;br /&gt;
     Active: active (running) since Sat 2025-03-22 22:31:23 CET; 4s ago&lt;br /&gt;
   Main PID: 7122 ([celeryd: celer)&lt;br /&gt;
      Tasks: 24 (limit: 9472)&lt;br /&gt;
     Memory: 197.6M&lt;br /&gt;
        CPU: 2.177s&lt;br /&gt;
     CGroup: /system.slice/paperless-task-queue.service&lt;br /&gt;
             ├─7122 &amp;quot;[celeryd: celery@paperless-ngx-1:MainProcess] -active- (--app paperless worker --loglevel INFO)&amp;quot;&lt;br /&gt;
             ├─7153 &amp;quot;[celeryd: celery@paperless-ngx-1:ForkPoolWorker-1]&amp;quot;&lt;br /&gt;
             └─7154 &amp;quot;[celeryd: celery@paperless-ngx-1:ForkPoolWorker-2]&amp;quot;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
==== paperless-webserver ====&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
sudo vi paperless-webserver.service&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;'''Debian 11:'''&lt;br /&gt;
:exec ersetzen:&lt;br /&gt;
:&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
exec /opt/paperless/.local/bin/granian --interface asginl --ws &amp;quot;paperless.asgi:application&amp;quot;'&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
'''Debian 12:'''&lt;br /&gt;
:exec ersetzen:&lt;br /&gt;
:&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
exec /opt/paperless/venv/bin/granian --interface asginl --ws &amp;quot;paperless.asgi:application&amp;quot;'&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
sudo ln -s /opt/paperless/scripts/paperless-webserver.service /etc/systemd/system/paperless-webserver.service&lt;br /&gt;
sudo systemctl daemon-reload&lt;br /&gt;
sudo systemctl enable --now paperless-webserver.service&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
systemctl status paperless-webserver.service&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;Sollte in etwa so aussehen:&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
● paperless-webserver.service - Paperless webserver&lt;br /&gt;
     Loaded: loaded (/etc/systemd/system/paperless-webserver.service; enabled; preset: enabled)&lt;br /&gt;
     Active: active (running) since Sat 2025-03-22 22:34:41 CET; 3s ago&lt;br /&gt;
   Main PID: 7519 (granian asginl )&lt;br /&gt;
      Tasks: 18 (limit: 9472)&lt;br /&gt;
     Memory: 133.2M&lt;br /&gt;
        CPU: 1.746s&lt;br /&gt;
     CGroup: /system.slice/paperless-webserver.service&lt;br /&gt;
             ├─7519 &amp;quot;granian asginl :::8000 paperless.asgi:application&amp;quot;&lt;br /&gt;
             └─7521 &amp;quot;granian asginl :::8000 paperless.asgi:application worker-1&amp;quot;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Zusätzliche Pakete installieren ===&lt;br /&gt;
&lt;br /&gt;
==== stopwords &amp;amp; punkt_tab ====&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
cd ..&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Debian 11:'''&lt;br /&gt;
:&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
sudo -Hu paperless python3 -m nltk.downloader stopwords&lt;br /&gt;
sudo -Hu paperless python3 -m nltk.downloader punkt_tab&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
'''Debian 12:'''&lt;br /&gt;
:&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
sudo -Hu paperless /opt/paperless/venv/bin/python3 -m nltk.downloader stopwords&lt;br /&gt;
sudo -Hu paperless /opt/paperless/venv/bin/python3 -m nltk.downloader punkt_tab&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
sudo apt install tesseract-ocr-deu&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
sudo -Hu paperless vi /opt/paperless/paperless.conf&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
PAPERLESS_NLTK_DIR=/opt/paperless/nltk_data&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== jbig2enc ====&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
sudo apt install autotools-dev automake libtool libleptonica-dev&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
cd ~&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;'''Debian 11:'''&lt;br /&gt;
:&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
wget https://ftp.gnu.org/gnu/autoconf/autoconf-2.71.tar.xz&lt;br /&gt;
tar -xf autoconf-2.71.tar.xz&lt;br /&gt;
cd autoconf-2.71/&lt;br /&gt;
./configure&lt;br /&gt;
make -j$(nproc)&lt;br /&gt;
sudo make install &lt;br /&gt;
. ~/.profile&lt;br /&gt;
autoconf --version&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
git clone https://github.com/agl/jbig2enc&lt;br /&gt;
cd jbig2enc&lt;br /&gt;
./autogen.sh&lt;br /&gt;
./configure &amp;amp;&amp;amp; make -j$(nproc)&lt;br /&gt;
sudo make install&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;Für die Verarbeitung von Dokumenten in deutscher Sprache:&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
sudo apt install tesseract-ocr-deu&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
sudo -Hu paperless vi /opt/paperless/paperless.conf&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
PAPERLESS_OCR_LANGUAGE=deu+eng&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Tika / Gotenberg installieren (Docker) ====&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
sudo install -m 0755 -d /etc/apt/keyrings&lt;br /&gt;
sudo curl -fsSL https://download.docker.com/linux/debian/gpg -o /etc/apt/keyrings/docker.asc&lt;br /&gt;
sudo chmod a+r /etc/apt/keyrings/docker.asc&lt;br /&gt;
&lt;br /&gt;
echo \&lt;br /&gt;
  &amp;quot;deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.asc] https://download.docker.com/linux/debian \&lt;br /&gt;
  $(. /etc/os-release &amp;amp;&amp;amp; echo &amp;quot;$VERSION_CODENAME&amp;quot;) stable&amp;quot; | \&lt;br /&gt;
  sudo tee /etc/apt/sources.list.d/docker.list &amp;gt; /dev/null&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
sudo apt update&lt;br /&gt;
sudo apt install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
sudo docker pull apache/tika&lt;br /&gt;
sudo docker run -d --restart unless-stopped -p 127.0.0.1:9998:9998 apache/tika&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
sudo docker pull gotenberg/gotenberg:8&lt;br /&gt;
sudo docker run -d --restart unless-stopped -p 127.0.0.1:3000:3000 gotenberg/gotenberg:8&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
sudo -Hu paperless vi /opt/paperless/paperless.conf&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
# Tika settings&lt;br /&gt;
&lt;br /&gt;
PAPERLESS_TIKA_ENABLED=true&lt;br /&gt;
PAPERLESS_TIKA_ENDPOINT=http://localhost:9998&lt;br /&gt;
PAPERLESS_TIKA_GOTENBERG_ENDPOINT=http://localhost:3000&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Quellen ==&lt;br /&gt;
*[https://wiki.crowncloud.net/?How_to_Install_Python_3_11_on_Debian_11 wiki.crowncloud.net]&lt;br /&gt;
*[https://askubuntu.com/questions/1076846/how-to-install-newer-version-of-ghostscript-on-server-than-provided-from-ubuntu askubuntu.com]&lt;br /&gt;
*[https://docs.paperless-ngx.com/setup/#bare_metal docs.paperless-ngx.com]&lt;br /&gt;
*[https://docs.docker.com/engine/install/debian/ docs.docker.com/]&lt;br /&gt;
*[https://gotenberg.dev/docs/getting-started/installation gotenberg.dev]&lt;br /&gt;
*[https://hub.docker.com/r/apache/tika hub.docker.com]&lt;br /&gt;
&amp;lt;references /&amp;gt;&lt;/div&gt;</summary>
		<author><name>Robin Tönniges</name></author>
	</entry>
	<entry>
		<id>https://wiki.toenniges.de/index.php?title=Log2Ram_installieren&amp;diff=1850</id>
		<title>Log2Ram installieren</title>
		<link rel="alternate" type="text/html" href="https://wiki.toenniges.de/index.php?title=Log2Ram_installieren&amp;diff=1850"/>
		<updated>2025-03-26T18:30:31Z</updated>

		<summary type="html">&lt;p&gt;Robin Tönniges: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Um auf einem Raspberry Pi die SD Karte zu entlasten, bietet es sich an die Logs aus /var/log/ in den RAM zu schreiben.&lt;br /&gt;
&lt;br /&gt;
Nach der Installation von Log2Ram und einem anschließenden Neustart werden die Logs in den RAM geschrieben und jede Stunde mit den Daten auf der SD Karte synchronisiert.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Zuerst den APT Key und das Repository für Log2Ram hinzufügen und installieren:&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot; line=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
echo &amp;quot;deb [signed-by=/usr/share/keyrings/azlux-archive-keyring.gpg] http://packages.azlux.fr/debian/ bookworm main&amp;quot; | sudo tee /etc/apt/sources.list.d/azlux.list&lt;br /&gt;
sudo wget -O /usr/share/keyrings/azlux-archive-keyring.gpg  https://azlux.fr/repo.gpg&lt;br /&gt;
sudo apt update&lt;br /&gt;
sudo apt install log2ram&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;Der Programmierer der Software empfiehlt es für eine bessere Performance das Synchronisierungstool '''rsync''' zu installieren: &amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
sudo apt install rsync&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;Als nächstes die Config anpassen: &amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
sudo vi /etc/log2ram.conf&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Größe des RAM-Drives bei Bedarf erhöhen (Standard ist 40MB):&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
SIZE=128M&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;rsync aktivieren:&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
USE_RSYNC=true&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;Neustarten&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
sudo reboot&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;Ob alles wie gewünscht funktioniert kann im Anschluss kontrolliert werden:&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
df -h&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;In der Ausgabe sollte nun stehen das /var/log/ auf dem Filesystem log2ram läuft:&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
...&lt;br /&gt;
log2ram          40M  532K   40M   2% /var/log&lt;br /&gt;
...&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Quellen ==&lt;br /&gt;
https://mcuoneclipse.com/2019/04/01/log2ram-extending-sd-card-lifetime-for-raspberry-pi-lorawan-gateway/&lt;br /&gt;
&lt;br /&gt;
https://github.com/azlux/log2ram&lt;br /&gt;
[[Kategorie:Raspberry Pi]]&lt;/div&gt;</summary>
		<author><name>Robin Tönniges</name></author>
	</entry>
	<entry>
		<id>https://wiki.toenniges.de/index.php?title=Paperless-ngx_%22Bare_Metal%22_installieren_(Debian_11/12)&amp;diff=1849</id>
		<title>Paperless-ngx &quot;Bare Metal&quot; installieren (Debian 11/12)</title>
		<link rel="alternate" type="text/html" href="https://wiki.toenniges.de/index.php?title=Paperless-ngx_%22Bare_Metal%22_installieren_(Debian_11/12)&amp;diff=1849"/>
		<updated>2025-03-24T00:27:32Z</updated>

		<summary type="html">&lt;p&gt;Robin Tönniges: /* Frontend */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Infobox&lt;br /&gt;
| Titel      = Testumgebung&lt;br /&gt;
| Bildname   = &lt;br /&gt;
| Bildbreite = &lt;br /&gt;
| Bildtext   = &lt;br /&gt;
| Stil            = 2&lt;br /&gt;
| Titelfarbe      = 6&lt;br /&gt;
| Abschnittsfarbe = &lt;br /&gt;
| Farbe           = &lt;br /&gt;
| Style           = &lt;br /&gt;
| Feldstyle       = &lt;br /&gt;
| Feldname1 = OS    | Daten1 = Debian 11.11/12.10&lt;br /&gt;
| Feldname3 = paperless-ngx (Dev)    | Daten3 = 2.15.0&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
Anleitung für die &amp;quot;Bare Metal&amp;quot; Installation von [https://docs.paperless-ngx.com/ paperless-ngx] mit dem Sourcecode vom [https://github.com/paperless-ngx/paperless-ngx Dev] oder [https://github.com/paperless-ngx/paperless-ngx/tree/beta Beta] Branch auf Debian 11 und 12.&lt;br /&gt;
==Abhängigkeiten installieren==&lt;br /&gt;
Das System auf den neusten Stand bringen:&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
sudo apt update&lt;br /&gt;
sudo apt upgrade&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
sudo apt install build-essential zlib1g-dev libncurses5-dev libgdbm-dev libnss3-dev libssl-dev libreadline-dev libffi-dev \&lt;br /&gt;
libpq-dev libsqlite3-dev libbz2-dev pkg-config libgdbm-compat-dev liblzma-dev tk-dev uuid-dev wget imagemagick unpaper \&lt;br /&gt;
fonts-liberation gnupg libpq-dev default-libmysqlclient-dev pkg-config libmagic-dev libzbar0 poppler-utils \&lt;br /&gt;
icc-profiles-free qpdf liblept5 libxml2 pngquant zlib1g tesseract-ocr redis git curl&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
===Python 3.11 installieren===&lt;br /&gt;
'''Debian 11:'''&lt;br /&gt;
:&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
wget https://www.python.org/ftp/python/3.11.11/Python-3.11.11.tgz&lt;br /&gt;
tar -xvf Python-3.11.11.tgz&lt;br /&gt;
cd Python-3.11.11&lt;br /&gt;
./configure --enable-optimizations&lt;br /&gt;
make -j$(nproc)&lt;br /&gt;
sudo make install&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
'''Debian 12:'''&lt;br /&gt;
:&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
sudo apt install python3.11 python3.11-venv python3-pip python3-setuptools python3-wheel&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
===Ghostscript 10.05 installieren===&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
wget https://github.com/ArtifexSoftware/ghostpdl-downloads/releases/download/gs10050/ghostscript-10.05.0.tar.gz&lt;br /&gt;
tar -xvf ghostscript-10.05.0.tar.gz&lt;br /&gt;
cd ghostscript-10.05.0&lt;br /&gt;
./configure --without-x&lt;br /&gt;
make -j$(nproc)&lt;br /&gt;
sudo make install&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
== Paperless-ngx installieren ==&lt;br /&gt;
Paperless Benutzer erstellen und Repository klonen:&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
sudo adduser paperless --system --home /opt/paperless --group&lt;br /&gt;
cd /opt/paperless&lt;br /&gt;
sudo -Hu paperless git clone https://github.com/paperless-ngx/paperless-ngx.git .&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
sudo -u paperless mkdir consume media&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
'''Debian 11:'''&lt;br /&gt;
:&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
sudo -Hu paperless pip3 install uv&lt;br /&gt;
sudo -Hu paperless uv export --no-dev --all-extras --format requirements-txt --output-file requirements.txt&lt;br /&gt;
sudo -Hu paperless pip3 install -r requirements.txt&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
'''Debian 12:'''&lt;br /&gt;
:&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
sudo -u paperless python3 -m venv /opt/paperless/venv&lt;br /&gt;
sudo -Hu paperless /opt/paperless/venv/bin/pip3 install uv&lt;br /&gt;
sudo -Hu paperless /opt/paperless/venv/bin/uv export --no-dev --all-extras --format requirements-txt --output-file requirements.txt&lt;br /&gt;
sudo -Hu paperless /opt/paperless/venv/bin/pip3 install -r requirements.txt&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
sudo -Hu paperless cp paperless.conf.example paperless.conf&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
sudo -u paperless vi paperless.conf&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
PAPERLESS_SECRET_KEY=change-me&lt;br /&gt;
&lt;br /&gt;
PAPERLESS_CONSUMPTION_DIR=/mnt/paperless-store/consume&lt;br /&gt;
PAPERLESS_DATA_DIR=/mnt/paperless-store/data&lt;br /&gt;
PAPERLESS_MEDIA_ROOT=/mnt/paperless-store/media&lt;br /&gt;
&lt;br /&gt;
PAPERLESS_TIME_ZONE=Europe/Berlin&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;Wenn du postgresql statt sqlite verwendet möchtest:&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
PAPERLESS_DBHOST=127.0.0.1 # Use postgresql&lt;br /&gt;
PAPERLESS_DBNAME=db_paperless&lt;br /&gt;
#PAPERLESS_DBUSER=paperless&lt;br /&gt;
PAPERLESS_DBPASS=&amp;lt;password&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
sudo apt install postgresql&lt;br /&gt;
sudo -u postgres psql&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&amp;lt;syntaxhighlight lang=&amp;quot;sql&amp;quot;&amp;gt;&lt;br /&gt;
CREATE DATABASE db_paperless;&lt;br /&gt;
CREATE USER paperless WITH ENCRYPTED PASSWORD '&amp;lt;password&amp;gt;';&lt;br /&gt;
GRANT ALL ON DATABASE db_paperless TO paperless;&lt;br /&gt;
\c db_paperless&lt;br /&gt;
GRANT ALL ON SCHEMA public TO paperless;&lt;br /&gt;
\q&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Frontend ===&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
cd src-ui&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
sudo curl -sL https://deb.nodesource.com/setup_18.x | sudo -E bash -&lt;br /&gt;
sudo apt install nodejs&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
sudo npm install -g @angular/cli&lt;br /&gt;
sudo npm install -g pnpm&lt;br /&gt;
sudo -Hu paperless pnpm install&lt;br /&gt;
&lt;br /&gt;
sudo -Hu paperless ng build --configuration production&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Backend ===&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
cd ../src&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
'''Debian 11:'''&lt;br /&gt;
:&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
sudo -Hu paperless python3 manage.py migrate&lt;br /&gt;
sudo -Hu paperless python3 manage.py createsuperuser&lt;br /&gt;
sudo -Hu paperless python3 manage.py collectstatic&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
'''Debian 12:'''&lt;br /&gt;
:&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
sudo -Hu paperless /opt/paperless/venv/bin/python3 manage.py migrate&lt;br /&gt;
sudo -Hu paperless /opt/paperless/venv/bin/python3 manage.py createsuperuser&lt;br /&gt;
sudo -Hu paperless /opt/paperless/venv/bin/python3 manage.py collectstatic&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== ImageMagick konfigurieren ===&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
sudo vi /etc/ImageMagick-6/policy.xml&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;policy domain=&amp;quot;coder&amp;quot; rights=&amp;quot;read|write&amp;quot; pattern=&amp;quot;PDF&amp;quot; /&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
=== Systemd Services anlegen ===&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
cd ../scripts&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== paperless-consumer ====&lt;br /&gt;
'''Debian 12:'''&lt;br /&gt;
:&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
sudo vi paperless-consumer.service&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;ExecStart ersetzen:&lt;br /&gt;
:&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
ExecStart=/opt/paperless/venv/bin/python3 manage.py document_consumer&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
sudo ln -s /opt/paperless/scripts/paperless-consumer.service /etc/systemd/system/paperless-consumer.service&lt;br /&gt;
sudo systemctl daemon-reload&lt;br /&gt;
sudo systemctl enable --now paperless-consumer.service&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
systemctl status paperless-consumer.service&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;Sollte in etwa so aussehen:&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
● paperless-consumer.service - Paperless consumer&lt;br /&gt;
     Loaded: loaded (/etc/systemd/system/paperless-consumer.service; enabled; preset: enabled)&lt;br /&gt;
     Active: active (running) since Sat 2025-03-22 22:25:06 CET; 6s ago&lt;br /&gt;
   Main PID: 6715 (python3)&lt;br /&gt;
      Tasks: 11 (limit: 9472)&lt;br /&gt;
     Memory: 97.2M&lt;br /&gt;
        CPU: 1.518s&lt;br /&gt;
     CGroup: /system.slice/paperless-consumer.service&lt;br /&gt;
             └─6715 /opt/paperless/venv/bin/python3 manage.py document_consumer&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== paperless-scheduler ====&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
sudo vi paperless-scheduler.service&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;'''Debian 11:'''&lt;br /&gt;
:ExecStart ersetzen:&lt;br /&gt;
:&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
ExecStart=/opt/paperless/.local/bin/celery --app paperless beat --loglevel INFO&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
'''Debian 12:'''&lt;br /&gt;
:ExecStart ersetzen:&lt;br /&gt;
:&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
ExecStart=/opt/paperless/venv/bin/celery --app paperless beat --loglevel INFO&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
sudo ln -s /opt/paperless/scripts/paperless-scheduler.service /etc/systemd/system/paperless-scheduler.service&lt;br /&gt;
sudo systemctl daemon-reload&lt;br /&gt;
sudo systemctl enable --now paperless-scheduler.service&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
systemctl status paperless-scheduler.service&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;Sollte in etwa so aussehen:&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
● paperless-scheduler.service - Paperless Celery Beat&lt;br /&gt;
     Loaded: loaded (/etc/systemd/system/paperless-scheduler.service; enabled; preset: enabled)&lt;br /&gt;
     Active: active (running) since Sat 2025-03-22 22:29:33 CET; 4s ago&lt;br /&gt;
   Main PID: 6981 ([celery beat] -)&lt;br /&gt;
      Tasks: 22 (limit: 9472)&lt;br /&gt;
     Memory: 115.1M&lt;br /&gt;
        CPU: 1.831s&lt;br /&gt;
     CGroup: /system.slice/paperless-scheduler.service&lt;br /&gt;
             └─6981 &amp;quot;[celery beat] --app paperless beat --loglevel INFO&amp;quot;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== paperless-task-queue ====&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
sudo vi paperless-task-queue.service&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;'''Debian 11:'''&lt;br /&gt;
:ExecStart ersetzen:&lt;br /&gt;
:&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
ExecStart=/opt/paperless/.local/bin/celery --app paperless worker --loglevel INFO&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
'''Debian 12:'''&lt;br /&gt;
:ExecStart ersetzen:&lt;br /&gt;
:&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
ExecStart=/opt/paperless/venv/bin/celery --app paperless worker --loglevel INFO&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
sudo ln -s /opt/paperless/scripts/paperless-task-queue.service /etc/systemd/system/paperless-task-queue.service&lt;br /&gt;
sudo systemctl daemon-reload&lt;br /&gt;
sudo systemctl enable --now paperless-task-queue.service&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
systemctl status paperless-task-queue.service&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;Sollte in etwa so aussehen:&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
● paperless-task-queue.service - Paperless Celery Workers&lt;br /&gt;
     Loaded: loaded (/etc/systemd/system/paperless-task-queue.service; enabled; preset: enabled)&lt;br /&gt;
     Active: active (running) since Sat 2025-03-22 22:31:23 CET; 4s ago&lt;br /&gt;
   Main PID: 7122 ([celeryd: celer)&lt;br /&gt;
      Tasks: 24 (limit: 9472)&lt;br /&gt;
     Memory: 197.6M&lt;br /&gt;
        CPU: 2.177s&lt;br /&gt;
     CGroup: /system.slice/paperless-task-queue.service&lt;br /&gt;
             ├─7122 &amp;quot;[celeryd: celery@paperless-ngx-1:MainProcess] -active- (--app paperless worker --loglevel INFO)&amp;quot;&lt;br /&gt;
             ├─7153 &amp;quot;[celeryd: celery@paperless-ngx-1:ForkPoolWorker-1]&amp;quot;&lt;br /&gt;
             └─7154 &amp;quot;[celeryd: celery@paperless-ngx-1:ForkPoolWorker-2]&amp;quot;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
==== paperless-webserver ====&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
sudo vi paperless-webserver.service&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;'''Debian 11:'''&lt;br /&gt;
:exec ersetzen:&lt;br /&gt;
:&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
exec /opt/paperless/.local/bin/granian --interface asginl --ws &amp;quot;paperless.asgi:application&amp;quot;'&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
'''Debian 12:'''&lt;br /&gt;
:exec ersetzen:&lt;br /&gt;
:&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
exec /opt/paperless/venv/bin/granian --interface asginl --ws &amp;quot;paperless.asgi:application&amp;quot;'&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
sudo ln -s /opt/paperless/scripts/paperless-webserver.service /etc/systemd/system/paperless-webserver.service&lt;br /&gt;
sudo systemctl daemon-reload&lt;br /&gt;
sudo systemctl enable --now paperless-webserver.service&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
systemctl status paperless-webserver.service&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;Sollte in etwa so aussehen:&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
● paperless-webserver.service - Paperless webserver&lt;br /&gt;
     Loaded: loaded (/etc/systemd/system/paperless-webserver.service; enabled; preset: enabled)&lt;br /&gt;
     Active: active (running) since Sat 2025-03-22 22:34:41 CET; 3s ago&lt;br /&gt;
   Main PID: 7519 (granian asginl )&lt;br /&gt;
      Tasks: 18 (limit: 9472)&lt;br /&gt;
     Memory: 133.2M&lt;br /&gt;
        CPU: 1.746s&lt;br /&gt;
     CGroup: /system.slice/paperless-webserver.service&lt;br /&gt;
             ├─7519 &amp;quot;granian asginl :::8000 paperless.asgi:application&amp;quot;&lt;br /&gt;
             └─7521 &amp;quot;granian asginl :::8000 paperless.asgi:application worker-1&amp;quot;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Zusätzliche Pakete installieren ===&lt;br /&gt;
&lt;br /&gt;
==== stopwords &amp;amp; punkt_tab ====&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
cd ..&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Debian 11:'''&lt;br /&gt;
:&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
sudo -Hu paperless python3 -m nltk.downloader stopwords&lt;br /&gt;
sudo -Hu paperless python3 -m nltk.downloader punkt_tab&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
'''Debian 12:'''&lt;br /&gt;
:&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
sudo -Hu paperless /opt/paperless/venv/bin/python3 -m nltk.downloader stopwords&lt;br /&gt;
sudo -Hu paperless /opt/paperless/venv/bin/python3 -m nltk.downloader punkt_tab&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
sudo apt install tesseract-ocr-deu&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
sudo -Hu paperless vi /opt/paperless/paperless.conf&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
PAPERLESS_NLTK_DIR=/opt/paperless/nltk_data&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== jbig2enc ====&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
sudo apt install autotools-dev automake libtool libleptonica-dev&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
cd ~&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;'''Debian 11:'''&lt;br /&gt;
:&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
wget https://ftp.gnu.org/gnu/autoconf/autoconf-2.71.tar.xz&lt;br /&gt;
tar -xf autoconf-2.71.tar.xz&lt;br /&gt;
cd autoconf-2.71/&lt;br /&gt;
./configure&lt;br /&gt;
make -j$(nproc)&lt;br /&gt;
sudo make install &lt;br /&gt;
. ~/.profile&lt;br /&gt;
autoconf --version&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
git clone https://github.com/agl/jbig2enc&lt;br /&gt;
cd jbig2enc&lt;br /&gt;
./autogen.sh&lt;br /&gt;
./configure &amp;amp;&amp;amp; make -j$(nproc)&lt;br /&gt;
sudo make install&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;Für die Verarbeitung von Dokumenten in deutscher Sprache:&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
sudo apt install tesseract-ocr-deu&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
sudo -Hu paperless vi /opt/paperless/paperless.conf&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
PAPERLESS_OCR_LANGUAGE=deu+eng&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Tika / Gotenberg installieren (Docker) ====&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
sudo install -m 0755 -d /etc/apt/keyrings&lt;br /&gt;
sudo curl -fsSL https://download.docker.com/linux/debian/gpg -o /etc/apt/keyrings/docker.asc&lt;br /&gt;
sudo chmod a+r /etc/apt/keyrings/docker.asc&lt;br /&gt;
&lt;br /&gt;
echo \&lt;br /&gt;
  &amp;quot;deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.asc] https://download.docker.com/linux/debian \&lt;br /&gt;
  $(. /etc/os-release &amp;amp;&amp;amp; echo &amp;quot;$VERSION_CODENAME&amp;quot;) stable&amp;quot; | \&lt;br /&gt;
  sudo tee /etc/apt/sources.list.d/docker.list &amp;gt; /dev/null&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
sudo apt update&lt;br /&gt;
sudo apt install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
sudo docker pull apache/tika&lt;br /&gt;
sudo docker run -d --restart unless-stopped -p 127.0.0.1:9998:9998 apache/tika&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
sudo docker pull gotenberg/gotenberg:8&lt;br /&gt;
sudo docker run -d --restart unless-stopped -p 127.0.0.1:3000:3000 gotenberg/gotenberg:8&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
sudo -Hu paperless vi /opt/paperless/paperless.conf&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
# Tika settings&lt;br /&gt;
&lt;br /&gt;
PAPERLESS_TIKA_ENABLED=true&lt;br /&gt;
PAPERLESS_TIKA_ENDPOINT=http://localhost:9998&lt;br /&gt;
PAPERLESS_TIKA_GOTENBERG_ENDPOINT=http://localhost:3000&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Quellen ==&lt;br /&gt;
*[https://wiki.crowncloud.net/?How_to_Install_Python_3_11_on_Debian_11 wiki.crowncloud.net]&lt;br /&gt;
*[https://askubuntu.com/questions/1076846/how-to-install-newer-version-of-ghostscript-on-server-than-provided-from-ubuntu askubuntu.com]&lt;br /&gt;
*[https://docs.paperless-ngx.com/setup/#bare_metal docs.paperless-ngx.com]&lt;br /&gt;
*[https://docs.docker.com/engine/install/debian/ docs.docker.com/]&lt;br /&gt;
*[https://gotenberg.dev/docs/getting-started/installation gotenberg.dev]&lt;br /&gt;
*[https://hub.docker.com/r/apache/tika hub.docker.com]&lt;br /&gt;
&amp;lt;references /&amp;gt;&lt;/div&gt;</summary>
		<author><name>Robin Tönniges</name></author>
	</entry>
	<entry>
		<id>https://wiki.toenniges.de/index.php?title=Paperless-ngx_%22Bare_Metal%22_installieren_(Debian_11/12)&amp;diff=1848</id>
		<title>Paperless-ngx &quot;Bare Metal&quot; installieren (Debian 11/12)</title>
		<link rel="alternate" type="text/html" href="https://wiki.toenniges.de/index.php?title=Paperless-ngx_%22Bare_Metal%22_installieren_(Debian_11/12)&amp;diff=1848"/>
		<updated>2025-03-24T00:20:38Z</updated>

		<summary type="html">&lt;p&gt;Robin Tönniges: /* Paperless-ngx installieren */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Infobox&lt;br /&gt;
| Titel      = Testumgebung&lt;br /&gt;
| Bildname   = &lt;br /&gt;
| Bildbreite = &lt;br /&gt;
| Bildtext   = &lt;br /&gt;
| Stil            = 2&lt;br /&gt;
| Titelfarbe      = 6&lt;br /&gt;
| Abschnittsfarbe = &lt;br /&gt;
| Farbe           = &lt;br /&gt;
| Style           = &lt;br /&gt;
| Feldstyle       = &lt;br /&gt;
| Feldname1 = OS    | Daten1 = Debian 11.11/12.10&lt;br /&gt;
| Feldname3 = paperless-ngx (Dev)    | Daten3 = 2.15.0&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
Anleitung für die &amp;quot;Bare Metal&amp;quot; Installation von [https://docs.paperless-ngx.com/ paperless-ngx] mit dem Sourcecode vom [https://github.com/paperless-ngx/paperless-ngx Dev] oder [https://github.com/paperless-ngx/paperless-ngx/tree/beta Beta] Branch auf Debian 11 und 12.&lt;br /&gt;
==Abhängigkeiten installieren==&lt;br /&gt;
Das System auf den neusten Stand bringen:&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
sudo apt update&lt;br /&gt;
sudo apt upgrade&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
sudo apt install build-essential zlib1g-dev libncurses5-dev libgdbm-dev libnss3-dev libssl-dev libreadline-dev libffi-dev \&lt;br /&gt;
libpq-dev libsqlite3-dev libbz2-dev pkg-config libgdbm-compat-dev liblzma-dev tk-dev uuid-dev wget imagemagick unpaper \&lt;br /&gt;
fonts-liberation gnupg libpq-dev default-libmysqlclient-dev pkg-config libmagic-dev libzbar0 poppler-utils \&lt;br /&gt;
icc-profiles-free qpdf liblept5 libxml2 pngquant zlib1g tesseract-ocr redis git curl&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
===Python 3.11 installieren===&lt;br /&gt;
'''Debian 11:'''&lt;br /&gt;
:&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
wget https://www.python.org/ftp/python/3.11.11/Python-3.11.11.tgz&lt;br /&gt;
tar -xvf Python-3.11.11.tgz&lt;br /&gt;
cd Python-3.11.11&lt;br /&gt;
./configure --enable-optimizations&lt;br /&gt;
make -j$(nproc)&lt;br /&gt;
sudo make install&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
'''Debian 12:'''&lt;br /&gt;
:&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
sudo apt install python3.11 python3.11-venv python3-pip python3-setuptools python3-wheel&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
===Ghostscript 10.05 installieren===&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
wget https://github.com/ArtifexSoftware/ghostpdl-downloads/releases/download/gs10050/ghostscript-10.05.0.tar.gz&lt;br /&gt;
tar -xvf ghostscript-10.05.0.tar.gz&lt;br /&gt;
cd ghostscript-10.05.0&lt;br /&gt;
./configure --without-x&lt;br /&gt;
make -j$(nproc)&lt;br /&gt;
sudo make install&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
== Paperless-ngx installieren ==&lt;br /&gt;
Paperless Benutzer erstellen und Repository klonen:&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
sudo adduser paperless --system --home /opt/paperless --group&lt;br /&gt;
cd /opt/paperless&lt;br /&gt;
sudo -Hu paperless git clone https://github.com/paperless-ngx/paperless-ngx.git .&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
sudo -u paperless mkdir consume media&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
'''Debian 11:'''&lt;br /&gt;
:&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
sudo -Hu paperless pip3 install uv&lt;br /&gt;
sudo -Hu paperless uv export --no-dev --all-extras --format requirements-txt --output-file requirements.txt&lt;br /&gt;
sudo -Hu paperless pip3 install -r requirements.txt&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
'''Debian 12:'''&lt;br /&gt;
:&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
sudo -u paperless python3 -m venv /opt/paperless/venv&lt;br /&gt;
sudo -Hu paperless /opt/paperless/venv/bin/pip3 install uv&lt;br /&gt;
sudo -Hu paperless /opt/paperless/venv/bin/uv export --no-dev --all-extras --format requirements-txt --output-file requirements.txt&lt;br /&gt;
sudo -Hu paperless /opt/paperless/venv/bin/pip3 install -r requirements.txt&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
sudo -Hu paperless cp paperless.conf.example paperless.conf&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
sudo -u paperless vi paperless.conf&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
PAPERLESS_SECRET_KEY=change-me&lt;br /&gt;
&lt;br /&gt;
PAPERLESS_CONSUMPTION_DIR=/mnt/paperless-store/consume&lt;br /&gt;
PAPERLESS_DATA_DIR=/mnt/paperless-store/data&lt;br /&gt;
PAPERLESS_MEDIA_ROOT=/mnt/paperless-store/media&lt;br /&gt;
&lt;br /&gt;
PAPERLESS_TIME_ZONE=Europe/Berlin&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;Wenn du postgresql statt sqlite verwendet möchtest:&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
PAPERLESS_DBHOST=127.0.0.1 # Use postgresql&lt;br /&gt;
PAPERLESS_DBNAME=db_paperless&lt;br /&gt;
#PAPERLESS_DBUSER=paperless&lt;br /&gt;
PAPERLESS_DBPASS=&amp;lt;password&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
sudo apt install postgresql&lt;br /&gt;
sudo -u postgres psql&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&amp;lt;syntaxhighlight lang=&amp;quot;sql&amp;quot;&amp;gt;&lt;br /&gt;
CREATE DATABASE db_paperless;&lt;br /&gt;
CREATE USER paperless WITH ENCRYPTED PASSWORD '&amp;lt;password&amp;gt;';&lt;br /&gt;
GRANT ALL ON DATABASE db_paperless TO paperless;&lt;br /&gt;
\c db_paperless&lt;br /&gt;
GRANT ALL ON SCHEMA public TO paperless;&lt;br /&gt;
\q&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Frontend ===&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
cd src-ui&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
'''Debian 11:'''&lt;br /&gt;
:&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
sudo curl -sL https://deb.nodesource.com/setup_18.x | sudo -E bash -&lt;br /&gt;
sudo apt install nodejs&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
'''Debian 12:'''&lt;br /&gt;
:&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
sudo apt install nodejs npm&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
sudo npm install -g @angular/cli&lt;br /&gt;
sudo npm install -g pnpm&lt;br /&gt;
sudo -Hu paperless pnpm install&lt;br /&gt;
&lt;br /&gt;
sudo -Hu paperless ng build --configuration production&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Backend ===&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
cd ../src&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
'''Debian 11:'''&lt;br /&gt;
:&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
sudo -Hu paperless python3 manage.py migrate&lt;br /&gt;
sudo -Hu paperless python3 manage.py createsuperuser&lt;br /&gt;
sudo -Hu paperless python3 manage.py collectstatic&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
'''Debian 12:'''&lt;br /&gt;
:&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
sudo -Hu paperless /opt/paperless/venv/bin/python3 manage.py migrate&lt;br /&gt;
sudo -Hu paperless /opt/paperless/venv/bin/python3 manage.py createsuperuser&lt;br /&gt;
sudo -Hu paperless /opt/paperless/venv/bin/python3 manage.py collectstatic&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== ImageMagick konfigurieren ===&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
sudo vi /etc/ImageMagick-6/policy.xml&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;policy domain=&amp;quot;coder&amp;quot; rights=&amp;quot;read|write&amp;quot; pattern=&amp;quot;PDF&amp;quot; /&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
=== Systemd Services anlegen ===&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
cd ../scripts&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== paperless-consumer ====&lt;br /&gt;
'''Debian 12:'''&lt;br /&gt;
:&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
sudo vi paperless-consumer.service&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;ExecStart ersetzen:&lt;br /&gt;
:&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
ExecStart=/opt/paperless/venv/bin/python3 manage.py document_consumer&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
sudo ln -s /opt/paperless/scripts/paperless-consumer.service /etc/systemd/system/paperless-consumer.service&lt;br /&gt;
sudo systemctl daemon-reload&lt;br /&gt;
sudo systemctl enable --now paperless-consumer.service&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
systemctl status paperless-consumer.service&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;Sollte in etwa so aussehen:&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
● paperless-consumer.service - Paperless consumer&lt;br /&gt;
     Loaded: loaded (/etc/systemd/system/paperless-consumer.service; enabled; preset: enabled)&lt;br /&gt;
     Active: active (running) since Sat 2025-03-22 22:25:06 CET; 6s ago&lt;br /&gt;
   Main PID: 6715 (python3)&lt;br /&gt;
      Tasks: 11 (limit: 9472)&lt;br /&gt;
     Memory: 97.2M&lt;br /&gt;
        CPU: 1.518s&lt;br /&gt;
     CGroup: /system.slice/paperless-consumer.service&lt;br /&gt;
             └─6715 /opt/paperless/venv/bin/python3 manage.py document_consumer&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== paperless-scheduler ====&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
sudo vi paperless-scheduler.service&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;'''Debian 11:'''&lt;br /&gt;
:ExecStart ersetzen:&lt;br /&gt;
:&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
ExecStart=/opt/paperless/.local/bin/celery --app paperless beat --loglevel INFO&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
'''Debian 12:'''&lt;br /&gt;
:ExecStart ersetzen:&lt;br /&gt;
:&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
ExecStart=/opt/paperless/venv/bin/celery --app paperless beat --loglevel INFO&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
sudo ln -s /opt/paperless/scripts/paperless-scheduler.service /etc/systemd/system/paperless-scheduler.service&lt;br /&gt;
sudo systemctl daemon-reload&lt;br /&gt;
sudo systemctl enable --now paperless-scheduler.service&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
systemctl status paperless-scheduler.service&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;Sollte in etwa so aussehen:&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
● paperless-scheduler.service - Paperless Celery Beat&lt;br /&gt;
     Loaded: loaded (/etc/systemd/system/paperless-scheduler.service; enabled; preset: enabled)&lt;br /&gt;
     Active: active (running) since Sat 2025-03-22 22:29:33 CET; 4s ago&lt;br /&gt;
   Main PID: 6981 ([celery beat] -)&lt;br /&gt;
      Tasks: 22 (limit: 9472)&lt;br /&gt;
     Memory: 115.1M&lt;br /&gt;
        CPU: 1.831s&lt;br /&gt;
     CGroup: /system.slice/paperless-scheduler.service&lt;br /&gt;
             └─6981 &amp;quot;[celery beat] --app paperless beat --loglevel INFO&amp;quot;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== paperless-task-queue ====&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
sudo vi paperless-task-queue.service&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;'''Debian 11:'''&lt;br /&gt;
:ExecStart ersetzen:&lt;br /&gt;
:&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
ExecStart=/opt/paperless/.local/bin/celery --app paperless worker --loglevel INFO&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
'''Debian 12:'''&lt;br /&gt;
:ExecStart ersetzen:&lt;br /&gt;
:&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
ExecStart=/opt/paperless/venv/bin/celery --app paperless worker --loglevel INFO&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
sudo ln -s /opt/paperless/scripts/paperless-task-queue.service /etc/systemd/system/paperless-task-queue.service&lt;br /&gt;
sudo systemctl daemon-reload&lt;br /&gt;
sudo systemctl enable --now paperless-task-queue.service&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
systemctl status paperless-task-queue.service&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;Sollte in etwa so aussehen:&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
● paperless-task-queue.service - Paperless Celery Workers&lt;br /&gt;
     Loaded: loaded (/etc/systemd/system/paperless-task-queue.service; enabled; preset: enabled)&lt;br /&gt;
     Active: active (running) since Sat 2025-03-22 22:31:23 CET; 4s ago&lt;br /&gt;
   Main PID: 7122 ([celeryd: celer)&lt;br /&gt;
      Tasks: 24 (limit: 9472)&lt;br /&gt;
     Memory: 197.6M&lt;br /&gt;
        CPU: 2.177s&lt;br /&gt;
     CGroup: /system.slice/paperless-task-queue.service&lt;br /&gt;
             ├─7122 &amp;quot;[celeryd: celery@paperless-ngx-1:MainProcess] -active- (--app paperless worker --loglevel INFO)&amp;quot;&lt;br /&gt;
             ├─7153 &amp;quot;[celeryd: celery@paperless-ngx-1:ForkPoolWorker-1]&amp;quot;&lt;br /&gt;
             └─7154 &amp;quot;[celeryd: celery@paperless-ngx-1:ForkPoolWorker-2]&amp;quot;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
==== paperless-webserver ====&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
sudo vi paperless-webserver.service&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;'''Debian 11:'''&lt;br /&gt;
:exec ersetzen:&lt;br /&gt;
:&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
exec /opt/paperless/.local/bin/granian --interface asginl --ws &amp;quot;paperless.asgi:application&amp;quot;'&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
'''Debian 12:'''&lt;br /&gt;
:exec ersetzen:&lt;br /&gt;
:&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
exec /opt/paperless/venv/bin/granian --interface asginl --ws &amp;quot;paperless.asgi:application&amp;quot;'&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
sudo ln -s /opt/paperless/scripts/paperless-webserver.service /etc/systemd/system/paperless-webserver.service&lt;br /&gt;
sudo systemctl daemon-reload&lt;br /&gt;
sudo systemctl enable --now paperless-webserver.service&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
systemctl status paperless-webserver.service&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;Sollte in etwa so aussehen:&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
● paperless-webserver.service - Paperless webserver&lt;br /&gt;
     Loaded: loaded (/etc/systemd/system/paperless-webserver.service; enabled; preset: enabled)&lt;br /&gt;
     Active: active (running) since Sat 2025-03-22 22:34:41 CET; 3s ago&lt;br /&gt;
   Main PID: 7519 (granian asginl )&lt;br /&gt;
      Tasks: 18 (limit: 9472)&lt;br /&gt;
     Memory: 133.2M&lt;br /&gt;
        CPU: 1.746s&lt;br /&gt;
     CGroup: /system.slice/paperless-webserver.service&lt;br /&gt;
             ├─7519 &amp;quot;granian asginl :::8000 paperless.asgi:application&amp;quot;&lt;br /&gt;
             └─7521 &amp;quot;granian asginl :::8000 paperless.asgi:application worker-1&amp;quot;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Zusätzliche Pakete installieren ===&lt;br /&gt;
&lt;br /&gt;
==== stopwords &amp;amp; punkt_tab ====&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
cd ..&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Debian 11:'''&lt;br /&gt;
:&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
sudo -Hu paperless python3 -m nltk.downloader stopwords&lt;br /&gt;
sudo -Hu paperless python3 -m nltk.downloader punkt_tab&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
'''Debian 12:'''&lt;br /&gt;
:&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
sudo -Hu paperless /opt/paperless/venv/bin/python3 -m nltk.downloader stopwords&lt;br /&gt;
sudo -Hu paperless /opt/paperless/venv/bin/python3 -m nltk.downloader punkt_tab&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
sudo apt install tesseract-ocr-deu&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
sudo -Hu paperless vi /opt/paperless/paperless.conf&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
PAPERLESS_NLTK_DIR=/opt/paperless/nltk_data&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== jbig2enc ====&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
sudo apt install autotools-dev automake libtool libleptonica-dev&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
cd ~&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;'''Debian 11:'''&lt;br /&gt;
:&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
wget https://ftp.gnu.org/gnu/autoconf/autoconf-2.71.tar.xz&lt;br /&gt;
tar -xf autoconf-2.71.tar.xz&lt;br /&gt;
cd autoconf-2.71/&lt;br /&gt;
./configure&lt;br /&gt;
make -j$(nproc)&lt;br /&gt;
sudo make install &lt;br /&gt;
. ~/.profile&lt;br /&gt;
autoconf --version&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
git clone https://github.com/agl/jbig2enc&lt;br /&gt;
cd jbig2enc&lt;br /&gt;
./autogen.sh&lt;br /&gt;
./configure &amp;amp;&amp;amp; make -j$(nproc)&lt;br /&gt;
sudo make install&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;Für die Verarbeitung von Dokumenten in deutscher Sprache:&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
sudo apt install tesseract-ocr-deu&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
sudo -Hu paperless vi /opt/paperless/paperless.conf&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
PAPERLESS_OCR_LANGUAGE=deu+eng&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Tika / Gotenberg installieren (Docker) ====&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
sudo install -m 0755 -d /etc/apt/keyrings&lt;br /&gt;
sudo curl -fsSL https://download.docker.com/linux/debian/gpg -o /etc/apt/keyrings/docker.asc&lt;br /&gt;
sudo chmod a+r /etc/apt/keyrings/docker.asc&lt;br /&gt;
&lt;br /&gt;
echo \&lt;br /&gt;
  &amp;quot;deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.asc] https://download.docker.com/linux/debian \&lt;br /&gt;
  $(. /etc/os-release &amp;amp;&amp;amp; echo &amp;quot;$VERSION_CODENAME&amp;quot;) stable&amp;quot; | \&lt;br /&gt;
  sudo tee /etc/apt/sources.list.d/docker.list &amp;gt; /dev/null&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
sudo apt update&lt;br /&gt;
sudo apt install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
sudo docker pull apache/tika&lt;br /&gt;
sudo docker run -d --restart unless-stopped -p 127.0.0.1:9998:9998 apache/tika&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
sudo docker pull gotenberg/gotenberg:8&lt;br /&gt;
sudo docker run -d --restart unless-stopped -p 127.0.0.1:3000:3000 gotenberg/gotenberg:8&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
sudo -Hu paperless vi /opt/paperless/paperless.conf&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
# Tika settings&lt;br /&gt;
&lt;br /&gt;
PAPERLESS_TIKA_ENABLED=true&lt;br /&gt;
PAPERLESS_TIKA_ENDPOINT=http://localhost:9998&lt;br /&gt;
PAPERLESS_TIKA_GOTENBERG_ENDPOINT=http://localhost:3000&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Quellen ==&lt;br /&gt;
*[https://wiki.crowncloud.net/?How_to_Install_Python_3_11_on_Debian_11 wiki.crowncloud.net]&lt;br /&gt;
*[https://askubuntu.com/questions/1076846/how-to-install-newer-version-of-ghostscript-on-server-than-provided-from-ubuntu askubuntu.com]&lt;br /&gt;
*[https://docs.paperless-ngx.com/setup/#bare_metal docs.paperless-ngx.com]&lt;br /&gt;
*[https://docs.docker.com/engine/install/debian/ docs.docker.com/]&lt;br /&gt;
*[https://gotenberg.dev/docs/getting-started/installation gotenberg.dev]&lt;br /&gt;
*[https://hub.docker.com/r/apache/tika hub.docker.com]&lt;br /&gt;
&amp;lt;references /&amp;gt;&lt;/div&gt;</summary>
		<author><name>Robin Tönniges</name></author>
	</entry>
	<entry>
		<id>https://wiki.toenniges.de/index.php?title=Paperless-ngx_%22Bare_Metal%22_installieren_(Debian_11/12)&amp;diff=1847</id>
		<title>Paperless-ngx &quot;Bare Metal&quot; installieren (Debian 11/12)</title>
		<link rel="alternate" type="text/html" href="https://wiki.toenniges.de/index.php?title=Paperless-ngx_%22Bare_Metal%22_installieren_(Debian_11/12)&amp;diff=1847"/>
		<updated>2025-03-24T00:15:34Z</updated>

		<summary type="html">&lt;p&gt;Robin Tönniges: /* Frontend */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Infobox&lt;br /&gt;
| Titel      = Testumgebung&lt;br /&gt;
| Bildname   = &lt;br /&gt;
| Bildbreite = &lt;br /&gt;
| Bildtext   = &lt;br /&gt;
| Stil            = 2&lt;br /&gt;
| Titelfarbe      = 6&lt;br /&gt;
| Abschnittsfarbe = &lt;br /&gt;
| Farbe           = &lt;br /&gt;
| Style           = &lt;br /&gt;
| Feldstyle       = &lt;br /&gt;
| Feldname1 = OS    | Daten1 = Debian 11.11/12.10&lt;br /&gt;
| Feldname3 = paperless-ngx (Dev)    | Daten3 = 2.15.0&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
Anleitung für die &amp;quot;Bare Metal&amp;quot; Installation von [https://docs.paperless-ngx.com/ paperless-ngx] mit dem Sourcecode vom [https://github.com/paperless-ngx/paperless-ngx Dev] oder [https://github.com/paperless-ngx/paperless-ngx/tree/beta Beta] Branch auf Debian 11 und 12.&lt;br /&gt;
==Abhängigkeiten installieren==&lt;br /&gt;
Das System auf den neusten Stand bringen:&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
sudo apt update&lt;br /&gt;
sudo apt upgrade&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
sudo apt install build-essential zlib1g-dev libncurses5-dev libgdbm-dev libnss3-dev libssl-dev libreadline-dev libffi-dev \&lt;br /&gt;
libpq-dev libsqlite3-dev libbz2-dev pkg-config libgdbm-compat-dev liblzma-dev tk-dev uuid-dev wget imagemagick unpaper \&lt;br /&gt;
fonts-liberation gnupg libpq-dev default-libmysqlclient-dev pkg-config libmagic-dev libzbar0 poppler-utils \&lt;br /&gt;
icc-profiles-free qpdf liblept5 libxml2 pngquant zlib1g tesseract-ocr redis git curl&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
===Python 3.11 installieren===&lt;br /&gt;
'''Debian 11:'''&lt;br /&gt;
:&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
wget https://www.python.org/ftp/python/3.11.11/Python-3.11.11.tgz&lt;br /&gt;
tar -xvf Python-3.11.11.tgz&lt;br /&gt;
cd Python-3.11.11&lt;br /&gt;
./configure --enable-optimizations&lt;br /&gt;
make -j$(nproc)&lt;br /&gt;
sudo make install&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
'''Debian 12:'''&lt;br /&gt;
:&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
sudo apt install python3.11 python3.11-venv python3-pip python3-setuptools python3-wheel&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
===Ghostscript 10.05 installieren===&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
wget https://github.com/ArtifexSoftware/ghostpdl-downloads/releases/download/gs10050/ghostscript-10.05.0.tar.gz&lt;br /&gt;
tar -xvf ghostscript-10.05.0.tar.gz&lt;br /&gt;
cd ghostscript-10.05.0&lt;br /&gt;
./configure --without-x&lt;br /&gt;
make -j$(nproc)&lt;br /&gt;
sudo make install&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
== Paperless-ngx installieren ==&lt;br /&gt;
Paperless Benutzer erstellen und Repository klonen:&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
sudo adduser paperless --system --home /opt/paperless --group&lt;br /&gt;
cd /opt/paperless&lt;br /&gt;
sudo -Hu paperless git clone https://github.com/paperless-ngx/paperless-ngx.git .&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
sudo -u paperless mkdir consume media&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
'''Debian 11:'''&lt;br /&gt;
:&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
sudo -Hu paperless pip3 install uv&lt;br /&gt;
sudo -Hu paperless uv export --no-dev --all-extras --format requirements-txt --output-file requirements.txt&lt;br /&gt;
sudo -Hu paperless pip3 install -r requirements.txt&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
'''Debian 12:'''&lt;br /&gt;
:&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
sudo -u paperless python3 -m venv /opt/paperless/venv&lt;br /&gt;
sudo -Hu paperless /opt/paperless/venv/bin/pip3 install uv&lt;br /&gt;
sudo -Hu paperless /opt/paperless/venv/bin/uv export --no-dev --all-extras --format requirements-txt --output-file requirements.txt&lt;br /&gt;
sudo -Hu paperless /opt/paperless/venv/bin/pip3 install -r requirements.txt&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
sudo -Hu paperless cp paperless.conf.example paperless.conf&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
sudo -Hu paperless vi paperless.conf&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
PAPERLESS_SECRET_KEY=change-me&lt;br /&gt;
&lt;br /&gt;
PAPERLESS_CONSUMPTION_DIR=/mnt/paperless-store/consume&lt;br /&gt;
PAPERLESS_DATA_DIR=/mnt/paperless-store/data&lt;br /&gt;
PAPERLESS_MEDIA_ROOT=/mnt/paperless-store/media&lt;br /&gt;
&lt;br /&gt;
PAPERLESS_TIME_ZONE=Europe/Berlin&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;Wenn du postgresql statt sqlite verwendet möchtest:&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
PAPERLESS_DBHOST=127.0.0.1 # Use postgresql&lt;br /&gt;
PAPERLESS_DBNAME=db_paperless&lt;br /&gt;
#PAPERLESS_DBUSER=paperless&lt;br /&gt;
PAPERLESS_DBPASS=&amp;lt;password&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
sudo apt install postgresql&lt;br /&gt;
sudo -u postgres psql&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&amp;lt;syntaxhighlight lang=&amp;quot;sql&amp;quot;&amp;gt;&lt;br /&gt;
CREATE DATABASE db_paperless;&lt;br /&gt;
CREATE USER paperless WITH ENCRYPTED PASSWORD '&amp;lt;password&amp;gt;';&lt;br /&gt;
GRANT ALL ON DATABASE db_paperless TO paperless;&lt;br /&gt;
\c db_paperless&lt;br /&gt;
GRANT ALL ON SCHEMA public TO paperless;&lt;br /&gt;
\q&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Frontend ===&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
cd src-ui&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
'''Debian 11:'''&lt;br /&gt;
:&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
sudo curl -sL https://deb.nodesource.com/setup_18.x | sudo -E bash -&lt;br /&gt;
sudo apt install nodejs&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
'''Debian 12:'''&lt;br /&gt;
:&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
sudo apt install nodejs npm&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
sudo npm install -g @angular/cli&lt;br /&gt;
sudo npm install -g pnpm&lt;br /&gt;
sudo -Hu paperless pnpm install&lt;br /&gt;
&lt;br /&gt;
sudo -Hu paperless ng build --configuration production&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Backend ===&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
cd ../src&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
'''Debian 11:'''&lt;br /&gt;
:&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
sudo -Hu paperless python3 manage.py migrate&lt;br /&gt;
sudo -Hu paperless python3 manage.py createsuperuser&lt;br /&gt;
sudo -Hu paperless python3 manage.py collectstatic&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
'''Debian 12:'''&lt;br /&gt;
:&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
sudo -Hu paperless /opt/paperless/venv/bin/python3 manage.py migrate&lt;br /&gt;
sudo -Hu paperless /opt/paperless/venv/bin/python3 manage.py createsuperuser&lt;br /&gt;
sudo -Hu paperless /opt/paperless/venv/bin/python3 manage.py collectstatic&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== ImageMagick konfigurieren ===&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
sudo vi /etc/ImageMagick-6/policy.xml&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;policy domain=&amp;quot;coder&amp;quot; rights=&amp;quot;read|write&amp;quot; pattern=&amp;quot;PDF&amp;quot; /&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
=== Systemd Services anlegen ===&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
cd ../scripts&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== paperless-consumer ====&lt;br /&gt;
'''Debian 12:'''&lt;br /&gt;
:&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
sudo vi paperless-consumer.service&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;ExecStart ersetzen:&lt;br /&gt;
:&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
ExecStart=/opt/paperless/venv/bin/python3 manage.py document_consumer&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
sudo ln -s /opt/paperless/scripts/paperless-consumer.service /etc/systemd/system/paperless-consumer.service&lt;br /&gt;
sudo systemctl daemon-reload&lt;br /&gt;
sudo systemctl enable --now paperless-consumer.service&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
systemctl status paperless-consumer.service&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;Sollte in etwa so aussehen:&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
● paperless-consumer.service - Paperless consumer&lt;br /&gt;
     Loaded: loaded (/etc/systemd/system/paperless-consumer.service; enabled; preset: enabled)&lt;br /&gt;
     Active: active (running) since Sat 2025-03-22 22:25:06 CET; 6s ago&lt;br /&gt;
   Main PID: 6715 (python3)&lt;br /&gt;
      Tasks: 11 (limit: 9472)&lt;br /&gt;
     Memory: 97.2M&lt;br /&gt;
        CPU: 1.518s&lt;br /&gt;
     CGroup: /system.slice/paperless-consumer.service&lt;br /&gt;
             └─6715 /opt/paperless/venv/bin/python3 manage.py document_consumer&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== paperless-scheduler ====&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
sudo vi paperless-scheduler.service&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;'''Debian 11:'''&lt;br /&gt;
:ExecStart ersetzen:&lt;br /&gt;
:&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
ExecStart=/opt/paperless/.local/bin/celery --app paperless beat --loglevel INFO&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
'''Debian 12:'''&lt;br /&gt;
:ExecStart ersetzen:&lt;br /&gt;
:&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
ExecStart=/opt/paperless/venv/bin/celery --app paperless beat --loglevel INFO&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
sudo ln -s /opt/paperless/scripts/paperless-scheduler.service /etc/systemd/system/paperless-scheduler.service&lt;br /&gt;
sudo systemctl daemon-reload&lt;br /&gt;
sudo systemctl enable --now paperless-scheduler.service&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
systemctl status paperless-scheduler.service&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;Sollte in etwa so aussehen:&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
● paperless-scheduler.service - Paperless Celery Beat&lt;br /&gt;
     Loaded: loaded (/etc/systemd/system/paperless-scheduler.service; enabled; preset: enabled)&lt;br /&gt;
     Active: active (running) since Sat 2025-03-22 22:29:33 CET; 4s ago&lt;br /&gt;
   Main PID: 6981 ([celery beat] -)&lt;br /&gt;
      Tasks: 22 (limit: 9472)&lt;br /&gt;
     Memory: 115.1M&lt;br /&gt;
        CPU: 1.831s&lt;br /&gt;
     CGroup: /system.slice/paperless-scheduler.service&lt;br /&gt;
             └─6981 &amp;quot;[celery beat] --app paperless beat --loglevel INFO&amp;quot;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== paperless-task-queue ====&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
sudo vi paperless-task-queue.service&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;'''Debian 11:'''&lt;br /&gt;
:ExecStart ersetzen:&lt;br /&gt;
:&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
ExecStart=/opt/paperless/.local/bin/celery --app paperless worker --loglevel INFO&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
'''Debian 12:'''&lt;br /&gt;
:ExecStart ersetzen:&lt;br /&gt;
:&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
ExecStart=/opt/paperless/venv/bin/celery --app paperless worker --loglevel INFO&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
sudo ln -s /opt/paperless/scripts/paperless-task-queue.service /etc/systemd/system/paperless-task-queue.service&lt;br /&gt;
sudo systemctl daemon-reload&lt;br /&gt;
sudo systemctl enable --now paperless-task-queue.service&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
systemctl status paperless-task-queue.service&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;Sollte in etwa so aussehen:&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
● paperless-task-queue.service - Paperless Celery Workers&lt;br /&gt;
     Loaded: loaded (/etc/systemd/system/paperless-task-queue.service; enabled; preset: enabled)&lt;br /&gt;
     Active: active (running) since Sat 2025-03-22 22:31:23 CET; 4s ago&lt;br /&gt;
   Main PID: 7122 ([celeryd: celer)&lt;br /&gt;
      Tasks: 24 (limit: 9472)&lt;br /&gt;
     Memory: 197.6M&lt;br /&gt;
        CPU: 2.177s&lt;br /&gt;
     CGroup: /system.slice/paperless-task-queue.service&lt;br /&gt;
             ├─7122 &amp;quot;[celeryd: celery@paperless-ngx-1:MainProcess] -active- (--app paperless worker --loglevel INFO)&amp;quot;&lt;br /&gt;
             ├─7153 &amp;quot;[celeryd: celery@paperless-ngx-1:ForkPoolWorker-1]&amp;quot;&lt;br /&gt;
             └─7154 &amp;quot;[celeryd: celery@paperless-ngx-1:ForkPoolWorker-2]&amp;quot;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
==== paperless-webserver ====&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
sudo vi paperless-webserver.service&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;'''Debian 11:'''&lt;br /&gt;
:exec ersetzen:&lt;br /&gt;
:&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
exec /opt/paperless/.local/bin/granian --interface asginl --ws &amp;quot;paperless.asgi:application&amp;quot;'&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
'''Debian 12:'''&lt;br /&gt;
:exec ersetzen:&lt;br /&gt;
:&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
exec /opt/paperless/venv/bin/granian --interface asginl --ws &amp;quot;paperless.asgi:application&amp;quot;'&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
sudo ln -s /opt/paperless/scripts/paperless-webserver.service /etc/systemd/system/paperless-webserver.service&lt;br /&gt;
sudo systemctl daemon-reload&lt;br /&gt;
sudo systemctl enable --now paperless-webserver.service&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
systemctl status paperless-webserver.service&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;Sollte in etwa so aussehen:&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
● paperless-webserver.service - Paperless webserver&lt;br /&gt;
     Loaded: loaded (/etc/systemd/system/paperless-webserver.service; enabled; preset: enabled)&lt;br /&gt;
     Active: active (running) since Sat 2025-03-22 22:34:41 CET; 3s ago&lt;br /&gt;
   Main PID: 7519 (granian asginl )&lt;br /&gt;
      Tasks: 18 (limit: 9472)&lt;br /&gt;
     Memory: 133.2M&lt;br /&gt;
        CPU: 1.746s&lt;br /&gt;
     CGroup: /system.slice/paperless-webserver.service&lt;br /&gt;
             ├─7519 &amp;quot;granian asginl :::8000 paperless.asgi:application&amp;quot;&lt;br /&gt;
             └─7521 &amp;quot;granian asginl :::8000 paperless.asgi:application worker-1&amp;quot;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Zusätzliche Pakete installieren ===&lt;br /&gt;
&lt;br /&gt;
==== stopwords &amp;amp; punkt_tab ====&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
cd ..&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Debian 11:'''&lt;br /&gt;
:&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
sudo -Hu paperless python3 -m nltk.downloader stopwords&lt;br /&gt;
sudo -Hu paperless python3 -m nltk.downloader punkt_tab&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
'''Debian 12:'''&lt;br /&gt;
:&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
sudo -Hu paperless /opt/paperless/venv/bin/python3 -m nltk.downloader stopwords&lt;br /&gt;
sudo -Hu paperless /opt/paperless/venv/bin/python3 -m nltk.downloader punkt_tab&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
sudo apt install tesseract-ocr-deu&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
sudo -Hu paperless vi /opt/paperless/paperless.conf&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
PAPERLESS_NLTK_DIR=/opt/paperless/nltk_data&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== jbig2enc ====&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
sudo apt install autotools-dev automake libtool libleptonica-dev&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
cd ~&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;'''Debian 11:'''&lt;br /&gt;
:&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
wget https://ftp.gnu.org/gnu/autoconf/autoconf-2.71.tar.xz&lt;br /&gt;
tar -xf autoconf-2.71.tar.xz&lt;br /&gt;
cd autoconf-2.71/&lt;br /&gt;
./configure&lt;br /&gt;
make -j$(nproc)&lt;br /&gt;
sudo make install &lt;br /&gt;
. ~/.profile&lt;br /&gt;
autoconf --version&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
git clone https://github.com/agl/jbig2enc&lt;br /&gt;
cd jbig2enc&lt;br /&gt;
./autogen.sh&lt;br /&gt;
./configure &amp;amp;&amp;amp; make -j$(nproc)&lt;br /&gt;
sudo make install&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;Für die Verarbeitung von Dokumenten in deutscher Sprache:&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
sudo apt install tesseract-ocr-deu&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
sudo -Hu paperless vi /opt/paperless/paperless.conf&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
PAPERLESS_OCR_LANGUAGE=deu+eng&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Tika / Gotenberg installieren (Docker) ====&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
sudo install -m 0755 -d /etc/apt/keyrings&lt;br /&gt;
sudo curl -fsSL https://download.docker.com/linux/debian/gpg -o /etc/apt/keyrings/docker.asc&lt;br /&gt;
sudo chmod a+r /etc/apt/keyrings/docker.asc&lt;br /&gt;
&lt;br /&gt;
echo \&lt;br /&gt;
  &amp;quot;deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.asc] https://download.docker.com/linux/debian \&lt;br /&gt;
  $(. /etc/os-release &amp;amp;&amp;amp; echo &amp;quot;$VERSION_CODENAME&amp;quot;) stable&amp;quot; | \&lt;br /&gt;
  sudo tee /etc/apt/sources.list.d/docker.list &amp;gt; /dev/null&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
sudo apt update&lt;br /&gt;
sudo apt install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
sudo docker pull apache/tika&lt;br /&gt;
sudo docker run -d --restart unless-stopped -p 127.0.0.1:9998:9998 apache/tika&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
sudo docker pull gotenberg/gotenberg:8&lt;br /&gt;
sudo docker run -d --restart unless-stopped -p 127.0.0.1:3000:3000 gotenberg/gotenberg:8&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
sudo -Hu paperless vi /opt/paperless/paperless.conf&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
# Tika settings&lt;br /&gt;
&lt;br /&gt;
PAPERLESS_TIKA_ENABLED=true&lt;br /&gt;
PAPERLESS_TIKA_ENDPOINT=http://localhost:9998&lt;br /&gt;
PAPERLESS_TIKA_GOTENBERG_ENDPOINT=http://localhost:3000&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Quellen ==&lt;br /&gt;
*[https://wiki.crowncloud.net/?How_to_Install_Python_3_11_on_Debian_11 wiki.crowncloud.net]&lt;br /&gt;
*[https://askubuntu.com/questions/1076846/how-to-install-newer-version-of-ghostscript-on-server-than-provided-from-ubuntu askubuntu.com]&lt;br /&gt;
*[https://docs.paperless-ngx.com/setup/#bare_metal docs.paperless-ngx.com]&lt;br /&gt;
*[https://docs.docker.com/engine/install/debian/ docs.docker.com/]&lt;br /&gt;
*[https://gotenberg.dev/docs/getting-started/installation gotenberg.dev]&lt;br /&gt;
*[https://hub.docker.com/r/apache/tika hub.docker.com]&lt;br /&gt;
&amp;lt;references /&amp;gt;&lt;/div&gt;</summary>
		<author><name>Robin Tönniges</name></author>
	</entry>
	<entry>
		<id>https://wiki.toenniges.de/index.php?title=Paperless-ngx_%22Bare_Metal%22_installieren_(Debian_11/12)&amp;diff=1846</id>
		<title>Paperless-ngx &quot;Bare Metal&quot; installieren (Debian 11/12)</title>
		<link rel="alternate" type="text/html" href="https://wiki.toenniges.de/index.php?title=Paperless-ngx_%22Bare_Metal%22_installieren_(Debian_11/12)&amp;diff=1846"/>
		<updated>2025-03-24T00:03:30Z</updated>

		<summary type="html">&lt;p&gt;Robin Tönniges: /* Paperless-ngx installieren */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Infobox&lt;br /&gt;
| Titel      = Testumgebung&lt;br /&gt;
| Bildname   = &lt;br /&gt;
| Bildbreite = &lt;br /&gt;
| Bildtext   = &lt;br /&gt;
| Stil            = 2&lt;br /&gt;
| Titelfarbe      = 6&lt;br /&gt;
| Abschnittsfarbe = &lt;br /&gt;
| Farbe           = &lt;br /&gt;
| Style           = &lt;br /&gt;
| Feldstyle       = &lt;br /&gt;
| Feldname1 = OS    | Daten1 = Debian 11.11/12.10&lt;br /&gt;
| Feldname3 = paperless-ngx (Dev)    | Daten3 = 2.15.0&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
Anleitung für die &amp;quot;Bare Metal&amp;quot; Installation von [https://docs.paperless-ngx.com/ paperless-ngx] mit dem Sourcecode vom [https://github.com/paperless-ngx/paperless-ngx Dev] oder [https://github.com/paperless-ngx/paperless-ngx/tree/beta Beta] Branch auf Debian 11 und 12.&lt;br /&gt;
==Abhängigkeiten installieren==&lt;br /&gt;
Das System auf den neusten Stand bringen:&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
sudo apt update&lt;br /&gt;
sudo apt upgrade&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
sudo apt install build-essential zlib1g-dev libncurses5-dev libgdbm-dev libnss3-dev libssl-dev libreadline-dev libffi-dev \&lt;br /&gt;
libpq-dev libsqlite3-dev libbz2-dev pkg-config libgdbm-compat-dev liblzma-dev tk-dev uuid-dev wget imagemagick unpaper \&lt;br /&gt;
fonts-liberation gnupg libpq-dev default-libmysqlclient-dev pkg-config libmagic-dev libzbar0 poppler-utils \&lt;br /&gt;
icc-profiles-free qpdf liblept5 libxml2 pngquant zlib1g tesseract-ocr redis git curl&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
===Python 3.11 installieren===&lt;br /&gt;
'''Debian 11:'''&lt;br /&gt;
:&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
wget https://www.python.org/ftp/python/3.11.11/Python-3.11.11.tgz&lt;br /&gt;
tar -xvf Python-3.11.11.tgz&lt;br /&gt;
cd Python-3.11.11&lt;br /&gt;
./configure --enable-optimizations&lt;br /&gt;
make -j$(nproc)&lt;br /&gt;
sudo make install&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
'''Debian 12:'''&lt;br /&gt;
:&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
sudo apt install python3.11 python3.11-venv python3-pip python3-setuptools python3-wheel&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
===Ghostscript 10.05 installieren===&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
wget https://github.com/ArtifexSoftware/ghostpdl-downloads/releases/download/gs10050/ghostscript-10.05.0.tar.gz&lt;br /&gt;
tar -xvf ghostscript-10.05.0.tar.gz&lt;br /&gt;
cd ghostscript-10.05.0&lt;br /&gt;
./configure --without-x&lt;br /&gt;
make -j$(nproc)&lt;br /&gt;
sudo make install&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
== Paperless-ngx installieren ==&lt;br /&gt;
Paperless Benutzer erstellen und Repository klonen:&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
sudo adduser paperless --system --home /opt/paperless --group&lt;br /&gt;
cd /opt/paperless&lt;br /&gt;
sudo -Hu paperless git clone https://github.com/paperless-ngx/paperless-ngx.git .&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
sudo -u paperless mkdir consume media&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
'''Debian 11:'''&lt;br /&gt;
:&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
sudo -Hu paperless pip3 install uv&lt;br /&gt;
sudo -Hu paperless uv export --no-dev --all-extras --format requirements-txt --output-file requirements.txt&lt;br /&gt;
sudo -Hu paperless pip3 install -r requirements.txt&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
'''Debian 12:'''&lt;br /&gt;
:&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
sudo -u paperless python3 -m venv /opt/paperless/venv&lt;br /&gt;
sudo -Hu paperless /opt/paperless/venv/bin/pip3 install uv&lt;br /&gt;
sudo -Hu paperless /opt/paperless/venv/bin/uv export --no-dev --all-extras --format requirements-txt --output-file requirements.txt&lt;br /&gt;
sudo -Hu paperless /opt/paperless/venv/bin/pip3 install -r requirements.txt&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
sudo -Hu paperless cp paperless.conf.example paperless.conf&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
sudo -Hu paperless vi paperless.conf&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
PAPERLESS_SECRET_KEY=change-me&lt;br /&gt;
&lt;br /&gt;
PAPERLESS_CONSUMPTION_DIR=/mnt/paperless-store/consume&lt;br /&gt;
PAPERLESS_DATA_DIR=/mnt/paperless-store/data&lt;br /&gt;
PAPERLESS_MEDIA_ROOT=/mnt/paperless-store/media&lt;br /&gt;
&lt;br /&gt;
PAPERLESS_TIME_ZONE=Europe/Berlin&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;Wenn du postgresql statt sqlite verwendet möchtest:&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
PAPERLESS_DBHOST=127.0.0.1 # Use postgresql&lt;br /&gt;
PAPERLESS_DBNAME=db_paperless&lt;br /&gt;
#PAPERLESS_DBUSER=paperless&lt;br /&gt;
PAPERLESS_DBPASS=&amp;lt;password&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
sudo apt install postgresql&lt;br /&gt;
sudo -u postgres psql&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&amp;lt;syntaxhighlight lang=&amp;quot;sql&amp;quot;&amp;gt;&lt;br /&gt;
CREATE DATABASE db_paperless;&lt;br /&gt;
CREATE USER paperless WITH ENCRYPTED PASSWORD '&amp;lt;password&amp;gt;';&lt;br /&gt;
GRANT ALL ON DATABASE db_paperless TO paperless;&lt;br /&gt;
\c db_paperless&lt;br /&gt;
GRANT ALL ON SCHEMA public TO paperless;&lt;br /&gt;
\q&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Frontend ===&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
cd src-ui&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
'''Debian 11:'''&lt;br /&gt;
:&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
sudo curl -sL https://deb.nodesource.com/setup_18.x | sudo -E bash -&lt;br /&gt;
sudo apt install nodejs&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
'''Debian 12:'''&lt;br /&gt;
:&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
sudo apt install nodejs&lt;br /&gt;
sudo apt install npm&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
sudo npm install -g @angular/cli&lt;br /&gt;
sudo npm install -g pnpm&lt;br /&gt;
sudo -Hu paperless pnpm install&lt;br /&gt;
&lt;br /&gt;
sudo -Hu paperless ng build --configuration production&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Backend ===&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
cd ../src&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
'''Debian 11:'''&lt;br /&gt;
:&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
sudo -Hu paperless python3 manage.py migrate&lt;br /&gt;
sudo -Hu paperless python3 manage.py createsuperuser&lt;br /&gt;
sudo -Hu paperless python3 manage.py collectstatic&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
'''Debian 12:'''&lt;br /&gt;
:&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
sudo -Hu paperless /opt/paperless/venv/bin/python3 manage.py migrate&lt;br /&gt;
sudo -Hu paperless /opt/paperless/venv/bin/python3 manage.py createsuperuser&lt;br /&gt;
sudo -Hu paperless /opt/paperless/venv/bin/python3 manage.py collectstatic&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== ImageMagick konfigurieren ===&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
sudo vi /etc/ImageMagick-6/policy.xml&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;policy domain=&amp;quot;coder&amp;quot; rights=&amp;quot;read|write&amp;quot; pattern=&amp;quot;PDF&amp;quot; /&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
=== Systemd Services anlegen ===&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
cd ../scripts&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== paperless-consumer ====&lt;br /&gt;
'''Debian 12:'''&lt;br /&gt;
:&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
sudo vi paperless-consumer.service&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;ExecStart ersetzen:&lt;br /&gt;
:&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
ExecStart=/opt/paperless/venv/bin/python3 manage.py document_consumer&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
sudo ln -s /opt/paperless/scripts/paperless-consumer.service /etc/systemd/system/paperless-consumer.service&lt;br /&gt;
sudo systemctl daemon-reload&lt;br /&gt;
sudo systemctl enable --now paperless-consumer.service&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
systemctl status paperless-consumer.service&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;Sollte in etwa so aussehen:&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
● paperless-consumer.service - Paperless consumer&lt;br /&gt;
     Loaded: loaded (/etc/systemd/system/paperless-consumer.service; enabled; preset: enabled)&lt;br /&gt;
     Active: active (running) since Sat 2025-03-22 22:25:06 CET; 6s ago&lt;br /&gt;
   Main PID: 6715 (python3)&lt;br /&gt;
      Tasks: 11 (limit: 9472)&lt;br /&gt;
     Memory: 97.2M&lt;br /&gt;
        CPU: 1.518s&lt;br /&gt;
     CGroup: /system.slice/paperless-consumer.service&lt;br /&gt;
             └─6715 /opt/paperless/venv/bin/python3 manage.py document_consumer&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== paperless-scheduler ====&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
sudo vi paperless-scheduler.service&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;'''Debian 11:'''&lt;br /&gt;
:ExecStart ersetzen:&lt;br /&gt;
:&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
ExecStart=/opt/paperless/.local/bin/celery --app paperless beat --loglevel INFO&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
'''Debian 12:'''&lt;br /&gt;
:ExecStart ersetzen:&lt;br /&gt;
:&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
ExecStart=/opt/paperless/venv/bin/celery --app paperless beat --loglevel INFO&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
sudo ln -s /opt/paperless/scripts/paperless-scheduler.service /etc/systemd/system/paperless-scheduler.service&lt;br /&gt;
sudo systemctl daemon-reload&lt;br /&gt;
sudo systemctl enable --now paperless-scheduler.service&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
systemctl status paperless-scheduler.service&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;Sollte in etwa so aussehen:&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
● paperless-scheduler.service - Paperless Celery Beat&lt;br /&gt;
     Loaded: loaded (/etc/systemd/system/paperless-scheduler.service; enabled; preset: enabled)&lt;br /&gt;
     Active: active (running) since Sat 2025-03-22 22:29:33 CET; 4s ago&lt;br /&gt;
   Main PID: 6981 ([celery beat] -)&lt;br /&gt;
      Tasks: 22 (limit: 9472)&lt;br /&gt;
     Memory: 115.1M&lt;br /&gt;
        CPU: 1.831s&lt;br /&gt;
     CGroup: /system.slice/paperless-scheduler.service&lt;br /&gt;
             └─6981 &amp;quot;[celery beat] --app paperless beat --loglevel INFO&amp;quot;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== paperless-task-queue ====&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
sudo vi paperless-task-queue.service&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;'''Debian 11:'''&lt;br /&gt;
:ExecStart ersetzen:&lt;br /&gt;
:&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
ExecStart=/opt/paperless/.local/bin/celery --app paperless worker --loglevel INFO&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
'''Debian 12:'''&lt;br /&gt;
:ExecStart ersetzen:&lt;br /&gt;
:&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
ExecStart=/opt/paperless/venv/bin/celery --app paperless worker --loglevel INFO&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
sudo ln -s /opt/paperless/scripts/paperless-task-queue.service /etc/systemd/system/paperless-task-queue.service&lt;br /&gt;
sudo systemctl daemon-reload&lt;br /&gt;
sudo systemctl enable --now paperless-task-queue.service&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
systemctl status paperless-task-queue.service&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;Sollte in etwa so aussehen:&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
● paperless-task-queue.service - Paperless Celery Workers&lt;br /&gt;
     Loaded: loaded (/etc/systemd/system/paperless-task-queue.service; enabled; preset: enabled)&lt;br /&gt;
     Active: active (running) since Sat 2025-03-22 22:31:23 CET; 4s ago&lt;br /&gt;
   Main PID: 7122 ([celeryd: celer)&lt;br /&gt;
      Tasks: 24 (limit: 9472)&lt;br /&gt;
     Memory: 197.6M&lt;br /&gt;
        CPU: 2.177s&lt;br /&gt;
     CGroup: /system.slice/paperless-task-queue.service&lt;br /&gt;
             ├─7122 &amp;quot;[celeryd: celery@paperless-ngx-1:MainProcess] -active- (--app paperless worker --loglevel INFO)&amp;quot;&lt;br /&gt;
             ├─7153 &amp;quot;[celeryd: celery@paperless-ngx-1:ForkPoolWorker-1]&amp;quot;&lt;br /&gt;
             └─7154 &amp;quot;[celeryd: celery@paperless-ngx-1:ForkPoolWorker-2]&amp;quot;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
==== paperless-webserver ====&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
sudo vi paperless-webserver.service&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;'''Debian 11:'''&lt;br /&gt;
:exec ersetzen:&lt;br /&gt;
:&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
exec /opt/paperless/.local/bin/granian --interface asginl --ws &amp;quot;paperless.asgi:application&amp;quot;'&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
'''Debian 12:'''&lt;br /&gt;
:exec ersetzen:&lt;br /&gt;
:&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
exec /opt/paperless/venv/bin/granian --interface asginl --ws &amp;quot;paperless.asgi:application&amp;quot;'&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
sudo ln -s /opt/paperless/scripts/paperless-webserver.service /etc/systemd/system/paperless-webserver.service&lt;br /&gt;
sudo systemctl daemon-reload&lt;br /&gt;
sudo systemctl enable --now paperless-webserver.service&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
systemctl status paperless-webserver.service&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;Sollte in etwa so aussehen:&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
● paperless-webserver.service - Paperless webserver&lt;br /&gt;
     Loaded: loaded (/etc/systemd/system/paperless-webserver.service; enabled; preset: enabled)&lt;br /&gt;
     Active: active (running) since Sat 2025-03-22 22:34:41 CET; 3s ago&lt;br /&gt;
   Main PID: 7519 (granian asginl )&lt;br /&gt;
      Tasks: 18 (limit: 9472)&lt;br /&gt;
     Memory: 133.2M&lt;br /&gt;
        CPU: 1.746s&lt;br /&gt;
     CGroup: /system.slice/paperless-webserver.service&lt;br /&gt;
             ├─7519 &amp;quot;granian asginl :::8000 paperless.asgi:application&amp;quot;&lt;br /&gt;
             └─7521 &amp;quot;granian asginl :::8000 paperless.asgi:application worker-1&amp;quot;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Zusätzliche Pakete installieren ===&lt;br /&gt;
&lt;br /&gt;
==== stopwords &amp;amp; punkt_tab ====&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
cd ..&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Debian 11:'''&lt;br /&gt;
:&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
sudo -Hu paperless python3 -m nltk.downloader stopwords&lt;br /&gt;
sudo -Hu paperless python3 -m nltk.downloader punkt_tab&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
'''Debian 12:'''&lt;br /&gt;
:&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
sudo -Hu paperless /opt/paperless/venv/bin/python3 -m nltk.downloader stopwords&lt;br /&gt;
sudo -Hu paperless /opt/paperless/venv/bin/python3 -m nltk.downloader punkt_tab&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
sudo apt install tesseract-ocr-deu&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
sudo -Hu paperless vi /opt/paperless/paperless.conf&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
PAPERLESS_NLTK_DIR=/opt/paperless/nltk_data&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== jbig2enc ====&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
sudo apt install autotools-dev automake libtool libleptonica-dev&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
cd ~&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;'''Debian 11:'''&lt;br /&gt;
:&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
wget https://ftp.gnu.org/gnu/autoconf/autoconf-2.71.tar.xz&lt;br /&gt;
tar -xf autoconf-2.71.tar.xz&lt;br /&gt;
cd autoconf-2.71/&lt;br /&gt;
./configure&lt;br /&gt;
make -j$(nproc)&lt;br /&gt;
sudo make install &lt;br /&gt;
. ~/.profile&lt;br /&gt;
autoconf --version&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
git clone https://github.com/agl/jbig2enc&lt;br /&gt;
cd jbig2enc&lt;br /&gt;
./autogen.sh&lt;br /&gt;
./configure &amp;amp;&amp;amp; make -j$(nproc)&lt;br /&gt;
sudo make install&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;Für die Verarbeitung von Dokumenten in deutscher Sprache:&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
sudo apt install tesseract-ocr-deu&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
sudo -Hu paperless vi /opt/paperless/paperless.conf&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
PAPERLESS_OCR_LANGUAGE=deu+eng&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Tika / Gotenberg installieren (Docker) ====&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
sudo install -m 0755 -d /etc/apt/keyrings&lt;br /&gt;
sudo curl -fsSL https://download.docker.com/linux/debian/gpg -o /etc/apt/keyrings/docker.asc&lt;br /&gt;
sudo chmod a+r /etc/apt/keyrings/docker.asc&lt;br /&gt;
&lt;br /&gt;
echo \&lt;br /&gt;
  &amp;quot;deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.asc] https://download.docker.com/linux/debian \&lt;br /&gt;
  $(. /etc/os-release &amp;amp;&amp;amp; echo &amp;quot;$VERSION_CODENAME&amp;quot;) stable&amp;quot; | \&lt;br /&gt;
  sudo tee /etc/apt/sources.list.d/docker.list &amp;gt; /dev/null&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
sudo apt update&lt;br /&gt;
sudo apt install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
sudo docker pull apache/tika&lt;br /&gt;
sudo docker run -d --restart unless-stopped -p 127.0.0.1:9998:9998 apache/tika&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
sudo docker pull gotenberg/gotenberg:8&lt;br /&gt;
sudo docker run -d --restart unless-stopped -p 127.0.0.1:3000:3000 gotenberg/gotenberg:8&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
sudo -Hu paperless vi /opt/paperless/paperless.conf&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
# Tika settings&lt;br /&gt;
&lt;br /&gt;
PAPERLESS_TIKA_ENABLED=true&lt;br /&gt;
PAPERLESS_TIKA_ENDPOINT=http://localhost:9998&lt;br /&gt;
PAPERLESS_TIKA_GOTENBERG_ENDPOINT=http://localhost:3000&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Quellen ==&lt;br /&gt;
*[https://wiki.crowncloud.net/?How_to_Install_Python_3_11_on_Debian_11 wiki.crowncloud.net]&lt;br /&gt;
*[https://askubuntu.com/questions/1076846/how-to-install-newer-version-of-ghostscript-on-server-than-provided-from-ubuntu askubuntu.com]&lt;br /&gt;
*[https://docs.paperless-ngx.com/setup/#bare_metal docs.paperless-ngx.com]&lt;br /&gt;
*[https://docs.docker.com/engine/install/debian/ docs.docker.com/]&lt;br /&gt;
*[https://gotenberg.dev/docs/getting-started/installation gotenberg.dev]&lt;br /&gt;
*[https://hub.docker.com/r/apache/tika hub.docker.com]&lt;br /&gt;
&amp;lt;references /&amp;gt;&lt;/div&gt;</summary>
		<author><name>Robin Tönniges</name></author>
	</entry>
	<entry>
		<id>https://wiki.toenniges.de/index.php?title=Paperless-ngx_%22Bare_Metal%22_installieren_(Debian_11/12)&amp;diff=1845</id>
		<title>Paperless-ngx &quot;Bare Metal&quot; installieren (Debian 11/12)</title>
		<link rel="alternate" type="text/html" href="https://wiki.toenniges.de/index.php?title=Paperless-ngx_%22Bare_Metal%22_installieren_(Debian_11/12)&amp;diff=1845"/>
		<updated>2025-03-23T23:57:59Z</updated>

		<summary type="html">&lt;p&gt;Robin Tönniges: /* Paperless-ngx installieren */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Infobox&lt;br /&gt;
| Titel      = Testumgebung&lt;br /&gt;
| Bildname   = &lt;br /&gt;
| Bildbreite = &lt;br /&gt;
| Bildtext   = &lt;br /&gt;
| Stil            = 2&lt;br /&gt;
| Titelfarbe      = 6&lt;br /&gt;
| Abschnittsfarbe = &lt;br /&gt;
| Farbe           = &lt;br /&gt;
| Style           = &lt;br /&gt;
| Feldstyle       = &lt;br /&gt;
| Feldname1 = OS    | Daten1 = Debian 11.11/12.10&lt;br /&gt;
| Feldname3 = paperless-ngx (Dev)    | Daten3 = 2.15.0&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
Anleitung für die &amp;quot;Bare Metal&amp;quot; Installation von [https://docs.paperless-ngx.com/ paperless-ngx] mit dem Sourcecode vom [https://github.com/paperless-ngx/paperless-ngx Dev] oder [https://github.com/paperless-ngx/paperless-ngx/tree/beta Beta] Branch auf Debian 11 und 12.&lt;br /&gt;
==Abhängigkeiten installieren==&lt;br /&gt;
Das System auf den neusten Stand bringen:&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
sudo apt update&lt;br /&gt;
sudo apt upgrade&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
sudo apt install build-essential zlib1g-dev libncurses5-dev libgdbm-dev libnss3-dev libssl-dev libreadline-dev libffi-dev \&lt;br /&gt;
libpq-dev libsqlite3-dev libbz2-dev pkg-config libgdbm-compat-dev liblzma-dev tk-dev uuid-dev wget imagemagick unpaper \&lt;br /&gt;
fonts-liberation gnupg libpq-dev default-libmysqlclient-dev pkg-config libmagic-dev libzbar0 poppler-utils \&lt;br /&gt;
icc-profiles-free qpdf liblept5 libxml2 pngquant zlib1g tesseract-ocr redis git curl&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
===Python 3.11 installieren===&lt;br /&gt;
'''Debian 11:'''&lt;br /&gt;
:&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
wget https://www.python.org/ftp/python/3.11.11/Python-3.11.11.tgz&lt;br /&gt;
tar -xvf Python-3.11.11.tgz&lt;br /&gt;
cd Python-3.11.11&lt;br /&gt;
./configure --enable-optimizations&lt;br /&gt;
make -j$(nproc)&lt;br /&gt;
sudo make install&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
'''Debian 12:'''&lt;br /&gt;
:&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
sudo apt install python3.11 python3.11-venv python3-pip python3-setuptools python3-wheel&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
===Ghostscript 10.05 installieren===&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
wget https://github.com/ArtifexSoftware/ghostpdl-downloads/releases/download/gs10050/ghostscript-10.05.0.tar.gz&lt;br /&gt;
tar -xvf ghostscript-10.05.0.tar.gz&lt;br /&gt;
cd ghostscript-10.05.0&lt;br /&gt;
./configure --without-x&lt;br /&gt;
make -j$(nproc)&lt;br /&gt;
sudo make install&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
== Paperless-ngx installieren ==&lt;br /&gt;
Paperless Benutzer erstellen und Repository klonen:&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
sudo adduser paperless --system --home /opt/paperless --group&lt;br /&gt;
cd /opt/paperless&lt;br /&gt;
sudo -Hu paperless git clone https://github.com/paperless-ngx/paperless-ngx.git .&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
sudo -u paperless mkdir consume media&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
'''Debian 11:'''&lt;br /&gt;
:&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
sudo -Hu paperless pip3 install uv&lt;br /&gt;
sudo -Hu paperless uv export --no-dev --all-extras --format requirements-txt --output-file requirements.txt&lt;br /&gt;
sudo -Hu paperless pip3 install -r requirements.txt&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
'''Debian 12:'''&lt;br /&gt;
:&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
sudo -Hu paperless python3 -m venv /opt/paperless/venv&lt;br /&gt;
sudo -Hu paperless /opt/paperless/venv/bin/pip3 install uv&lt;br /&gt;
sudo -Hu paperless /opt/paperless/venv/bin/uv export --no-dev --all-extras --format requirements-txt --output-file requirements.txt&lt;br /&gt;
sudo -Hu paperless /opt/paperless/venv/bin/pip3 install -r requirements.txt&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
sudo -Hu paperless cp paperless.conf.example paperless.conf&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
sudo -Hu paperless vi paperless.conf&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
PAPERLESS_SECRET_KEY=change-me&lt;br /&gt;
&lt;br /&gt;
PAPERLESS_CONSUMPTION_DIR=/mnt/paperless-store/consume&lt;br /&gt;
PAPERLESS_DATA_DIR=/mnt/paperless-store/data&lt;br /&gt;
PAPERLESS_MEDIA_ROOT=/mnt/paperless-store/media&lt;br /&gt;
&lt;br /&gt;
PAPERLESS_TIME_ZONE=Europe/Berlin&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;Wenn du postgresql statt sqlite verwendet möchtest:&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
PAPERLESS_DBHOST=127.0.0.1 # Use postgresql&lt;br /&gt;
PAPERLESS_DBNAME=db_paperless&lt;br /&gt;
#PAPERLESS_DBUSER=paperless&lt;br /&gt;
PAPERLESS_DBPASS=&amp;lt;password&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
sudo apt install postgresql&lt;br /&gt;
sudo -u postgres psql&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&amp;lt;syntaxhighlight lang=&amp;quot;sql&amp;quot;&amp;gt;&lt;br /&gt;
CREATE DATABASE db_paperless;&lt;br /&gt;
CREATE USER paperless WITH ENCRYPTED PASSWORD '&amp;lt;password&amp;gt;';&lt;br /&gt;
GRANT ALL ON DATABASE db_paperless TO paperless;&lt;br /&gt;
\c db_paperless&lt;br /&gt;
GRANT ALL ON SCHEMA public TO paperless;&lt;br /&gt;
\q&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Frontend ===&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
cd src-ui&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
'''Debian 11:'''&lt;br /&gt;
:&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
sudo curl -sL https://deb.nodesource.com/setup_18.x | sudo -E bash -&lt;br /&gt;
sudo apt install nodejs&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
'''Debian 12:'''&lt;br /&gt;
:&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
sudo apt install nodejs&lt;br /&gt;
sudo apt install npm&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
sudo npm install -g @angular/cli&lt;br /&gt;
sudo npm install -g pnpm&lt;br /&gt;
sudo -Hu paperless pnpm install&lt;br /&gt;
&lt;br /&gt;
sudo -Hu paperless ng build --configuration production&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Backend ===&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
cd ../src&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
'''Debian 11:'''&lt;br /&gt;
:&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
sudo -Hu paperless python3 manage.py migrate&lt;br /&gt;
sudo -Hu paperless python3 manage.py createsuperuser&lt;br /&gt;
sudo -Hu paperless python3 manage.py collectstatic&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
'''Debian 12:'''&lt;br /&gt;
:&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
sudo -Hu paperless /opt/paperless/venv/bin/python3 manage.py migrate&lt;br /&gt;
sudo -Hu paperless /opt/paperless/venv/bin/python3 manage.py createsuperuser&lt;br /&gt;
sudo -Hu paperless /opt/paperless/venv/bin/python3 manage.py collectstatic&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== ImageMagick konfigurieren ===&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
sudo vi /etc/ImageMagick-6/policy.xml&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;policy domain=&amp;quot;coder&amp;quot; rights=&amp;quot;read|write&amp;quot; pattern=&amp;quot;PDF&amp;quot; /&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
=== Systemd Services anlegen ===&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
cd ../scripts&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== paperless-consumer ====&lt;br /&gt;
'''Debian 12:'''&lt;br /&gt;
:&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
sudo vi paperless-consumer.service&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;ExecStart ersetzen:&lt;br /&gt;
:&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
ExecStart=/opt/paperless/venv/bin/python3 manage.py document_consumer&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
sudo ln -s /opt/paperless/scripts/paperless-consumer.service /etc/systemd/system/paperless-consumer.service&lt;br /&gt;
sudo systemctl daemon-reload&lt;br /&gt;
sudo systemctl enable --now paperless-consumer.service&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
systemctl status paperless-consumer.service&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;Sollte in etwa so aussehen:&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
● paperless-consumer.service - Paperless consumer&lt;br /&gt;
     Loaded: loaded (/etc/systemd/system/paperless-consumer.service; enabled; preset: enabled)&lt;br /&gt;
     Active: active (running) since Sat 2025-03-22 22:25:06 CET; 6s ago&lt;br /&gt;
   Main PID: 6715 (python3)&lt;br /&gt;
      Tasks: 11 (limit: 9472)&lt;br /&gt;
     Memory: 97.2M&lt;br /&gt;
        CPU: 1.518s&lt;br /&gt;
     CGroup: /system.slice/paperless-consumer.service&lt;br /&gt;
             └─6715 /opt/paperless/venv/bin/python3 manage.py document_consumer&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== paperless-scheduler ====&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
sudo vi paperless-scheduler.service&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;'''Debian 11:'''&lt;br /&gt;
:ExecStart ersetzen:&lt;br /&gt;
:&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
ExecStart=/opt/paperless/.local/bin/celery --app paperless beat --loglevel INFO&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
'''Debian 12:'''&lt;br /&gt;
:ExecStart ersetzen:&lt;br /&gt;
:&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
ExecStart=/opt/paperless/venv/bin/celery --app paperless beat --loglevel INFO&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
sudo ln -s /opt/paperless/scripts/paperless-scheduler.service /etc/systemd/system/paperless-scheduler.service&lt;br /&gt;
sudo systemctl daemon-reload&lt;br /&gt;
sudo systemctl enable --now paperless-scheduler.service&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
systemctl status paperless-scheduler.service&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;Sollte in etwa so aussehen:&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
● paperless-scheduler.service - Paperless Celery Beat&lt;br /&gt;
     Loaded: loaded (/etc/systemd/system/paperless-scheduler.service; enabled; preset: enabled)&lt;br /&gt;
     Active: active (running) since Sat 2025-03-22 22:29:33 CET; 4s ago&lt;br /&gt;
   Main PID: 6981 ([celery beat] -)&lt;br /&gt;
      Tasks: 22 (limit: 9472)&lt;br /&gt;
     Memory: 115.1M&lt;br /&gt;
        CPU: 1.831s&lt;br /&gt;
     CGroup: /system.slice/paperless-scheduler.service&lt;br /&gt;
             └─6981 &amp;quot;[celery beat] --app paperless beat --loglevel INFO&amp;quot;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== paperless-task-queue ====&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
sudo vi paperless-task-queue.service&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;'''Debian 11:'''&lt;br /&gt;
:ExecStart ersetzen:&lt;br /&gt;
:&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
ExecStart=/opt/paperless/.local/bin/celery --app paperless worker --loglevel INFO&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
'''Debian 12:'''&lt;br /&gt;
:ExecStart ersetzen:&lt;br /&gt;
:&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
ExecStart=/opt/paperless/venv/bin/celery --app paperless worker --loglevel INFO&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
sudo ln -s /opt/paperless/scripts/paperless-task-queue.service /etc/systemd/system/paperless-task-queue.service&lt;br /&gt;
sudo systemctl daemon-reload&lt;br /&gt;
sudo systemctl enable --now paperless-task-queue.service&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
systemctl status paperless-task-queue.service&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;Sollte in etwa so aussehen:&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
● paperless-task-queue.service - Paperless Celery Workers&lt;br /&gt;
     Loaded: loaded (/etc/systemd/system/paperless-task-queue.service; enabled; preset: enabled)&lt;br /&gt;
     Active: active (running) since Sat 2025-03-22 22:31:23 CET; 4s ago&lt;br /&gt;
   Main PID: 7122 ([celeryd: celer)&lt;br /&gt;
      Tasks: 24 (limit: 9472)&lt;br /&gt;
     Memory: 197.6M&lt;br /&gt;
        CPU: 2.177s&lt;br /&gt;
     CGroup: /system.slice/paperless-task-queue.service&lt;br /&gt;
             ├─7122 &amp;quot;[celeryd: celery@paperless-ngx-1:MainProcess] -active- (--app paperless worker --loglevel INFO)&amp;quot;&lt;br /&gt;
             ├─7153 &amp;quot;[celeryd: celery@paperless-ngx-1:ForkPoolWorker-1]&amp;quot;&lt;br /&gt;
             └─7154 &amp;quot;[celeryd: celery@paperless-ngx-1:ForkPoolWorker-2]&amp;quot;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
==== paperless-webserver ====&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
sudo vi paperless-webserver.service&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;'''Debian 11:'''&lt;br /&gt;
:exec ersetzen:&lt;br /&gt;
:&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
exec /opt/paperless/.local/bin/granian --interface asginl --ws &amp;quot;paperless.asgi:application&amp;quot;'&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
'''Debian 12:'''&lt;br /&gt;
:exec ersetzen:&lt;br /&gt;
:&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
exec /opt/paperless/venv/bin/granian --interface asginl --ws &amp;quot;paperless.asgi:application&amp;quot;'&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
sudo ln -s /opt/paperless/scripts/paperless-webserver.service /etc/systemd/system/paperless-webserver.service&lt;br /&gt;
sudo systemctl daemon-reload&lt;br /&gt;
sudo systemctl enable --now paperless-webserver.service&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
systemctl status paperless-webserver.service&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;Sollte in etwa so aussehen:&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
● paperless-webserver.service - Paperless webserver&lt;br /&gt;
     Loaded: loaded (/etc/systemd/system/paperless-webserver.service; enabled; preset: enabled)&lt;br /&gt;
     Active: active (running) since Sat 2025-03-22 22:34:41 CET; 3s ago&lt;br /&gt;
   Main PID: 7519 (granian asginl )&lt;br /&gt;
      Tasks: 18 (limit: 9472)&lt;br /&gt;
     Memory: 133.2M&lt;br /&gt;
        CPU: 1.746s&lt;br /&gt;
     CGroup: /system.slice/paperless-webserver.service&lt;br /&gt;
             ├─7519 &amp;quot;granian asginl :::8000 paperless.asgi:application&amp;quot;&lt;br /&gt;
             └─7521 &amp;quot;granian asginl :::8000 paperless.asgi:application worker-1&amp;quot;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Zusätzliche Pakete installieren ===&lt;br /&gt;
&lt;br /&gt;
==== stopwords &amp;amp; punkt_tab ====&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
cd ..&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Debian 11:'''&lt;br /&gt;
:&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
sudo -Hu paperless python3 -m nltk.downloader stopwords&lt;br /&gt;
sudo -Hu paperless python3 -m nltk.downloader punkt_tab&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
'''Debian 12:'''&lt;br /&gt;
:&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
sudo -Hu paperless /opt/paperless/venv/bin/python3 -m nltk.downloader stopwords&lt;br /&gt;
sudo -Hu paperless /opt/paperless/venv/bin/python3 -m nltk.downloader punkt_tab&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
sudo apt install tesseract-ocr-deu&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
sudo -Hu paperless vi /opt/paperless/paperless.conf&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
PAPERLESS_NLTK_DIR=/opt/paperless/nltk_data&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== jbig2enc ====&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
sudo apt install autotools-dev automake libtool libleptonica-dev&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
cd ~&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;'''Debian 11:'''&lt;br /&gt;
:&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
wget https://ftp.gnu.org/gnu/autoconf/autoconf-2.71.tar.xz&lt;br /&gt;
tar -xf autoconf-2.71.tar.xz&lt;br /&gt;
cd autoconf-2.71/&lt;br /&gt;
./configure&lt;br /&gt;
make -j$(nproc)&lt;br /&gt;
sudo make install &lt;br /&gt;
. ~/.profile&lt;br /&gt;
autoconf --version&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
git clone https://github.com/agl/jbig2enc&lt;br /&gt;
cd jbig2enc&lt;br /&gt;
./autogen.sh&lt;br /&gt;
./configure &amp;amp;&amp;amp; make -j$(nproc)&lt;br /&gt;
sudo make install&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;Für die Verarbeitung von Dokumenten in deutscher Sprache:&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
sudo apt install tesseract-ocr-deu&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
sudo -Hu paperless vi /opt/paperless/paperless.conf&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
PAPERLESS_OCR_LANGUAGE=deu+eng&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Tika / Gotenberg installieren (Docker) ====&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
sudo install -m 0755 -d /etc/apt/keyrings&lt;br /&gt;
sudo curl -fsSL https://download.docker.com/linux/debian/gpg -o /etc/apt/keyrings/docker.asc&lt;br /&gt;
sudo chmod a+r /etc/apt/keyrings/docker.asc&lt;br /&gt;
&lt;br /&gt;
echo \&lt;br /&gt;
  &amp;quot;deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.asc] https://download.docker.com/linux/debian \&lt;br /&gt;
  $(. /etc/os-release &amp;amp;&amp;amp; echo &amp;quot;$VERSION_CODENAME&amp;quot;) stable&amp;quot; | \&lt;br /&gt;
  sudo tee /etc/apt/sources.list.d/docker.list &amp;gt; /dev/null&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
sudo apt update&lt;br /&gt;
sudo apt install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
sudo docker pull apache/tika&lt;br /&gt;
sudo docker run -d --restart unless-stopped -p 127.0.0.1:9998:9998 apache/tika&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
sudo docker pull gotenberg/gotenberg:8&lt;br /&gt;
sudo docker run -d --restart unless-stopped -p 127.0.0.1:3000:3000 gotenberg/gotenberg:8&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
sudo -Hu paperless vi /opt/paperless/paperless.conf&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
# Tika settings&lt;br /&gt;
&lt;br /&gt;
PAPERLESS_TIKA_ENABLED=true&lt;br /&gt;
PAPERLESS_TIKA_ENDPOINT=http://localhost:9998&lt;br /&gt;
PAPERLESS_TIKA_GOTENBERG_ENDPOINT=http://localhost:3000&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Quellen ==&lt;br /&gt;
*[https://wiki.crowncloud.net/?How_to_Install_Python_3_11_on_Debian_11 wiki.crowncloud.net]&lt;br /&gt;
*[https://askubuntu.com/questions/1076846/how-to-install-newer-version-of-ghostscript-on-server-than-provided-from-ubuntu askubuntu.com]&lt;br /&gt;
*[https://docs.paperless-ngx.com/setup/#bare_metal docs.paperless-ngx.com]&lt;br /&gt;
*[https://docs.docker.com/engine/install/debian/ docs.docker.com/]&lt;br /&gt;
*[https://gotenberg.dev/docs/getting-started/installation gotenberg.dev]&lt;br /&gt;
*[https://hub.docker.com/r/apache/tika hub.docker.com]&lt;br /&gt;
&amp;lt;references /&amp;gt;&lt;/div&gt;</summary>
		<author><name>Robin Tönniges</name></author>
	</entry>
	<entry>
		<id>https://wiki.toenniges.de/index.php?title=Paperless-ngx_%22Bare_Metal%22_installieren_(Debian_11/12)&amp;diff=1844</id>
		<title>Paperless-ngx &quot;Bare Metal&quot; installieren (Debian 11/12)</title>
		<link rel="alternate" type="text/html" href="https://wiki.toenniges.de/index.php?title=Paperless-ngx_%22Bare_Metal%22_installieren_(Debian_11/12)&amp;diff=1844"/>
		<updated>2025-03-23T23:04:51Z</updated>

		<summary type="html">&lt;p&gt;Robin Tönniges: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Infobox&lt;br /&gt;
| Titel      = Testumgebung&lt;br /&gt;
| Bildname   = &lt;br /&gt;
| Bildbreite = &lt;br /&gt;
| Bildtext   = &lt;br /&gt;
| Stil            = 2&lt;br /&gt;
| Titelfarbe      = 6&lt;br /&gt;
| Abschnittsfarbe = &lt;br /&gt;
| Farbe           = &lt;br /&gt;
| Style           = &lt;br /&gt;
| Feldstyle       = &lt;br /&gt;
| Feldname1 = OS    | Daten1 = Debian 11.11/12.10&lt;br /&gt;
| Feldname3 = paperless-ngx (Dev)    | Daten3 = 2.15.0&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
Anleitung für die &amp;quot;Bare Metal&amp;quot; Installation von [https://docs.paperless-ngx.com/ paperless-ngx] mit dem Sourcecode vom [https://github.com/paperless-ngx/paperless-ngx Dev] oder [https://github.com/paperless-ngx/paperless-ngx/tree/beta Beta] Branch auf Debian 11 und 12.&lt;br /&gt;
==Abhängigkeiten installieren==&lt;br /&gt;
Das System auf den neusten Stand bringen:&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
sudo apt update&lt;br /&gt;
sudo apt upgrade&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
sudo apt install build-essential zlib1g-dev libncurses5-dev libgdbm-dev libnss3-dev libssl-dev libreadline-dev libffi-dev \&lt;br /&gt;
libpq-dev libsqlite3-dev libbz2-dev pkg-config libgdbm-compat-dev liblzma-dev tk-dev uuid-dev wget imagemagick unpaper \&lt;br /&gt;
fonts-liberation gnupg libpq-dev default-libmysqlclient-dev pkg-config libmagic-dev libzbar0 poppler-utils \&lt;br /&gt;
icc-profiles-free qpdf liblept5 libxml2 pngquant zlib1g tesseract-ocr redis git curl&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
===Python 3.11 installieren===&lt;br /&gt;
'''Debian 11:'''&lt;br /&gt;
:&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
wget https://www.python.org/ftp/python/3.11.11/Python-3.11.11.tgz&lt;br /&gt;
tar -xvf Python-3.11.11.tgz&lt;br /&gt;
cd Python-3.11.11&lt;br /&gt;
./configure --enable-optimizations&lt;br /&gt;
make -j$(nproc)&lt;br /&gt;
sudo make install&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
'''Debian 12:'''&lt;br /&gt;
:&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
sudo apt install python3.11 python3.11-venv python3-pip python3-setuptools python3-wheel&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
===Ghostscript 10.05 installieren===&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
wget https://github.com/ArtifexSoftware/ghostpdl-downloads/releases/download/gs10050/ghostscript-10.05.0.tar.gz&lt;br /&gt;
tar -xvf ghostscript-10.05.0.tar.gz&lt;br /&gt;
cd ghostscript-10.05.0&lt;br /&gt;
./configure --without-x&lt;br /&gt;
make -j$(nproc)&lt;br /&gt;
sudo make install&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
== Paperless-ngx installieren ==&lt;br /&gt;
Paperless Benutzer erstellen und Repository klonen:&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
sudo adduser paperless --system --home /opt/paperless --group&lt;br /&gt;
cd /opt/paperless&lt;br /&gt;
sudo -Hu paperless git clone https://github.com/paperless-ngx/paperless-ngx.git .&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
sudo -Hu paperless mkdir consume media&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
'''Debian 11:'''&lt;br /&gt;
:&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
sudo -Hu paperless pip3 install uv&lt;br /&gt;
sudo -Hu paperless uv export --no-dev --all-extras --format requirements-txt --output-file requirements.txt&lt;br /&gt;
sudo -Hu paperless pip3 install -r requirements.txt&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
'''Debian 12:'''&lt;br /&gt;
:&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
sudo -Hu paperless python3 -m venv /opt/paperless/venv&lt;br /&gt;
sudo -Hu paperless /opt/paperless/venv/bin/pip3 install uv&lt;br /&gt;
sudo -Hu paperless /opt/paperless/venv/bin/uv export --no-dev --all-extras --format requirements-txt --output-file requirements.txt&lt;br /&gt;
sudo -Hu paperless /opt/paperless/venv/bin/pip3 install -r requirements.txt&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
sudo -Hu paperless cp paperless.conf.example paperless.conf&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
sudo -Hu paperless vi paperless.conf&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
PAPERLESS_SECRET_KEY=change-me&lt;br /&gt;
&lt;br /&gt;
PAPERLESS_CONSUMPTION_DIR=/mnt/paperless-store/consume&lt;br /&gt;
PAPERLESS_DATA_DIR=/mnt/paperless-store/data&lt;br /&gt;
PAPERLESS_MEDIA_ROOT=/mnt/paperless-store/media&lt;br /&gt;
&lt;br /&gt;
PAPERLESS_TIME_ZONE=Europe/Berlin&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;Wenn du postgresql statt sqlite verwendet möchtest:&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
PAPERLESS_DBHOST=127.0.0.1 # Use postgresql&lt;br /&gt;
PAPERLESS_DBNAME=db_paperless&lt;br /&gt;
#PAPERLESS_DBUSER=paperless&lt;br /&gt;
PAPERLESS_DBPASS=&amp;lt;password&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
sudo apt install postgresql&lt;br /&gt;
sudo -u postgres psql&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&amp;lt;syntaxhighlight lang=&amp;quot;sql&amp;quot;&amp;gt;&lt;br /&gt;
CREATE DATABASE db_paperless;&lt;br /&gt;
CREATE USER paperless WITH ENCRYPTED PASSWORD '&amp;lt;password&amp;gt;';&lt;br /&gt;
GRANT ALL ON DATABASE db_paperless TO paperless;&lt;br /&gt;
\c db_paperless&lt;br /&gt;
GRANT ALL ON SCHEMA public TO paperless;&lt;br /&gt;
\q&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Frontend ===&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
cd src-ui&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
'''Debian 11:'''&lt;br /&gt;
:&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
sudo curl -sL https://deb.nodesource.com/setup_18.x | sudo -E bash -&lt;br /&gt;
sudo apt install nodejs&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
'''Debian 12:'''&lt;br /&gt;
:&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
sudo apt install nodejs&lt;br /&gt;
sudo apt install npm&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
sudo npm install -g @angular/cli&lt;br /&gt;
sudo npm install -g pnpm&lt;br /&gt;
sudo -Hu paperless pnpm install&lt;br /&gt;
&lt;br /&gt;
sudo -Hu paperless ng build --configuration production&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Backend ===&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
cd ../src&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
'''Debian 11:'''&lt;br /&gt;
:&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
sudo -Hu paperless python3 manage.py migrate&lt;br /&gt;
sudo -Hu paperless python3 manage.py createsuperuser&lt;br /&gt;
sudo -Hu paperless python3 manage.py collectstatic&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
'''Debian 12:'''&lt;br /&gt;
:&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
sudo -Hu paperless /opt/paperless/venv/bin/python3 manage.py migrate&lt;br /&gt;
sudo -Hu paperless /opt/paperless/venv/bin/python3 manage.py createsuperuser&lt;br /&gt;
sudo -Hu paperless /opt/paperless/venv/bin/python3 manage.py collectstatic&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== ImageMagick konfigurieren ===&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
sudo vi /etc/ImageMagick-6/policy.xml&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;policy domain=&amp;quot;coder&amp;quot; rights=&amp;quot;read|write&amp;quot; pattern=&amp;quot;PDF&amp;quot; /&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
=== Systemd Services anlegen ===&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
cd ../scripts&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== paperless-consumer ====&lt;br /&gt;
'''Debian 12:'''&lt;br /&gt;
:&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
sudo vi paperless-consumer.service&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;ExecStart ersetzen:&lt;br /&gt;
:&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
ExecStart=/opt/paperless/venv/bin/python3 manage.py document_consumer&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
sudo ln -s /opt/paperless/scripts/paperless-consumer.service /etc/systemd/system/paperless-consumer.service&lt;br /&gt;
sudo systemctl daemon-reload&lt;br /&gt;
sudo systemctl enable --now paperless-consumer.service&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
systemctl status paperless-consumer.service&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;Sollte in etwa so aussehen:&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
● paperless-consumer.service - Paperless consumer&lt;br /&gt;
     Loaded: loaded (/etc/systemd/system/paperless-consumer.service; enabled; preset: enabled)&lt;br /&gt;
     Active: active (running) since Sat 2025-03-22 22:25:06 CET; 6s ago&lt;br /&gt;
   Main PID: 6715 (python3)&lt;br /&gt;
      Tasks: 11 (limit: 9472)&lt;br /&gt;
     Memory: 97.2M&lt;br /&gt;
        CPU: 1.518s&lt;br /&gt;
     CGroup: /system.slice/paperless-consumer.service&lt;br /&gt;
             └─6715 /opt/paperless/venv/bin/python3 manage.py document_consumer&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== paperless-scheduler ====&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
sudo vi paperless-scheduler.service&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;'''Debian 11:'''&lt;br /&gt;
:ExecStart ersetzen:&lt;br /&gt;
:&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
ExecStart=/opt/paperless/.local/bin/celery --app paperless beat --loglevel INFO&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
'''Debian 12:'''&lt;br /&gt;
:ExecStart ersetzen:&lt;br /&gt;
:&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
ExecStart=/opt/paperless/venv/bin/celery --app paperless beat --loglevel INFO&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
sudo ln -s /opt/paperless/scripts/paperless-scheduler.service /etc/systemd/system/paperless-scheduler.service&lt;br /&gt;
sudo systemctl daemon-reload&lt;br /&gt;
sudo systemctl enable --now paperless-scheduler.service&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
systemctl status paperless-scheduler.service&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;Sollte in etwa so aussehen:&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
● paperless-scheduler.service - Paperless Celery Beat&lt;br /&gt;
     Loaded: loaded (/etc/systemd/system/paperless-scheduler.service; enabled; preset: enabled)&lt;br /&gt;
     Active: active (running) since Sat 2025-03-22 22:29:33 CET; 4s ago&lt;br /&gt;
   Main PID: 6981 ([celery beat] -)&lt;br /&gt;
      Tasks: 22 (limit: 9472)&lt;br /&gt;
     Memory: 115.1M&lt;br /&gt;
        CPU: 1.831s&lt;br /&gt;
     CGroup: /system.slice/paperless-scheduler.service&lt;br /&gt;
             └─6981 &amp;quot;[celery beat] --app paperless beat --loglevel INFO&amp;quot;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== paperless-task-queue ====&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
sudo vi paperless-task-queue.service&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;'''Debian 11:'''&lt;br /&gt;
:ExecStart ersetzen:&lt;br /&gt;
:&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
ExecStart=/opt/paperless/.local/bin/celery --app paperless worker --loglevel INFO&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
'''Debian 12:'''&lt;br /&gt;
:ExecStart ersetzen:&lt;br /&gt;
:&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
ExecStart=/opt/paperless/venv/bin/celery --app paperless worker --loglevel INFO&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
sudo ln -s /opt/paperless/scripts/paperless-task-queue.service /etc/systemd/system/paperless-task-queue.service&lt;br /&gt;
sudo systemctl daemon-reload&lt;br /&gt;
sudo systemctl enable --now paperless-task-queue.service&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
systemctl status paperless-task-queue.service&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;Sollte in etwa so aussehen:&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
● paperless-task-queue.service - Paperless Celery Workers&lt;br /&gt;
     Loaded: loaded (/etc/systemd/system/paperless-task-queue.service; enabled; preset: enabled)&lt;br /&gt;
     Active: active (running) since Sat 2025-03-22 22:31:23 CET; 4s ago&lt;br /&gt;
   Main PID: 7122 ([celeryd: celer)&lt;br /&gt;
      Tasks: 24 (limit: 9472)&lt;br /&gt;
     Memory: 197.6M&lt;br /&gt;
        CPU: 2.177s&lt;br /&gt;
     CGroup: /system.slice/paperless-task-queue.service&lt;br /&gt;
             ├─7122 &amp;quot;[celeryd: celery@paperless-ngx-1:MainProcess] -active- (--app paperless worker --loglevel INFO)&amp;quot;&lt;br /&gt;
             ├─7153 &amp;quot;[celeryd: celery@paperless-ngx-1:ForkPoolWorker-1]&amp;quot;&lt;br /&gt;
             └─7154 &amp;quot;[celeryd: celery@paperless-ngx-1:ForkPoolWorker-2]&amp;quot;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
==== paperless-webserver ====&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
sudo vi paperless-webserver.service&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;'''Debian 11:'''&lt;br /&gt;
:exec ersetzen:&lt;br /&gt;
:&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
exec /opt/paperless/.local/bin/granian --interface asginl --ws &amp;quot;paperless.asgi:application&amp;quot;'&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
'''Debian 12:'''&lt;br /&gt;
:exec ersetzen:&lt;br /&gt;
:&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
exec /opt/paperless/venv/bin/granian --interface asginl --ws &amp;quot;paperless.asgi:application&amp;quot;'&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
sudo ln -s /opt/paperless/scripts/paperless-webserver.service /etc/systemd/system/paperless-webserver.service&lt;br /&gt;
sudo systemctl daemon-reload&lt;br /&gt;
sudo systemctl enable --now paperless-webserver.service&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
systemctl status paperless-webserver.service&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;Sollte in etwa so aussehen:&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
● paperless-webserver.service - Paperless webserver&lt;br /&gt;
     Loaded: loaded (/etc/systemd/system/paperless-webserver.service; enabled; preset: enabled)&lt;br /&gt;
     Active: active (running) since Sat 2025-03-22 22:34:41 CET; 3s ago&lt;br /&gt;
   Main PID: 7519 (granian asginl )&lt;br /&gt;
      Tasks: 18 (limit: 9472)&lt;br /&gt;
     Memory: 133.2M&lt;br /&gt;
        CPU: 1.746s&lt;br /&gt;
     CGroup: /system.slice/paperless-webserver.service&lt;br /&gt;
             ├─7519 &amp;quot;granian asginl :::8000 paperless.asgi:application&amp;quot;&lt;br /&gt;
             └─7521 &amp;quot;granian asginl :::8000 paperless.asgi:application worker-1&amp;quot;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Zusätzliche Pakete installieren ===&lt;br /&gt;
&lt;br /&gt;
==== stopwords &amp;amp; punkt_tab ====&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
cd ..&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Debian 11:'''&lt;br /&gt;
:&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
sudo -Hu paperless python3 -m nltk.downloader stopwords&lt;br /&gt;
sudo -Hu paperless python3 -m nltk.downloader punkt_tab&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
'''Debian 12:'''&lt;br /&gt;
:&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
sudo -Hu paperless /opt/paperless/venv/bin/python3 -m nltk.downloader stopwords&lt;br /&gt;
sudo -Hu paperless /opt/paperless/venv/bin/python3 -m nltk.downloader punkt_tab&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
sudo apt install tesseract-ocr-deu&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
sudo -Hu paperless vi /opt/paperless/paperless.conf&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
PAPERLESS_NLTK_DIR=/opt/paperless/nltk_data&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== jbig2enc ====&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
sudo apt install autotools-dev automake libtool libleptonica-dev&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
cd ~&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;'''Debian 11:'''&lt;br /&gt;
:&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
wget https://ftp.gnu.org/gnu/autoconf/autoconf-2.71.tar.xz&lt;br /&gt;
tar -xf autoconf-2.71.tar.xz&lt;br /&gt;
cd autoconf-2.71/&lt;br /&gt;
./configure&lt;br /&gt;
make -j$(nproc)&lt;br /&gt;
sudo make install &lt;br /&gt;
. ~/.profile&lt;br /&gt;
autoconf --version&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
git clone https://github.com/agl/jbig2enc&lt;br /&gt;
cd jbig2enc&lt;br /&gt;
./autogen.sh&lt;br /&gt;
./configure &amp;amp;&amp;amp; make -j$(nproc)&lt;br /&gt;
sudo make install&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;Für die Verarbeitung von Dokumenten in deutscher Sprache:&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
sudo apt install tesseract-ocr-deu&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
sudo -Hu paperless vi /opt/paperless/paperless.conf&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
PAPERLESS_OCR_LANGUAGE=deu+eng&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Tika / Gotenberg installieren (Docker) ====&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
sudo install -m 0755 -d /etc/apt/keyrings&lt;br /&gt;
sudo curl -fsSL https://download.docker.com/linux/debian/gpg -o /etc/apt/keyrings/docker.asc&lt;br /&gt;
sudo chmod a+r /etc/apt/keyrings/docker.asc&lt;br /&gt;
&lt;br /&gt;
echo \&lt;br /&gt;
  &amp;quot;deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.asc] https://download.docker.com/linux/debian \&lt;br /&gt;
  $(. /etc/os-release &amp;amp;&amp;amp; echo &amp;quot;$VERSION_CODENAME&amp;quot;) stable&amp;quot; | \&lt;br /&gt;
  sudo tee /etc/apt/sources.list.d/docker.list &amp;gt; /dev/null&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
sudo apt update&lt;br /&gt;
sudo apt install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
sudo docker pull apache/tika&lt;br /&gt;
sudo docker run -d --restart unless-stopped -p 127.0.0.1:9998:9998 apache/tika&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
sudo docker pull gotenberg/gotenberg:8&lt;br /&gt;
sudo docker run -d --restart unless-stopped -p 127.0.0.1:3000:3000 gotenberg/gotenberg:8&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
sudo -Hu paperless vi /opt/paperless/paperless.conf&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
# Tika settings&lt;br /&gt;
&lt;br /&gt;
PAPERLESS_TIKA_ENABLED=true&lt;br /&gt;
PAPERLESS_TIKA_ENDPOINT=http://localhost:9998&lt;br /&gt;
PAPERLESS_TIKA_GOTENBERG_ENDPOINT=http://localhost:3000&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Quellen ==&lt;br /&gt;
*[https://wiki.crowncloud.net/?How_to_Install_Python_3_11_on_Debian_11 wiki.crowncloud.net]&lt;br /&gt;
*[https://askubuntu.com/questions/1076846/how-to-install-newer-version-of-ghostscript-on-server-than-provided-from-ubuntu askubuntu.com]&lt;br /&gt;
*[https://docs.paperless-ngx.com/setup/#bare_metal docs.paperless-ngx.com]&lt;br /&gt;
*[https://docs.docker.com/engine/install/debian/ docs.docker.com/]&lt;br /&gt;
*[https://gotenberg.dev/docs/getting-started/installation gotenberg.dev]&lt;br /&gt;
*[https://hub.docker.com/r/apache/tika hub.docker.com]&lt;br /&gt;
&amp;lt;references /&amp;gt;&lt;/div&gt;</summary>
		<author><name>Robin Tönniges</name></author>
	</entry>
	<entry>
		<id>https://wiki.toenniges.de/index.php?title=Paperless-ngx_%22Bare_Metal%22_installieren_(Debian_11/12)&amp;diff=1843</id>
		<title>Paperless-ngx &quot;Bare Metal&quot; installieren (Debian 11/12)</title>
		<link rel="alternate" type="text/html" href="https://wiki.toenniges.de/index.php?title=Paperless-ngx_%22Bare_Metal%22_installieren_(Debian_11/12)&amp;diff=1843"/>
		<updated>2025-03-23T17:40:59Z</updated>

		<summary type="html">&lt;p&gt;Robin Tönniges: /* Quellen */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Infobox&lt;br /&gt;
| Titel      = Testumgebung&lt;br /&gt;
| Bildname   = &lt;br /&gt;
| Bildbreite = &lt;br /&gt;
| Bildtext   = &lt;br /&gt;
| Stil            = 2&lt;br /&gt;
| Titelfarbe      = 6&lt;br /&gt;
| Abschnittsfarbe = &lt;br /&gt;
| Farbe           = &lt;br /&gt;
| Style           = &lt;br /&gt;
| Feldstyle       = &lt;br /&gt;
| Feldname1 = OS    | Daten1 = Debian 11.11/12.10&lt;br /&gt;
| Feldname3 = paperless-ngx (Dev)    | Daten3 = 2.15.0&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
Anleitung für die &amp;quot;Bare Metal&amp;quot; Installation von [https://docs.paperless-ngx.com/ paperless-ngx] mit dem Sourcecode vom [https://github.com/paperless-ngx/paperless-ngx Dev] oder [https://github.com/paperless-ngx/paperless-ngx/tree/beta Beta] Branch auf Debian 11 und 12.&lt;br /&gt;
==Abhängigkeiten installieren==&lt;br /&gt;
Das System auf den neusten Stand bringen:&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
sudo apt update&lt;br /&gt;
sudo apt upgrade&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
sudo apt install build-essential zlib1g-dev libncurses5-dev libgdbm-dev libnss3-dev libssl-dev libreadline-dev libffi-dev \&lt;br /&gt;
libpq-dev libsqlite3-dev libbz2-dev pkg-config libgdbm-compat-dev liblzma-dev tk-dev uuid-dev wget imagemagick unpaper \&lt;br /&gt;
fonts-liberation gnupg libpq-dev default-libmysqlclient-dev pkg-config libmagic-dev libzbar0 poppler-utils \&lt;br /&gt;
icc-profiles-free qpdf liblept5 libxml2 pngquant zlib1g tesseract-ocr python3-setuptools python3-wheel redis git curl&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
===Python 3.11 installieren===&lt;br /&gt;
'''Debian 11:'''&lt;br /&gt;
:&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
wget https://www.python.org/ftp/python/3.11.11/Python-3.11.11.tgz&lt;br /&gt;
tar -xvf Python-3.11.11.tgz&lt;br /&gt;
cd Python-3.11.11&lt;br /&gt;
./configure --enable-optimizations&lt;br /&gt;
make -j$(nproc)&lt;br /&gt;
sudo make install&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
'''Debian 12:'''&lt;br /&gt;
:&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
sudo apt install python3.11 python3.11-venv python3-pip&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
===Ghostscript 10.05 installieren===&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
wget https://github.com/ArtifexSoftware/ghostpdl-downloads/releases/download/gs10050/ghostscript-10.05.0.tar.gz&lt;br /&gt;
tar -xvf ghostscript-10.05.0.tar.gz&lt;br /&gt;
cd ghostscript-10.05.0&lt;br /&gt;
./configure --without-x&lt;br /&gt;
make -j$(nproc)&lt;br /&gt;
sudo make install&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
== Paperless-ngx installieren ==&lt;br /&gt;
Paperless Benutzer erstellen und Repository klonen:&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
sudo adduser paperless --system --home /opt/paperless --group&lt;br /&gt;
cd /opt/paperless&lt;br /&gt;
sudo -Hu paperless git clone https://github.com/paperless-ngx/paperless-ngx.git .&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
sudo -Hu paperless mkdir consume media&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
'''Debian 11:'''&lt;br /&gt;
:&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
sudo -Hu paperless pip3 install uv&lt;br /&gt;
sudo -Hu paperless uv export --no-dev --all-extras --format requirements-txt --output-file requirements.txt&lt;br /&gt;
sudo -Hu paperless pip3 install -r requirements.txt&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
'''Debian 12:'''&lt;br /&gt;
:&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
sudo -Hu paperless python3 -m venv /opt/paperless/venv&lt;br /&gt;
sudo -Hu paperless /opt/paperless/venv/bin/pip3 install uv&lt;br /&gt;
sudo -Hu paperless /opt/paperless/venv/bin/uv export --no-dev --all-extras --format requirements-txt --output-file requirements.txt&lt;br /&gt;
sudo -Hu paperless /opt/paperless/venv/bin/pip3 install -r requirements.txt&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
sudo -Hu paperless cp paperless.conf.example paperless.conf&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
sudo -Hu paperless vi paperless.conf&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
PAPERLESS_SECRET_KEY=change-me&lt;br /&gt;
&lt;br /&gt;
PAPERLESS_CONSUMPTION_DIR=/mnt/paperless-store/consume&lt;br /&gt;
PAPERLESS_DATA_DIR=/mnt/paperless-store/data&lt;br /&gt;
PAPERLESS_MEDIA_ROOT=/mnt/paperless-store/media&lt;br /&gt;
&lt;br /&gt;
PAPERLESS_TIME_ZONE=Europe/Berlin&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;Wenn du postgresql statt sqlite verwendet möchtest:&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
PAPERLESS_DBHOST=127.0.0.1 # Use postgresql&lt;br /&gt;
PAPERLESS_DBNAME=db_paperless&lt;br /&gt;
#PAPERLESS_DBUSER=paperless&lt;br /&gt;
PAPERLESS_DBPASS=&amp;lt;password&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
sudo apt install postgresql&lt;br /&gt;
sudo -u postgres psql&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&amp;lt;syntaxhighlight lang=&amp;quot;sql&amp;quot;&amp;gt;&lt;br /&gt;
CREATE DATABASE db_paperless;&lt;br /&gt;
CREATE USER paperless WITH ENCRYPTED PASSWORD '&amp;lt;password&amp;gt;';&lt;br /&gt;
GRANT ALL ON DATABASE db_paperless TO paperless;&lt;br /&gt;
\c db_paperless&lt;br /&gt;
GRANT ALL ON SCHEMA public TO paperless;&lt;br /&gt;
\q&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Frontend ===&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
cd src-ui&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
'''Debian 11:'''&lt;br /&gt;
:&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
sudo curl -sL https://deb.nodesource.com/setup_18.x | sudo -E bash -&lt;br /&gt;
sudo apt install nodejs&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
'''Debian 12:'''&lt;br /&gt;
:&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
sudo apt install nodejs&lt;br /&gt;
sudo apt install npm&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
sudo npm install -g @angular/cli&lt;br /&gt;
sudo npm install -g pnpm&lt;br /&gt;
sudo -Hu paperless pnpm install&lt;br /&gt;
&lt;br /&gt;
sudo -Hu paperless ng build --configuration production&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Backend ===&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
cd ../src&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
'''Debian 11:'''&lt;br /&gt;
:&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
sudo -Hu paperless python3 manage.py migrate&lt;br /&gt;
sudo -Hu paperless python3 manage.py createsuperuser&lt;br /&gt;
sudo -Hu paperless python3 manage.py collectstatic&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
'''Debian 12:'''&lt;br /&gt;
:&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
sudo -Hu paperless /opt/paperless/venv/bin/python3 manage.py migrate&lt;br /&gt;
sudo -Hu paperless /opt/paperless/venv/bin/python3 manage.py createsuperuser&lt;br /&gt;
sudo -Hu paperless /opt/paperless/venv/bin/python3 manage.py collectstatic&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== ImageMagick konfigurieren ===&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
sudo vi /etc/ImageMagick-6/policy.xml&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;policy domain=&amp;quot;coder&amp;quot; rights=&amp;quot;read|write&amp;quot; pattern=&amp;quot;PDF&amp;quot; /&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
=== Systemd Services anlegen ===&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
cd ../scripts&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== paperless-consumer ====&lt;br /&gt;
'''Debian 12:'''&lt;br /&gt;
:&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
sudo vi paperless-consumer.service&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;ExecStart ersetzen:&lt;br /&gt;
:&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
ExecStart=/opt/paperless/venv/bin/python3 manage.py document_consumer&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
sudo ln -s /opt/paperless/scripts/paperless-consumer.service /etc/systemd/system/paperless-consumer.service&lt;br /&gt;
sudo systemctl daemon-reload&lt;br /&gt;
sudo systemctl enable --now paperless-consumer.service&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
systemctl status paperless-consumer.service&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;Sollte in etwa so aussehen:&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
● paperless-consumer.service - Paperless consumer&lt;br /&gt;
     Loaded: loaded (/etc/systemd/system/paperless-consumer.service; enabled; preset: enabled)&lt;br /&gt;
     Active: active (running) since Sat 2025-03-22 22:25:06 CET; 6s ago&lt;br /&gt;
   Main PID: 6715 (python3)&lt;br /&gt;
      Tasks: 11 (limit: 9472)&lt;br /&gt;
     Memory: 97.2M&lt;br /&gt;
        CPU: 1.518s&lt;br /&gt;
     CGroup: /system.slice/paperless-consumer.service&lt;br /&gt;
             └─6715 /opt/paperless/venv/bin/python3 manage.py document_consumer&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== paperless-scheduler ====&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
sudo vi paperless-scheduler.service&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;'''Debian 11:'''&lt;br /&gt;
:ExecStart ersetzen:&lt;br /&gt;
:&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
ExecStart=/opt/paperless/.local/bin/celery --app paperless beat --loglevel INFO&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
'''Debian 12:'''&lt;br /&gt;
:ExecStart ersetzen:&lt;br /&gt;
:&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
ExecStart=/opt/paperless/venv/bin/celery --app paperless beat --loglevel INFO&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
sudo ln -s /opt/paperless/scripts/paperless-scheduler.service /etc/systemd/system/paperless-scheduler.service&lt;br /&gt;
sudo systemctl daemon-reload&lt;br /&gt;
sudo systemctl enable --now paperless-scheduler.service&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
systemctl status paperless-scheduler.service&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;Sollte in etwa so aussehen:&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
● paperless-scheduler.service - Paperless Celery Beat&lt;br /&gt;
     Loaded: loaded (/etc/systemd/system/paperless-scheduler.service; enabled; preset: enabled)&lt;br /&gt;
     Active: active (running) since Sat 2025-03-22 22:29:33 CET; 4s ago&lt;br /&gt;
   Main PID: 6981 ([celery beat] -)&lt;br /&gt;
      Tasks: 22 (limit: 9472)&lt;br /&gt;
     Memory: 115.1M&lt;br /&gt;
        CPU: 1.831s&lt;br /&gt;
     CGroup: /system.slice/paperless-scheduler.service&lt;br /&gt;
             └─6981 &amp;quot;[celery beat] --app paperless beat --loglevel INFO&amp;quot;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== paperless-task-queue ====&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
sudo vi paperless-task-queue.service&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;'''Debian 11:'''&lt;br /&gt;
:ExecStart ersetzen:&lt;br /&gt;
:&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
ExecStart=/opt/paperless/.local/bin/celery --app paperless worker --loglevel INFO&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
'''Debian 12:'''&lt;br /&gt;
:ExecStart ersetzen:&lt;br /&gt;
:&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
ExecStart=/opt/paperless/venv/bin/celery --app paperless worker --loglevel INFO&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
sudo ln -s /opt/paperless/scripts/paperless-task-queue.service /etc/systemd/system/paperless-task-queue.service&lt;br /&gt;
sudo systemctl daemon-reload&lt;br /&gt;
sudo systemctl enable --now paperless-task-queue.service&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
systemctl status paperless-task-queue.service&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;Sollte in etwa so aussehen:&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
● paperless-task-queue.service - Paperless Celery Workers&lt;br /&gt;
     Loaded: loaded (/etc/systemd/system/paperless-task-queue.service; enabled; preset: enabled)&lt;br /&gt;
     Active: active (running) since Sat 2025-03-22 22:31:23 CET; 4s ago&lt;br /&gt;
   Main PID: 7122 ([celeryd: celer)&lt;br /&gt;
      Tasks: 24 (limit: 9472)&lt;br /&gt;
     Memory: 197.6M&lt;br /&gt;
        CPU: 2.177s&lt;br /&gt;
     CGroup: /system.slice/paperless-task-queue.service&lt;br /&gt;
             ├─7122 &amp;quot;[celeryd: celery@paperless-ngx-1:MainProcess] -active- (--app paperless worker --loglevel INFO)&amp;quot;&lt;br /&gt;
             ├─7153 &amp;quot;[celeryd: celery@paperless-ngx-1:ForkPoolWorker-1]&amp;quot;&lt;br /&gt;
             └─7154 &amp;quot;[celeryd: celery@paperless-ngx-1:ForkPoolWorker-2]&amp;quot;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
==== paperless-webserver ====&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
sudo vi paperless-webserver.service&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;'''Debian 11:'''&lt;br /&gt;
:exec ersetzen:&lt;br /&gt;
:&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
exec /opt/paperless/.local/bin/granian --interface asginl --ws &amp;quot;paperless.asgi:application&amp;quot;'&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
'''Debian 12:'''&lt;br /&gt;
:exec ersetzen:&lt;br /&gt;
:&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
exec /opt/paperless/venv/bin/granian --interface asginl --ws &amp;quot;paperless.asgi:application&amp;quot;'&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
sudo ln -s /opt/paperless/scripts/paperless-webserver.service /etc/systemd/system/paperless-webserver.service&lt;br /&gt;
sudo systemctl daemon-reload&lt;br /&gt;
sudo systemctl enable --now paperless-webserver.service&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
systemctl status paperless-webserver.service&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;Sollte in etwa so aussehen:&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
● paperless-webserver.service - Paperless webserver&lt;br /&gt;
     Loaded: loaded (/etc/systemd/system/paperless-webserver.service; enabled; preset: enabled)&lt;br /&gt;
     Active: active (running) since Sat 2025-03-22 22:34:41 CET; 3s ago&lt;br /&gt;
   Main PID: 7519 (granian asginl )&lt;br /&gt;
      Tasks: 18 (limit: 9472)&lt;br /&gt;
     Memory: 133.2M&lt;br /&gt;
        CPU: 1.746s&lt;br /&gt;
     CGroup: /system.slice/paperless-webserver.service&lt;br /&gt;
             ├─7519 &amp;quot;granian asginl :::8000 paperless.asgi:application&amp;quot;&lt;br /&gt;
             └─7521 &amp;quot;granian asginl :::8000 paperless.asgi:application worker-1&amp;quot;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Zusätzliche Pakete installieren ===&lt;br /&gt;
&lt;br /&gt;
==== stopwords &amp;amp; punkt_tab ====&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
cd ..&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Debian 11:'''&lt;br /&gt;
:&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
sudo -Hu paperless python3 -m nltk.downloader stopwords&lt;br /&gt;
sudo -Hu paperless python3 -m nltk.downloader punkt_tab&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
'''Debian 12:'''&lt;br /&gt;
:&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
sudo -Hu paperless /opt/paperless/venv/bin/python3 -m nltk.downloader stopwords&lt;br /&gt;
sudo -Hu paperless /opt/paperless/venv/bin/python3 -m nltk.downloader punkt_tab&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
sudo apt install tesseract-ocr-deu&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
sudo -Hu paperless vi /opt/paperless/paperless.conf&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
PAPERLESS_NLTK_DIR=/opt/paperless/nltk_data&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== jbig2enc ====&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
sudo apt install autotools-dev automake libtool libleptonica-dev&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
cd ~&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;'''Debian 11:'''&lt;br /&gt;
:&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
wget https://ftp.gnu.org/gnu/autoconf/autoconf-2.71.tar.xz&lt;br /&gt;
tar -xf autoconf-2.71.tar.xz&lt;br /&gt;
cd autoconf-2.71/&lt;br /&gt;
./configure&lt;br /&gt;
make -j$(nproc)&lt;br /&gt;
sudo make install &lt;br /&gt;
. ~/.profile&lt;br /&gt;
autoconf --version&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
git clone https://github.com/agl/jbig2enc&lt;br /&gt;
cd jbig2enc&lt;br /&gt;
./autogen.sh&lt;br /&gt;
./configure &amp;amp;&amp;amp; make -j$(nproc)&lt;br /&gt;
sudo make install&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;Für die Verarbeitung von Dokumenten in deutscher Sprache:&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
sudo apt install tesseract-ocr-deu&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
sudo -Hu paperless vi /opt/paperless/paperless.conf&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
PAPERLESS_OCR_LANGUAGE=deu+eng&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Tika / Gotenberg installieren (Docker) ====&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
sudo install -m 0755 -d /etc/apt/keyrings&lt;br /&gt;
sudo curl -fsSL https://download.docker.com/linux/debian/gpg -o /etc/apt/keyrings/docker.asc&lt;br /&gt;
sudo chmod a+r /etc/apt/keyrings/docker.asc&lt;br /&gt;
&lt;br /&gt;
echo \&lt;br /&gt;
  &amp;quot;deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.asc] https://download.docker.com/linux/debian \&lt;br /&gt;
  $(. /etc/os-release &amp;amp;&amp;amp; echo &amp;quot;$VERSION_CODENAME&amp;quot;) stable&amp;quot; | \&lt;br /&gt;
  sudo tee /etc/apt/sources.list.d/docker.list &amp;gt; /dev/null&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
sudo apt update&lt;br /&gt;
sudo apt install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
sudo docker pull apache/tika&lt;br /&gt;
sudo docker run -d --restart unless-stopped -p 127.0.0.1:9998:9998 apache/tika&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
sudo docker pull gotenberg/gotenberg:8&lt;br /&gt;
sudo docker run -d --restart unless-stopped -p 127.0.0.1:3000:3000 gotenberg/gotenberg:8&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
sudo -Hu paperless vi /opt/paperless/paperless.conf&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
# Tika settings&lt;br /&gt;
&lt;br /&gt;
PAPERLESS_TIKA_ENABLED=true&lt;br /&gt;
PAPERLESS_TIKA_ENDPOINT=http://localhost:9998&lt;br /&gt;
PAPERLESS_TIKA_GOTENBERG_ENDPOINT=http://localhost:3000&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Quellen ==&lt;br /&gt;
*[https://wiki.crowncloud.net/?How_to_Install_Python_3_11_on_Debian_11 wiki.crowncloud.net]&lt;br /&gt;
*[https://askubuntu.com/questions/1076846/how-to-install-newer-version-of-ghostscript-on-server-than-provided-from-ubuntu askubuntu.com]&lt;br /&gt;
*[https://docs.paperless-ngx.com/setup/#bare_metal docs.paperless-ngx.com]&lt;br /&gt;
*[https://docs.docker.com/engine/install/debian/ docs.docker.com/]&lt;br /&gt;
*[https://gotenberg.dev/docs/getting-started/installation gotenberg.dev]&lt;br /&gt;
*[https://hub.docker.com/r/apache/tika hub.docker.com]&lt;br /&gt;
&amp;lt;references /&amp;gt;&lt;/div&gt;</summary>
		<author><name>Robin Tönniges</name></author>
	</entry>
	<entry>
		<id>https://wiki.toenniges.de/index.php?title=Paperless-ngx_%22Bare_Metal%22_installieren_(Debian_11/12)&amp;diff=1842</id>
		<title>Paperless-ngx &quot;Bare Metal&quot; installieren (Debian 11/12)</title>
		<link rel="alternate" type="text/html" href="https://wiki.toenniges.de/index.php?title=Paperless-ngx_%22Bare_Metal%22_installieren_(Debian_11/12)&amp;diff=1842"/>
		<updated>2025-03-23T10:58:21Z</updated>

		<summary type="html">&lt;p&gt;Robin Tönniges: /* Systemd Services anlegen: */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Infobox&lt;br /&gt;
| Titel      = Testumgebung&lt;br /&gt;
| Bildname   = &lt;br /&gt;
| Bildbreite = &lt;br /&gt;
| Bildtext   = &lt;br /&gt;
| Stil            = 2&lt;br /&gt;
| Titelfarbe      = 6&lt;br /&gt;
| Abschnittsfarbe = &lt;br /&gt;
| Farbe           = &lt;br /&gt;
| Style           = &lt;br /&gt;
| Feldstyle       = &lt;br /&gt;
| Feldname1 = OS    | Daten1 = Debian 11.11/12.10&lt;br /&gt;
| Feldname3 = paperless-ngx (Dev)    | Daten3 = 2.15.0&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
Anleitung für die &amp;quot;Bare Metal&amp;quot; Installation von [https://docs.paperless-ngx.com/ paperless-ngx] mit dem Sourcecode vom [https://github.com/paperless-ngx/paperless-ngx Dev] oder [https://github.com/paperless-ngx/paperless-ngx/tree/beta Beta] Branch auf Debian 11 und 12.&lt;br /&gt;
==Abhängigkeiten installieren==&lt;br /&gt;
Das System auf den neusten Stand bringen:&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
sudo apt update&lt;br /&gt;
sudo apt upgrade&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
sudo apt install build-essential zlib1g-dev libncurses5-dev libgdbm-dev libnss3-dev libssl-dev libreadline-dev libffi-dev \&lt;br /&gt;
libpq-dev libsqlite3-dev libbz2-dev pkg-config libgdbm-compat-dev liblzma-dev tk-dev uuid-dev wget imagemagick unpaper \&lt;br /&gt;
fonts-liberation gnupg libpq-dev default-libmysqlclient-dev pkg-config libmagic-dev libzbar0 poppler-utils \&lt;br /&gt;
icc-profiles-free qpdf liblept5 libxml2 pngquant zlib1g tesseract-ocr python3-setuptools python3-wheel redis git curl&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
===Python 3.11 installieren===&lt;br /&gt;
'''Debian 11:'''&lt;br /&gt;
:&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
wget https://www.python.org/ftp/python/3.11.11/Python-3.11.11.tgz&lt;br /&gt;
tar -xvf Python-3.11.11.tgz&lt;br /&gt;
cd Python-3.11.11&lt;br /&gt;
./configure --enable-optimizations&lt;br /&gt;
make -j$(nproc)&lt;br /&gt;
sudo make install&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
'''Debian 12:'''&lt;br /&gt;
:&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
sudo apt install python3.11 python3.11-venv python3-pip&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
===Ghostscript 10.05 installieren===&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
wget https://github.com/ArtifexSoftware/ghostpdl-downloads/releases/download/gs10050/ghostscript-10.05.0.tar.gz&lt;br /&gt;
tar -xvf ghostscript-10.05.0.tar.gz&lt;br /&gt;
cd ghostscript-10.05.0&lt;br /&gt;
./configure --without-x&lt;br /&gt;
make -j$(nproc)&lt;br /&gt;
sudo make install&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
== Paperless-ngx installieren ==&lt;br /&gt;
Paperless Benutzer erstellen und Repository klonen:&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
sudo adduser paperless --system --home /opt/paperless --group&lt;br /&gt;
cd /opt/paperless&lt;br /&gt;
sudo -Hu paperless git clone https://github.com/paperless-ngx/paperless-ngx.git .&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
sudo -Hu paperless mkdir consume media&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
'''Debian 11:'''&lt;br /&gt;
:&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
sudo -Hu paperless pip3 install uv&lt;br /&gt;
sudo -Hu paperless uv export --no-dev --all-extras --format requirements-txt --output-file requirements.txt&lt;br /&gt;
sudo -Hu paperless pip3 install -r requirements.txt&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
'''Debian 12:'''&lt;br /&gt;
:&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
sudo -Hu paperless python3 -m venv /opt/paperless/venv&lt;br /&gt;
sudo -Hu paperless /opt/paperless/venv/bin/pip3 install uv&lt;br /&gt;
sudo -Hu paperless /opt/paperless/venv/bin/uv export --no-dev --all-extras --format requirements-txt --output-file requirements.txt&lt;br /&gt;
sudo -Hu paperless /opt/paperless/venv/bin/pip3 install -r requirements.txt&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
sudo -Hu paperless cp paperless.conf.example paperless.conf&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
sudo -Hu paperless vi paperless.conf&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
PAPERLESS_SECRET_KEY=change-me&lt;br /&gt;
&lt;br /&gt;
PAPERLESS_CONSUMPTION_DIR=/mnt/paperless-store/consume&lt;br /&gt;
PAPERLESS_DATA_DIR=/mnt/paperless-store/data&lt;br /&gt;
PAPERLESS_MEDIA_ROOT=/mnt/paperless-store/media&lt;br /&gt;
&lt;br /&gt;
PAPERLESS_TIME_ZONE=Europe/Berlin&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;Wenn du postgresql statt sqlite verwendet möchtest:&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
PAPERLESS_DBHOST=127.0.0.1 # Use postgresql&lt;br /&gt;
PAPERLESS_DBNAME=db_paperless&lt;br /&gt;
#PAPERLESS_DBUSER=paperless&lt;br /&gt;
PAPERLESS_DBPASS=&amp;lt;password&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
sudo apt install postgresql&lt;br /&gt;
sudo -u postgres psql&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&amp;lt;syntaxhighlight lang=&amp;quot;sql&amp;quot;&amp;gt;&lt;br /&gt;
CREATE DATABASE db_paperless;&lt;br /&gt;
CREATE USER paperless WITH ENCRYPTED PASSWORD '&amp;lt;password&amp;gt;';&lt;br /&gt;
GRANT ALL ON DATABASE db_paperless TO paperless;&lt;br /&gt;
\c db_paperless&lt;br /&gt;
GRANT ALL ON SCHEMA public TO paperless;&lt;br /&gt;
\q&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Frontend ===&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
cd src-ui&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
'''Debian 11:'''&lt;br /&gt;
:&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
sudo curl -sL https://deb.nodesource.com/setup_18.x | sudo -E bash -&lt;br /&gt;
sudo apt install nodejs&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
'''Debian 12:'''&lt;br /&gt;
:&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
sudo apt install nodejs&lt;br /&gt;
sudo apt install npm&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
sudo npm install -g @angular/cli&lt;br /&gt;
sudo npm install -g pnpm&lt;br /&gt;
sudo -Hu paperless pnpm install&lt;br /&gt;
&lt;br /&gt;
sudo -Hu paperless ng build --configuration production&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Backend ===&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
cd ../src&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
'''Debian 11:'''&lt;br /&gt;
:&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
sudo -Hu paperless python3 manage.py migrate&lt;br /&gt;
sudo -Hu paperless python3 manage.py createsuperuser&lt;br /&gt;
sudo -Hu paperless python3 manage.py collectstatic&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
'''Debian 12:'''&lt;br /&gt;
:&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
sudo -Hu paperless /opt/paperless/venv/bin/python3 manage.py migrate&lt;br /&gt;
sudo -Hu paperless /opt/paperless/venv/bin/python3 manage.py createsuperuser&lt;br /&gt;
sudo -Hu paperless /opt/paperless/venv/bin/python3 manage.py collectstatic&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== ImageMagick konfigurieren ===&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
sudo vi /etc/ImageMagick-6/policy.xml&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;policy domain=&amp;quot;coder&amp;quot; rights=&amp;quot;read|write&amp;quot; pattern=&amp;quot;PDF&amp;quot; /&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
=== Systemd Services anlegen ===&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
cd ../scripts&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== paperless-consumer ====&lt;br /&gt;
'''Debian 12:'''&lt;br /&gt;
:&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
sudo vi paperless-consumer.service&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;ExecStart ersetzen:&lt;br /&gt;
:&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
ExecStart=/opt/paperless/venv/bin/python3 manage.py document_consumer&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
sudo ln -s /opt/paperless/scripts/paperless-consumer.service /etc/systemd/system/paperless-consumer.service&lt;br /&gt;
sudo systemctl daemon-reload&lt;br /&gt;
sudo systemctl enable --now paperless-consumer.service&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
systemctl status paperless-consumer.service&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;Sollte in etwa so aussehen:&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
● paperless-consumer.service - Paperless consumer&lt;br /&gt;
     Loaded: loaded (/etc/systemd/system/paperless-consumer.service; enabled; preset: enabled)&lt;br /&gt;
     Active: active (running) since Sat 2025-03-22 22:25:06 CET; 6s ago&lt;br /&gt;
   Main PID: 6715 (python3)&lt;br /&gt;
      Tasks: 11 (limit: 9472)&lt;br /&gt;
     Memory: 97.2M&lt;br /&gt;
        CPU: 1.518s&lt;br /&gt;
     CGroup: /system.slice/paperless-consumer.service&lt;br /&gt;
             └─6715 /opt/paperless/venv/bin/python3 manage.py document_consumer&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== paperless-scheduler ====&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
sudo vi paperless-scheduler.service&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;'''Debian 11:'''&lt;br /&gt;
:ExecStart ersetzen:&lt;br /&gt;
:&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
ExecStart=/opt/paperless/.local/bin/celery --app paperless beat --loglevel INFO&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
'''Debian 12:'''&lt;br /&gt;
:ExecStart ersetzen:&lt;br /&gt;
:&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
ExecStart=/opt/paperless/venv/bin/celery --app paperless beat --loglevel INFO&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
sudo ln -s /opt/paperless/scripts/paperless-scheduler.service /etc/systemd/system/paperless-scheduler.service&lt;br /&gt;
sudo systemctl daemon-reload&lt;br /&gt;
sudo systemctl enable --now paperless-scheduler.service&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
systemctl status paperless-scheduler.service&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;Sollte in etwa so aussehen:&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
● paperless-scheduler.service - Paperless Celery Beat&lt;br /&gt;
     Loaded: loaded (/etc/systemd/system/paperless-scheduler.service; enabled; preset: enabled)&lt;br /&gt;
     Active: active (running) since Sat 2025-03-22 22:29:33 CET; 4s ago&lt;br /&gt;
   Main PID: 6981 ([celery beat] -)&lt;br /&gt;
      Tasks: 22 (limit: 9472)&lt;br /&gt;
     Memory: 115.1M&lt;br /&gt;
        CPU: 1.831s&lt;br /&gt;
     CGroup: /system.slice/paperless-scheduler.service&lt;br /&gt;
             └─6981 &amp;quot;[celery beat] --app paperless beat --loglevel INFO&amp;quot;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== paperless-task-queue ====&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
sudo vi paperless-task-queue.service&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;'''Debian 11:'''&lt;br /&gt;
:ExecStart ersetzen:&lt;br /&gt;
:&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
ExecStart=/opt/paperless/.local/bin/celery --app paperless worker --loglevel INFO&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
'''Debian 12:'''&lt;br /&gt;
:ExecStart ersetzen:&lt;br /&gt;
:&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
ExecStart=/opt/paperless/venv/bin/celery --app paperless worker --loglevel INFO&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
sudo ln -s /opt/paperless/scripts/paperless-task-queue.service /etc/systemd/system/paperless-task-queue.service&lt;br /&gt;
sudo systemctl daemon-reload&lt;br /&gt;
sudo systemctl enable --now paperless-task-queue.service&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
systemctl status paperless-task-queue.service&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;Sollte in etwa so aussehen:&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
● paperless-task-queue.service - Paperless Celery Workers&lt;br /&gt;
     Loaded: loaded (/etc/systemd/system/paperless-task-queue.service; enabled; preset: enabled)&lt;br /&gt;
     Active: active (running) since Sat 2025-03-22 22:31:23 CET; 4s ago&lt;br /&gt;
   Main PID: 7122 ([celeryd: celer)&lt;br /&gt;
      Tasks: 24 (limit: 9472)&lt;br /&gt;
     Memory: 197.6M&lt;br /&gt;
        CPU: 2.177s&lt;br /&gt;
     CGroup: /system.slice/paperless-task-queue.service&lt;br /&gt;
             ├─7122 &amp;quot;[celeryd: celery@paperless-ngx-1:MainProcess] -active- (--app paperless worker --loglevel INFO)&amp;quot;&lt;br /&gt;
             ├─7153 &amp;quot;[celeryd: celery@paperless-ngx-1:ForkPoolWorker-1]&amp;quot;&lt;br /&gt;
             └─7154 &amp;quot;[celeryd: celery@paperless-ngx-1:ForkPoolWorker-2]&amp;quot;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
==== paperless-webserver ====&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
sudo vi paperless-webserver.service&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;'''Debian 11:'''&lt;br /&gt;
:exec ersetzen:&lt;br /&gt;
:&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
exec /opt/paperless/.local/bin/granian --interface asginl --ws &amp;quot;paperless.asgi:application&amp;quot;'&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
'''Debian 12:'''&lt;br /&gt;
:exec ersetzen:&lt;br /&gt;
:&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
exec /opt/paperless/venv/bin/granian --interface asginl --ws &amp;quot;paperless.asgi:application&amp;quot;'&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
sudo ln -s /opt/paperless/scripts/paperless-webserver.service /etc/systemd/system/paperless-webserver.service&lt;br /&gt;
sudo systemctl daemon-reload&lt;br /&gt;
sudo systemctl enable --now paperless-webserver.service&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
systemctl status paperless-webserver.service&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;Sollte in etwa so aussehen:&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
● paperless-webserver.service - Paperless webserver&lt;br /&gt;
     Loaded: loaded (/etc/systemd/system/paperless-webserver.service; enabled; preset: enabled)&lt;br /&gt;
     Active: active (running) since Sat 2025-03-22 22:34:41 CET; 3s ago&lt;br /&gt;
   Main PID: 7519 (granian asginl )&lt;br /&gt;
      Tasks: 18 (limit: 9472)&lt;br /&gt;
     Memory: 133.2M&lt;br /&gt;
        CPU: 1.746s&lt;br /&gt;
     CGroup: /system.slice/paperless-webserver.service&lt;br /&gt;
             ├─7519 &amp;quot;granian asginl :::8000 paperless.asgi:application&amp;quot;&lt;br /&gt;
             └─7521 &amp;quot;granian asginl :::8000 paperless.asgi:application worker-1&amp;quot;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Zusätzliche Pakete installieren ===&lt;br /&gt;
&lt;br /&gt;
==== stopwords &amp;amp; punkt_tab ====&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
cd ..&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Debian 11:'''&lt;br /&gt;
:&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
sudo -Hu paperless python3 -m nltk.downloader stopwords&lt;br /&gt;
sudo -Hu paperless python3 -m nltk.downloader punkt_tab&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
'''Debian 12:'''&lt;br /&gt;
:&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
sudo -Hu paperless /opt/paperless/venv/bin/python3 -m nltk.downloader stopwords&lt;br /&gt;
sudo -Hu paperless /opt/paperless/venv/bin/python3 -m nltk.downloader punkt_tab&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
sudo apt install tesseract-ocr-deu&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
sudo -Hu paperless vi /opt/paperless/paperless.conf&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
PAPERLESS_NLTK_DIR=/opt/paperless/nltk_data&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== jbig2enc ====&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
sudo apt install autotools-dev automake libtool libleptonica-dev&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
cd ~&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;'''Debian 11:'''&lt;br /&gt;
:&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
wget https://ftp.gnu.org/gnu/autoconf/autoconf-2.71.tar.xz&lt;br /&gt;
tar -xf autoconf-2.71.tar.xz&lt;br /&gt;
cd autoconf-2.71/&lt;br /&gt;
./configure&lt;br /&gt;
make -j$(nproc)&lt;br /&gt;
sudo make install &lt;br /&gt;
. ~/.profile&lt;br /&gt;
autoconf --version&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
git clone https://github.com/agl/jbig2enc&lt;br /&gt;
cd jbig2enc&lt;br /&gt;
./autogen.sh&lt;br /&gt;
./configure &amp;amp;&amp;amp; make -j$(nproc)&lt;br /&gt;
sudo make install&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;Für die Verarbeitung von Dokumenten in deutscher Sprache:&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
sudo apt install tesseract-ocr-deu&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
sudo -Hu paperless vi /opt/paperless/paperless.conf&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
PAPERLESS_OCR_LANGUAGE=deu+eng&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Tika / Gotenberg installieren (Docker) ====&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
sudo install -m 0755 -d /etc/apt/keyrings&lt;br /&gt;
sudo curl -fsSL https://download.docker.com/linux/debian/gpg -o /etc/apt/keyrings/docker.asc&lt;br /&gt;
sudo chmod a+r /etc/apt/keyrings/docker.asc&lt;br /&gt;
&lt;br /&gt;
echo \&lt;br /&gt;
  &amp;quot;deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.asc] https://download.docker.com/linux/debian \&lt;br /&gt;
  $(. /etc/os-release &amp;amp;&amp;amp; echo &amp;quot;$VERSION_CODENAME&amp;quot;) stable&amp;quot; | \&lt;br /&gt;
  sudo tee /etc/apt/sources.list.d/docker.list &amp;gt; /dev/null&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
sudo apt update&lt;br /&gt;
sudo apt install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
sudo docker pull apache/tika&lt;br /&gt;
sudo docker run -d --restart unless-stopped -p 127.0.0.1:9998:9998 apache/tika&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
sudo docker pull gotenberg/gotenberg:8&lt;br /&gt;
sudo docker run -d --restart unless-stopped -p 127.0.0.1:3000:3000 gotenberg/gotenberg:8&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
sudo -Hu paperless vi /opt/paperless/paperless.conf&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
# Tika settings&lt;br /&gt;
&lt;br /&gt;
PAPERLESS_TIKA_ENABLED=true&lt;br /&gt;
PAPERLESS_TIKA_ENDPOINT=http://localhost:9998&lt;br /&gt;
PAPERLESS_TIKA_GOTENBERG_ENDPOINT=http://localhost:3000&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Quellen ===&lt;br /&gt;
*[https://wiki.crowncloud.net/?How_to_Install_Python_3_11_on_Debian_11 wiki.crowncloud.net]&lt;br /&gt;
*[https://askubuntu.com/questions/1076846/how-to-install-newer-version-of-ghostscript-on-server-than-provided-from-ubuntu askubuntu.com]&lt;br /&gt;
*[https://docs.paperless-ngx.com/setup/#bare_metal docs.paperless-ngx.com]&lt;br /&gt;
*[https://docs.docker.com/engine/install/debian/ docs.docker.com/]&lt;br /&gt;
*[https://gotenberg.dev/docs/getting-started/installation gotenberg.dev]&lt;br /&gt;
*[https://hub.docker.com/r/apache/tika hub.docker.com]&lt;br /&gt;
&amp;lt;references /&amp;gt;&lt;/div&gt;</summary>
		<author><name>Robin Tönniges</name></author>
	</entry>
	<entry>
		<id>https://wiki.toenniges.de/index.php?title=Paperless-ngx_%22Bare_Metal%22_installieren_(Debian_11/12)&amp;diff=1841</id>
		<title>Paperless-ngx &quot;Bare Metal&quot; installieren (Debian 11/12)</title>
		<link rel="alternate" type="text/html" href="https://wiki.toenniges.de/index.php?title=Paperless-ngx_%22Bare_Metal%22_installieren_(Debian_11/12)&amp;diff=1841"/>
		<updated>2025-03-23T10:58:13Z</updated>

		<summary type="html">&lt;p&gt;Robin Tönniges: /* ImageMagick konfigurieren: */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Infobox&lt;br /&gt;
| Titel      = Testumgebung&lt;br /&gt;
| Bildname   = &lt;br /&gt;
| Bildbreite = &lt;br /&gt;
| Bildtext   = &lt;br /&gt;
| Stil            = 2&lt;br /&gt;
| Titelfarbe      = 6&lt;br /&gt;
| Abschnittsfarbe = &lt;br /&gt;
| Farbe           = &lt;br /&gt;
| Style           = &lt;br /&gt;
| Feldstyle       = &lt;br /&gt;
| Feldname1 = OS    | Daten1 = Debian 11.11/12.10&lt;br /&gt;
| Feldname3 = paperless-ngx (Dev)    | Daten3 = 2.15.0&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
Anleitung für die &amp;quot;Bare Metal&amp;quot; Installation von [https://docs.paperless-ngx.com/ paperless-ngx] mit dem Sourcecode vom [https://github.com/paperless-ngx/paperless-ngx Dev] oder [https://github.com/paperless-ngx/paperless-ngx/tree/beta Beta] Branch auf Debian 11 und 12.&lt;br /&gt;
==Abhängigkeiten installieren==&lt;br /&gt;
Das System auf den neusten Stand bringen:&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
sudo apt update&lt;br /&gt;
sudo apt upgrade&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
sudo apt install build-essential zlib1g-dev libncurses5-dev libgdbm-dev libnss3-dev libssl-dev libreadline-dev libffi-dev \&lt;br /&gt;
libpq-dev libsqlite3-dev libbz2-dev pkg-config libgdbm-compat-dev liblzma-dev tk-dev uuid-dev wget imagemagick unpaper \&lt;br /&gt;
fonts-liberation gnupg libpq-dev default-libmysqlclient-dev pkg-config libmagic-dev libzbar0 poppler-utils \&lt;br /&gt;
icc-profiles-free qpdf liblept5 libxml2 pngquant zlib1g tesseract-ocr python3-setuptools python3-wheel redis git curl&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
===Python 3.11 installieren===&lt;br /&gt;
'''Debian 11:'''&lt;br /&gt;
:&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
wget https://www.python.org/ftp/python/3.11.11/Python-3.11.11.tgz&lt;br /&gt;
tar -xvf Python-3.11.11.tgz&lt;br /&gt;
cd Python-3.11.11&lt;br /&gt;
./configure --enable-optimizations&lt;br /&gt;
make -j$(nproc)&lt;br /&gt;
sudo make install&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
'''Debian 12:'''&lt;br /&gt;
:&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
sudo apt install python3.11 python3.11-venv python3-pip&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
===Ghostscript 10.05 installieren===&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
wget https://github.com/ArtifexSoftware/ghostpdl-downloads/releases/download/gs10050/ghostscript-10.05.0.tar.gz&lt;br /&gt;
tar -xvf ghostscript-10.05.0.tar.gz&lt;br /&gt;
cd ghostscript-10.05.0&lt;br /&gt;
./configure --without-x&lt;br /&gt;
make -j$(nproc)&lt;br /&gt;
sudo make install&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
== Paperless-ngx installieren ==&lt;br /&gt;
Paperless Benutzer erstellen und Repository klonen:&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
sudo adduser paperless --system --home /opt/paperless --group&lt;br /&gt;
cd /opt/paperless&lt;br /&gt;
sudo -Hu paperless git clone https://github.com/paperless-ngx/paperless-ngx.git .&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
sudo -Hu paperless mkdir consume media&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
'''Debian 11:'''&lt;br /&gt;
:&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
sudo -Hu paperless pip3 install uv&lt;br /&gt;
sudo -Hu paperless uv export --no-dev --all-extras --format requirements-txt --output-file requirements.txt&lt;br /&gt;
sudo -Hu paperless pip3 install -r requirements.txt&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
'''Debian 12:'''&lt;br /&gt;
:&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
sudo -Hu paperless python3 -m venv /opt/paperless/venv&lt;br /&gt;
sudo -Hu paperless /opt/paperless/venv/bin/pip3 install uv&lt;br /&gt;
sudo -Hu paperless /opt/paperless/venv/bin/uv export --no-dev --all-extras --format requirements-txt --output-file requirements.txt&lt;br /&gt;
sudo -Hu paperless /opt/paperless/venv/bin/pip3 install -r requirements.txt&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
sudo -Hu paperless cp paperless.conf.example paperless.conf&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
sudo -Hu paperless vi paperless.conf&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
PAPERLESS_SECRET_KEY=change-me&lt;br /&gt;
&lt;br /&gt;
PAPERLESS_CONSUMPTION_DIR=/mnt/paperless-store/consume&lt;br /&gt;
PAPERLESS_DATA_DIR=/mnt/paperless-store/data&lt;br /&gt;
PAPERLESS_MEDIA_ROOT=/mnt/paperless-store/media&lt;br /&gt;
&lt;br /&gt;
PAPERLESS_TIME_ZONE=Europe/Berlin&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;Wenn du postgresql statt sqlite verwendet möchtest:&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
PAPERLESS_DBHOST=127.0.0.1 # Use postgresql&lt;br /&gt;
PAPERLESS_DBNAME=db_paperless&lt;br /&gt;
#PAPERLESS_DBUSER=paperless&lt;br /&gt;
PAPERLESS_DBPASS=&amp;lt;password&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
sudo apt install postgresql&lt;br /&gt;
sudo -u postgres psql&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&amp;lt;syntaxhighlight lang=&amp;quot;sql&amp;quot;&amp;gt;&lt;br /&gt;
CREATE DATABASE db_paperless;&lt;br /&gt;
CREATE USER paperless WITH ENCRYPTED PASSWORD '&amp;lt;password&amp;gt;';&lt;br /&gt;
GRANT ALL ON DATABASE db_paperless TO paperless;&lt;br /&gt;
\c db_paperless&lt;br /&gt;
GRANT ALL ON SCHEMA public TO paperless;&lt;br /&gt;
\q&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Frontend ===&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
cd src-ui&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
'''Debian 11:'''&lt;br /&gt;
:&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
sudo curl -sL https://deb.nodesource.com/setup_18.x | sudo -E bash -&lt;br /&gt;
sudo apt install nodejs&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
'''Debian 12:'''&lt;br /&gt;
:&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
sudo apt install nodejs&lt;br /&gt;
sudo apt install npm&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
sudo npm install -g @angular/cli&lt;br /&gt;
sudo npm install -g pnpm&lt;br /&gt;
sudo -Hu paperless pnpm install&lt;br /&gt;
&lt;br /&gt;
sudo -Hu paperless ng build --configuration production&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Backend ===&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
cd ../src&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
'''Debian 11:'''&lt;br /&gt;
:&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
sudo -Hu paperless python3 manage.py migrate&lt;br /&gt;
sudo -Hu paperless python3 manage.py createsuperuser&lt;br /&gt;
sudo -Hu paperless python3 manage.py collectstatic&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
'''Debian 12:'''&lt;br /&gt;
:&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
sudo -Hu paperless /opt/paperless/venv/bin/python3 manage.py migrate&lt;br /&gt;
sudo -Hu paperless /opt/paperless/venv/bin/python3 manage.py createsuperuser&lt;br /&gt;
sudo -Hu paperless /opt/paperless/venv/bin/python3 manage.py collectstatic&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== ImageMagick konfigurieren ===&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
sudo vi /etc/ImageMagick-6/policy.xml&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;policy domain=&amp;quot;coder&amp;quot; rights=&amp;quot;read|write&amp;quot; pattern=&amp;quot;PDF&amp;quot; /&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
=== Systemd Services anlegen: ===&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
cd ../scripts&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== paperless-consumer ====&lt;br /&gt;
'''Debian 12:'''&lt;br /&gt;
:&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
sudo vi paperless-consumer.service&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;ExecStart ersetzen:&lt;br /&gt;
:&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
ExecStart=/opt/paperless/venv/bin/python3 manage.py document_consumer&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
sudo ln -s /opt/paperless/scripts/paperless-consumer.service /etc/systemd/system/paperless-consumer.service&lt;br /&gt;
sudo systemctl daemon-reload&lt;br /&gt;
sudo systemctl enable --now paperless-consumer.service&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
systemctl status paperless-consumer.service&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;Sollte in etwa so aussehen:&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
● paperless-consumer.service - Paperless consumer&lt;br /&gt;
     Loaded: loaded (/etc/systemd/system/paperless-consumer.service; enabled; preset: enabled)&lt;br /&gt;
     Active: active (running) since Sat 2025-03-22 22:25:06 CET; 6s ago&lt;br /&gt;
   Main PID: 6715 (python3)&lt;br /&gt;
      Tasks: 11 (limit: 9472)&lt;br /&gt;
     Memory: 97.2M&lt;br /&gt;
        CPU: 1.518s&lt;br /&gt;
     CGroup: /system.slice/paperless-consumer.service&lt;br /&gt;
             └─6715 /opt/paperless/venv/bin/python3 manage.py document_consumer&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== paperless-scheduler ====&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
sudo vi paperless-scheduler.service&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;'''Debian 11:'''&lt;br /&gt;
:ExecStart ersetzen:&lt;br /&gt;
:&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
ExecStart=/opt/paperless/.local/bin/celery --app paperless beat --loglevel INFO&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
'''Debian 12:'''&lt;br /&gt;
:ExecStart ersetzen:&lt;br /&gt;
:&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
ExecStart=/opt/paperless/venv/bin/celery --app paperless beat --loglevel INFO&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
sudo ln -s /opt/paperless/scripts/paperless-scheduler.service /etc/systemd/system/paperless-scheduler.service&lt;br /&gt;
sudo systemctl daemon-reload&lt;br /&gt;
sudo systemctl enable --now paperless-scheduler.service&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
systemctl status paperless-scheduler.service&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;Sollte in etwa so aussehen:&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
● paperless-scheduler.service - Paperless Celery Beat&lt;br /&gt;
     Loaded: loaded (/etc/systemd/system/paperless-scheduler.service; enabled; preset: enabled)&lt;br /&gt;
     Active: active (running) since Sat 2025-03-22 22:29:33 CET; 4s ago&lt;br /&gt;
   Main PID: 6981 ([celery beat] -)&lt;br /&gt;
      Tasks: 22 (limit: 9472)&lt;br /&gt;
     Memory: 115.1M&lt;br /&gt;
        CPU: 1.831s&lt;br /&gt;
     CGroup: /system.slice/paperless-scheduler.service&lt;br /&gt;
             └─6981 &amp;quot;[celery beat] --app paperless beat --loglevel INFO&amp;quot;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== paperless-task-queue ====&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
sudo vi paperless-task-queue.service&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;'''Debian 11:'''&lt;br /&gt;
:ExecStart ersetzen:&lt;br /&gt;
:&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
ExecStart=/opt/paperless/.local/bin/celery --app paperless worker --loglevel INFO&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
'''Debian 12:'''&lt;br /&gt;
:ExecStart ersetzen:&lt;br /&gt;
:&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
ExecStart=/opt/paperless/venv/bin/celery --app paperless worker --loglevel INFO&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
sudo ln -s /opt/paperless/scripts/paperless-task-queue.service /etc/systemd/system/paperless-task-queue.service&lt;br /&gt;
sudo systemctl daemon-reload&lt;br /&gt;
sudo systemctl enable --now paperless-task-queue.service&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
systemctl status paperless-task-queue.service&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;Sollte in etwa so aussehen:&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
● paperless-task-queue.service - Paperless Celery Workers&lt;br /&gt;
     Loaded: loaded (/etc/systemd/system/paperless-task-queue.service; enabled; preset: enabled)&lt;br /&gt;
     Active: active (running) since Sat 2025-03-22 22:31:23 CET; 4s ago&lt;br /&gt;
   Main PID: 7122 ([celeryd: celer)&lt;br /&gt;
      Tasks: 24 (limit: 9472)&lt;br /&gt;
     Memory: 197.6M&lt;br /&gt;
        CPU: 2.177s&lt;br /&gt;
     CGroup: /system.slice/paperless-task-queue.service&lt;br /&gt;
             ├─7122 &amp;quot;[celeryd: celery@paperless-ngx-1:MainProcess] -active- (--app paperless worker --loglevel INFO)&amp;quot;&lt;br /&gt;
             ├─7153 &amp;quot;[celeryd: celery@paperless-ngx-1:ForkPoolWorker-1]&amp;quot;&lt;br /&gt;
             └─7154 &amp;quot;[celeryd: celery@paperless-ngx-1:ForkPoolWorker-2]&amp;quot;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
==== paperless-webserver ====&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
sudo vi paperless-webserver.service&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;'''Debian 11:'''&lt;br /&gt;
:exec ersetzen:&lt;br /&gt;
:&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
exec /opt/paperless/.local/bin/granian --interface asginl --ws &amp;quot;paperless.asgi:application&amp;quot;'&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
'''Debian 12:'''&lt;br /&gt;
:exec ersetzen:&lt;br /&gt;
:&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
exec /opt/paperless/venv/bin/granian --interface asginl --ws &amp;quot;paperless.asgi:application&amp;quot;'&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
sudo ln -s /opt/paperless/scripts/paperless-webserver.service /etc/systemd/system/paperless-webserver.service&lt;br /&gt;
sudo systemctl daemon-reload&lt;br /&gt;
sudo systemctl enable --now paperless-webserver.service&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
systemctl status paperless-webserver.service&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;Sollte in etwa so aussehen:&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
● paperless-webserver.service - Paperless webserver&lt;br /&gt;
     Loaded: loaded (/etc/systemd/system/paperless-webserver.service; enabled; preset: enabled)&lt;br /&gt;
     Active: active (running) since Sat 2025-03-22 22:34:41 CET; 3s ago&lt;br /&gt;
   Main PID: 7519 (granian asginl )&lt;br /&gt;
      Tasks: 18 (limit: 9472)&lt;br /&gt;
     Memory: 133.2M&lt;br /&gt;
        CPU: 1.746s&lt;br /&gt;
     CGroup: /system.slice/paperless-webserver.service&lt;br /&gt;
             ├─7519 &amp;quot;granian asginl :::8000 paperless.asgi:application&amp;quot;&lt;br /&gt;
             └─7521 &amp;quot;granian asginl :::8000 paperless.asgi:application worker-1&amp;quot;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Zusätzliche Pakete installieren ===&lt;br /&gt;
&lt;br /&gt;
==== stopwords &amp;amp; punkt_tab ====&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
cd ..&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Debian 11:'''&lt;br /&gt;
:&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
sudo -Hu paperless python3 -m nltk.downloader stopwords&lt;br /&gt;
sudo -Hu paperless python3 -m nltk.downloader punkt_tab&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
'''Debian 12:'''&lt;br /&gt;
:&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
sudo -Hu paperless /opt/paperless/venv/bin/python3 -m nltk.downloader stopwords&lt;br /&gt;
sudo -Hu paperless /opt/paperless/venv/bin/python3 -m nltk.downloader punkt_tab&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
sudo apt install tesseract-ocr-deu&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
sudo -Hu paperless vi /opt/paperless/paperless.conf&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
PAPERLESS_NLTK_DIR=/opt/paperless/nltk_data&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== jbig2enc ====&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
sudo apt install autotools-dev automake libtool libleptonica-dev&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
cd ~&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;'''Debian 11:'''&lt;br /&gt;
:&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
wget https://ftp.gnu.org/gnu/autoconf/autoconf-2.71.tar.xz&lt;br /&gt;
tar -xf autoconf-2.71.tar.xz&lt;br /&gt;
cd autoconf-2.71/&lt;br /&gt;
./configure&lt;br /&gt;
make -j$(nproc)&lt;br /&gt;
sudo make install &lt;br /&gt;
. ~/.profile&lt;br /&gt;
autoconf --version&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
git clone https://github.com/agl/jbig2enc&lt;br /&gt;
cd jbig2enc&lt;br /&gt;
./autogen.sh&lt;br /&gt;
./configure &amp;amp;&amp;amp; make -j$(nproc)&lt;br /&gt;
sudo make install&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;Für die Verarbeitung von Dokumenten in deutscher Sprache:&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
sudo apt install tesseract-ocr-deu&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
sudo -Hu paperless vi /opt/paperless/paperless.conf&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
PAPERLESS_OCR_LANGUAGE=deu+eng&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Tika / Gotenberg installieren (Docker) ====&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
sudo install -m 0755 -d /etc/apt/keyrings&lt;br /&gt;
sudo curl -fsSL https://download.docker.com/linux/debian/gpg -o /etc/apt/keyrings/docker.asc&lt;br /&gt;
sudo chmod a+r /etc/apt/keyrings/docker.asc&lt;br /&gt;
&lt;br /&gt;
echo \&lt;br /&gt;
  &amp;quot;deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.asc] https://download.docker.com/linux/debian \&lt;br /&gt;
  $(. /etc/os-release &amp;amp;&amp;amp; echo &amp;quot;$VERSION_CODENAME&amp;quot;) stable&amp;quot; | \&lt;br /&gt;
  sudo tee /etc/apt/sources.list.d/docker.list &amp;gt; /dev/null&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
sudo apt update&lt;br /&gt;
sudo apt install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
sudo docker pull apache/tika&lt;br /&gt;
sudo docker run -d --restart unless-stopped -p 127.0.0.1:9998:9998 apache/tika&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
sudo docker pull gotenberg/gotenberg:8&lt;br /&gt;
sudo docker run -d --restart unless-stopped -p 127.0.0.1:3000:3000 gotenberg/gotenberg:8&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
sudo -Hu paperless vi /opt/paperless/paperless.conf&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
# Tika settings&lt;br /&gt;
&lt;br /&gt;
PAPERLESS_TIKA_ENABLED=true&lt;br /&gt;
PAPERLESS_TIKA_ENDPOINT=http://localhost:9998&lt;br /&gt;
PAPERLESS_TIKA_GOTENBERG_ENDPOINT=http://localhost:3000&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Quellen ===&lt;br /&gt;
*[https://wiki.crowncloud.net/?How_to_Install_Python_3_11_on_Debian_11 wiki.crowncloud.net]&lt;br /&gt;
*[https://askubuntu.com/questions/1076846/how-to-install-newer-version-of-ghostscript-on-server-than-provided-from-ubuntu askubuntu.com]&lt;br /&gt;
*[https://docs.paperless-ngx.com/setup/#bare_metal docs.paperless-ngx.com]&lt;br /&gt;
*[https://docs.docker.com/engine/install/debian/ docs.docker.com/]&lt;br /&gt;
*[https://gotenberg.dev/docs/getting-started/installation gotenberg.dev]&lt;br /&gt;
*[https://hub.docker.com/r/apache/tika hub.docker.com]&lt;br /&gt;
&amp;lt;references /&amp;gt;&lt;/div&gt;</summary>
		<author><name>Robin Tönniges</name></author>
	</entry>
	<entry>
		<id>https://wiki.toenniges.de/index.php?title=Paperless-ngx_%22Bare_Metal%22_installieren_(Debian_11/12)&amp;diff=1840</id>
		<title>Paperless-ngx &quot;Bare Metal&quot; installieren (Debian 11/12)</title>
		<link rel="alternate" type="text/html" href="https://wiki.toenniges.de/index.php?title=Paperless-ngx_%22Bare_Metal%22_installieren_(Debian_11/12)&amp;diff=1840"/>
		<updated>2025-03-23T10:57:34Z</updated>

		<summary type="html">&lt;p&gt;Robin Tönniges: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Infobox&lt;br /&gt;
| Titel      = Testumgebung&lt;br /&gt;
| Bildname   = &lt;br /&gt;
| Bildbreite = &lt;br /&gt;
| Bildtext   = &lt;br /&gt;
| Stil            = 2&lt;br /&gt;
| Titelfarbe      = 6&lt;br /&gt;
| Abschnittsfarbe = &lt;br /&gt;
| Farbe           = &lt;br /&gt;
| Style           = &lt;br /&gt;
| Feldstyle       = &lt;br /&gt;
| Feldname1 = OS    | Daten1 = Debian 11.11/12.10&lt;br /&gt;
| Feldname3 = paperless-ngx (Dev)    | Daten3 = 2.15.0&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
Anleitung für die &amp;quot;Bare Metal&amp;quot; Installation von [https://docs.paperless-ngx.com/ paperless-ngx] mit dem Sourcecode vom [https://github.com/paperless-ngx/paperless-ngx Dev] oder [https://github.com/paperless-ngx/paperless-ngx/tree/beta Beta] Branch auf Debian 11 und 12.&lt;br /&gt;
==Abhängigkeiten installieren==&lt;br /&gt;
Das System auf den neusten Stand bringen:&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
sudo apt update&lt;br /&gt;
sudo apt upgrade&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
sudo apt install build-essential zlib1g-dev libncurses5-dev libgdbm-dev libnss3-dev libssl-dev libreadline-dev libffi-dev \&lt;br /&gt;
libpq-dev libsqlite3-dev libbz2-dev pkg-config libgdbm-compat-dev liblzma-dev tk-dev uuid-dev wget imagemagick unpaper \&lt;br /&gt;
fonts-liberation gnupg libpq-dev default-libmysqlclient-dev pkg-config libmagic-dev libzbar0 poppler-utils \&lt;br /&gt;
icc-profiles-free qpdf liblept5 libxml2 pngquant zlib1g tesseract-ocr python3-setuptools python3-wheel redis git curl&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
===Python 3.11 installieren===&lt;br /&gt;
'''Debian 11:'''&lt;br /&gt;
:&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
wget https://www.python.org/ftp/python/3.11.11/Python-3.11.11.tgz&lt;br /&gt;
tar -xvf Python-3.11.11.tgz&lt;br /&gt;
cd Python-3.11.11&lt;br /&gt;
./configure --enable-optimizations&lt;br /&gt;
make -j$(nproc)&lt;br /&gt;
sudo make install&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
'''Debian 12:'''&lt;br /&gt;
:&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
sudo apt install python3.11 python3.11-venv python3-pip&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
===Ghostscript 10.05 installieren===&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
wget https://github.com/ArtifexSoftware/ghostpdl-downloads/releases/download/gs10050/ghostscript-10.05.0.tar.gz&lt;br /&gt;
tar -xvf ghostscript-10.05.0.tar.gz&lt;br /&gt;
cd ghostscript-10.05.0&lt;br /&gt;
./configure --without-x&lt;br /&gt;
make -j$(nproc)&lt;br /&gt;
sudo make install&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
== Paperless-ngx installieren ==&lt;br /&gt;
Paperless Benutzer erstellen und Repository klonen:&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
sudo adduser paperless --system --home /opt/paperless --group&lt;br /&gt;
cd /opt/paperless&lt;br /&gt;
sudo -Hu paperless git clone https://github.com/paperless-ngx/paperless-ngx.git .&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
sudo -Hu paperless mkdir consume media&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
'''Debian 11:'''&lt;br /&gt;
:&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
sudo -Hu paperless pip3 install uv&lt;br /&gt;
sudo -Hu paperless uv export --no-dev --all-extras --format requirements-txt --output-file requirements.txt&lt;br /&gt;
sudo -Hu paperless pip3 install -r requirements.txt&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
'''Debian 12:'''&lt;br /&gt;
:&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
sudo -Hu paperless python3 -m venv /opt/paperless/venv&lt;br /&gt;
sudo -Hu paperless /opt/paperless/venv/bin/pip3 install uv&lt;br /&gt;
sudo -Hu paperless /opt/paperless/venv/bin/uv export --no-dev --all-extras --format requirements-txt --output-file requirements.txt&lt;br /&gt;
sudo -Hu paperless /opt/paperless/venv/bin/pip3 install -r requirements.txt&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
sudo -Hu paperless cp paperless.conf.example paperless.conf&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
sudo -Hu paperless vi paperless.conf&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
PAPERLESS_SECRET_KEY=change-me&lt;br /&gt;
&lt;br /&gt;
PAPERLESS_CONSUMPTION_DIR=/mnt/paperless-store/consume&lt;br /&gt;
PAPERLESS_DATA_DIR=/mnt/paperless-store/data&lt;br /&gt;
PAPERLESS_MEDIA_ROOT=/mnt/paperless-store/media&lt;br /&gt;
&lt;br /&gt;
PAPERLESS_TIME_ZONE=Europe/Berlin&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;Wenn du postgresql statt sqlite verwendet möchtest:&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
PAPERLESS_DBHOST=127.0.0.1 # Use postgresql&lt;br /&gt;
PAPERLESS_DBNAME=db_paperless&lt;br /&gt;
#PAPERLESS_DBUSER=paperless&lt;br /&gt;
PAPERLESS_DBPASS=&amp;lt;password&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
sudo apt install postgresql&lt;br /&gt;
sudo -u postgres psql&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&amp;lt;syntaxhighlight lang=&amp;quot;sql&amp;quot;&amp;gt;&lt;br /&gt;
CREATE DATABASE db_paperless;&lt;br /&gt;
CREATE USER paperless WITH ENCRYPTED PASSWORD '&amp;lt;password&amp;gt;';&lt;br /&gt;
GRANT ALL ON DATABASE db_paperless TO paperless;&lt;br /&gt;
\c db_paperless&lt;br /&gt;
GRANT ALL ON SCHEMA public TO paperless;&lt;br /&gt;
\q&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Frontend ===&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
cd src-ui&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
'''Debian 11:'''&lt;br /&gt;
:&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
sudo curl -sL https://deb.nodesource.com/setup_18.x | sudo -E bash -&lt;br /&gt;
sudo apt install nodejs&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
'''Debian 12:'''&lt;br /&gt;
:&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
sudo apt install nodejs&lt;br /&gt;
sudo apt install npm&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
sudo npm install -g @angular/cli&lt;br /&gt;
sudo npm install -g pnpm&lt;br /&gt;
sudo -Hu paperless pnpm install&lt;br /&gt;
&lt;br /&gt;
sudo -Hu paperless ng build --configuration production&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Backend ===&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
cd ../src&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
'''Debian 11:'''&lt;br /&gt;
:&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
sudo -Hu paperless python3 manage.py migrate&lt;br /&gt;
sudo -Hu paperless python3 manage.py createsuperuser&lt;br /&gt;
sudo -Hu paperless python3 manage.py collectstatic&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
'''Debian 12:'''&lt;br /&gt;
:&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
sudo -Hu paperless /opt/paperless/venv/bin/python3 manage.py migrate&lt;br /&gt;
sudo -Hu paperless /opt/paperless/venv/bin/python3 manage.py createsuperuser&lt;br /&gt;
sudo -Hu paperless /opt/paperless/venv/bin/python3 manage.py collectstatic&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== ImageMagick konfigurieren: ===&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
sudo vi /etc/ImageMagick-6/policy.xml&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;policy domain=&amp;quot;coder&amp;quot; rights=&amp;quot;read|write&amp;quot; pattern=&amp;quot;PDF&amp;quot; /&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
=== Systemd Services anlegen: ===&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
cd ../scripts&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== paperless-consumer ====&lt;br /&gt;
'''Debian 12:'''&lt;br /&gt;
:&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
sudo vi paperless-consumer.service&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;ExecStart ersetzen:&lt;br /&gt;
:&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
ExecStart=/opt/paperless/venv/bin/python3 manage.py document_consumer&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
sudo ln -s /opt/paperless/scripts/paperless-consumer.service /etc/systemd/system/paperless-consumer.service&lt;br /&gt;
sudo systemctl daemon-reload&lt;br /&gt;
sudo systemctl enable --now paperless-consumer.service&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
systemctl status paperless-consumer.service&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;Sollte in etwa so aussehen:&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
● paperless-consumer.service - Paperless consumer&lt;br /&gt;
     Loaded: loaded (/etc/systemd/system/paperless-consumer.service; enabled; preset: enabled)&lt;br /&gt;
     Active: active (running) since Sat 2025-03-22 22:25:06 CET; 6s ago&lt;br /&gt;
   Main PID: 6715 (python3)&lt;br /&gt;
      Tasks: 11 (limit: 9472)&lt;br /&gt;
     Memory: 97.2M&lt;br /&gt;
        CPU: 1.518s&lt;br /&gt;
     CGroup: /system.slice/paperless-consumer.service&lt;br /&gt;
             └─6715 /opt/paperless/venv/bin/python3 manage.py document_consumer&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== paperless-scheduler ====&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
sudo vi paperless-scheduler.service&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;'''Debian 11:'''&lt;br /&gt;
:ExecStart ersetzen:&lt;br /&gt;
:&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
ExecStart=/opt/paperless/.local/bin/celery --app paperless beat --loglevel INFO&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
'''Debian 12:'''&lt;br /&gt;
:ExecStart ersetzen:&lt;br /&gt;
:&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
ExecStart=/opt/paperless/venv/bin/celery --app paperless beat --loglevel INFO&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
sudo ln -s /opt/paperless/scripts/paperless-scheduler.service /etc/systemd/system/paperless-scheduler.service&lt;br /&gt;
sudo systemctl daemon-reload&lt;br /&gt;
sudo systemctl enable --now paperless-scheduler.service&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
systemctl status paperless-scheduler.service&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;Sollte in etwa so aussehen:&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
● paperless-scheduler.service - Paperless Celery Beat&lt;br /&gt;
     Loaded: loaded (/etc/systemd/system/paperless-scheduler.service; enabled; preset: enabled)&lt;br /&gt;
     Active: active (running) since Sat 2025-03-22 22:29:33 CET; 4s ago&lt;br /&gt;
   Main PID: 6981 ([celery beat] -)&lt;br /&gt;
      Tasks: 22 (limit: 9472)&lt;br /&gt;
     Memory: 115.1M&lt;br /&gt;
        CPU: 1.831s&lt;br /&gt;
     CGroup: /system.slice/paperless-scheduler.service&lt;br /&gt;
             └─6981 &amp;quot;[celery beat] --app paperless beat --loglevel INFO&amp;quot;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== paperless-task-queue ====&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
sudo vi paperless-task-queue.service&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;'''Debian 11:'''&lt;br /&gt;
:ExecStart ersetzen:&lt;br /&gt;
:&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
ExecStart=/opt/paperless/.local/bin/celery --app paperless worker --loglevel INFO&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
'''Debian 12:'''&lt;br /&gt;
:ExecStart ersetzen:&lt;br /&gt;
:&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
ExecStart=/opt/paperless/venv/bin/celery --app paperless worker --loglevel INFO&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
sudo ln -s /opt/paperless/scripts/paperless-task-queue.service /etc/systemd/system/paperless-task-queue.service&lt;br /&gt;
sudo systemctl daemon-reload&lt;br /&gt;
sudo systemctl enable --now paperless-task-queue.service&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
systemctl status paperless-task-queue.service&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;Sollte in etwa so aussehen:&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
● paperless-task-queue.service - Paperless Celery Workers&lt;br /&gt;
     Loaded: loaded (/etc/systemd/system/paperless-task-queue.service; enabled; preset: enabled)&lt;br /&gt;
     Active: active (running) since Sat 2025-03-22 22:31:23 CET; 4s ago&lt;br /&gt;
   Main PID: 7122 ([celeryd: celer)&lt;br /&gt;
      Tasks: 24 (limit: 9472)&lt;br /&gt;
     Memory: 197.6M&lt;br /&gt;
        CPU: 2.177s&lt;br /&gt;
     CGroup: /system.slice/paperless-task-queue.service&lt;br /&gt;
             ├─7122 &amp;quot;[celeryd: celery@paperless-ngx-1:MainProcess] -active- (--app paperless worker --loglevel INFO)&amp;quot;&lt;br /&gt;
             ├─7153 &amp;quot;[celeryd: celery@paperless-ngx-1:ForkPoolWorker-1]&amp;quot;&lt;br /&gt;
             └─7154 &amp;quot;[celeryd: celery@paperless-ngx-1:ForkPoolWorker-2]&amp;quot;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
==== paperless-webserver ====&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
sudo vi paperless-webserver.service&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;'''Debian 11:'''&lt;br /&gt;
:exec ersetzen:&lt;br /&gt;
:&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
exec /opt/paperless/.local/bin/granian --interface asginl --ws &amp;quot;paperless.asgi:application&amp;quot;'&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
'''Debian 12:'''&lt;br /&gt;
:exec ersetzen:&lt;br /&gt;
:&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
exec /opt/paperless/venv/bin/granian --interface asginl --ws &amp;quot;paperless.asgi:application&amp;quot;'&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
sudo ln -s /opt/paperless/scripts/paperless-webserver.service /etc/systemd/system/paperless-webserver.service&lt;br /&gt;
sudo systemctl daemon-reload&lt;br /&gt;
sudo systemctl enable --now paperless-webserver.service&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
systemctl status paperless-webserver.service&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;Sollte in etwa so aussehen:&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
● paperless-webserver.service - Paperless webserver&lt;br /&gt;
     Loaded: loaded (/etc/systemd/system/paperless-webserver.service; enabled; preset: enabled)&lt;br /&gt;
     Active: active (running) since Sat 2025-03-22 22:34:41 CET; 3s ago&lt;br /&gt;
   Main PID: 7519 (granian asginl )&lt;br /&gt;
      Tasks: 18 (limit: 9472)&lt;br /&gt;
     Memory: 133.2M&lt;br /&gt;
        CPU: 1.746s&lt;br /&gt;
     CGroup: /system.slice/paperless-webserver.service&lt;br /&gt;
             ├─7519 &amp;quot;granian asginl :::8000 paperless.asgi:application&amp;quot;&lt;br /&gt;
             └─7521 &amp;quot;granian asginl :::8000 paperless.asgi:application worker-1&amp;quot;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Zusätzliche Pakete installieren ===&lt;br /&gt;
&lt;br /&gt;
==== stopwords &amp;amp; punkt_tab ====&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
cd ..&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Debian 11:'''&lt;br /&gt;
:&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
sudo -Hu paperless python3 -m nltk.downloader stopwords&lt;br /&gt;
sudo -Hu paperless python3 -m nltk.downloader punkt_tab&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
'''Debian 12:'''&lt;br /&gt;
:&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
sudo -Hu paperless /opt/paperless/venv/bin/python3 -m nltk.downloader stopwords&lt;br /&gt;
sudo -Hu paperless /opt/paperless/venv/bin/python3 -m nltk.downloader punkt_tab&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
sudo apt install tesseract-ocr-deu&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
sudo -Hu paperless vi /opt/paperless/paperless.conf&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
PAPERLESS_NLTK_DIR=/opt/paperless/nltk_data&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== jbig2enc ====&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
sudo apt install autotools-dev automake libtool libleptonica-dev&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
cd ~&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;'''Debian 11:'''&lt;br /&gt;
:&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
wget https://ftp.gnu.org/gnu/autoconf/autoconf-2.71.tar.xz&lt;br /&gt;
tar -xf autoconf-2.71.tar.xz&lt;br /&gt;
cd autoconf-2.71/&lt;br /&gt;
./configure&lt;br /&gt;
make -j$(nproc)&lt;br /&gt;
sudo make install &lt;br /&gt;
. ~/.profile&lt;br /&gt;
autoconf --version&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
git clone https://github.com/agl/jbig2enc&lt;br /&gt;
cd jbig2enc&lt;br /&gt;
./autogen.sh&lt;br /&gt;
./configure &amp;amp;&amp;amp; make -j$(nproc)&lt;br /&gt;
sudo make install&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;Für die Verarbeitung von Dokumenten in deutscher Sprache:&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
sudo apt install tesseract-ocr-deu&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
sudo -Hu paperless vi /opt/paperless/paperless.conf&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
PAPERLESS_OCR_LANGUAGE=deu+eng&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Tika / Gotenberg installieren (Docker) ====&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
sudo install -m 0755 -d /etc/apt/keyrings&lt;br /&gt;
sudo curl -fsSL https://download.docker.com/linux/debian/gpg -o /etc/apt/keyrings/docker.asc&lt;br /&gt;
sudo chmod a+r /etc/apt/keyrings/docker.asc&lt;br /&gt;
&lt;br /&gt;
echo \&lt;br /&gt;
  &amp;quot;deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.asc] https://download.docker.com/linux/debian \&lt;br /&gt;
  $(. /etc/os-release &amp;amp;&amp;amp; echo &amp;quot;$VERSION_CODENAME&amp;quot;) stable&amp;quot; | \&lt;br /&gt;
  sudo tee /etc/apt/sources.list.d/docker.list &amp;gt; /dev/null&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
sudo apt update&lt;br /&gt;
sudo apt install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
sudo docker pull apache/tika&lt;br /&gt;
sudo docker run -d --restart unless-stopped -p 127.0.0.1:9998:9998 apache/tika&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
sudo docker pull gotenberg/gotenberg:8&lt;br /&gt;
sudo docker run -d --restart unless-stopped -p 127.0.0.1:3000:3000 gotenberg/gotenberg:8&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
sudo -Hu paperless vi /opt/paperless/paperless.conf&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
# Tika settings&lt;br /&gt;
&lt;br /&gt;
PAPERLESS_TIKA_ENABLED=true&lt;br /&gt;
PAPERLESS_TIKA_ENDPOINT=http://localhost:9998&lt;br /&gt;
PAPERLESS_TIKA_GOTENBERG_ENDPOINT=http://localhost:3000&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Quellen ===&lt;br /&gt;
*[https://wiki.crowncloud.net/?How_to_Install_Python_3_11_on_Debian_11 wiki.crowncloud.net]&lt;br /&gt;
*[https://askubuntu.com/questions/1076846/how-to-install-newer-version-of-ghostscript-on-server-than-provided-from-ubuntu askubuntu.com]&lt;br /&gt;
*[https://docs.paperless-ngx.com/setup/#bare_metal docs.paperless-ngx.com]&lt;br /&gt;
*[https://docs.docker.com/engine/install/debian/ docs.docker.com/]&lt;br /&gt;
*[https://gotenberg.dev/docs/getting-started/installation gotenberg.dev]&lt;br /&gt;
*[https://hub.docker.com/r/apache/tika hub.docker.com]&lt;br /&gt;
&amp;lt;references /&amp;gt;&lt;/div&gt;</summary>
		<author><name>Robin Tönniges</name></author>
	</entry>
	<entry>
		<id>https://wiki.toenniges.de/index.php?title=Paperless-ngx_%22Bare_Metal%22_installieren_(Debian_11/12)&amp;diff=1839</id>
		<title>Paperless-ngx &quot;Bare Metal&quot; installieren (Debian 11/12)</title>
		<link rel="alternate" type="text/html" href="https://wiki.toenniges.de/index.php?title=Paperless-ngx_%22Bare_Metal%22_installieren_(Debian_11/12)&amp;diff=1839"/>
		<updated>2025-03-23T10:56:26Z</updated>

		<summary type="html">&lt;p&gt;Robin Tönniges: /* Paperless-ngx installieren */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Infobox&lt;br /&gt;
| Titel      = Testumgebung&lt;br /&gt;
| Bildname   = &lt;br /&gt;
| Bildbreite = &lt;br /&gt;
| Bildtext   = &lt;br /&gt;
| Stil            = 2&lt;br /&gt;
| Titelfarbe      = 6&lt;br /&gt;
| Abschnittsfarbe = &lt;br /&gt;
| Farbe           = &lt;br /&gt;
| Style           = &lt;br /&gt;
| Feldstyle       = &lt;br /&gt;
| Feldname1 = OS    | Daten1 = Debian 11.11/12.10&lt;br /&gt;
| Feldname3 = paperless-ngx (Dev)    | Daten3 = 2.15.0&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
Anleitung für die &amp;quot;Bare Metal&amp;quot; Installation von [https://docs.paperless-ngx.com/ paperless-ngx] mit dem Sourcecode vom [https://github.com/paperless-ngx/paperless-ngx Dev] oder [https://github.com/paperless-ngx/paperless-ngx/tree/beta Beta] Branch auf Debian 11 und 12.&lt;br /&gt;
==Abhängigkeiten installieren==&lt;br /&gt;
Das System auf den neusten Stand bringen:&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
sudo apt update&lt;br /&gt;
sudo apt upgrade&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
sudo apt install build-essential zlib1g-dev libncurses5-dev libgdbm-dev libnss3-dev libssl-dev libreadline-dev libffi-dev \&lt;br /&gt;
libpq-dev libsqlite3-dev libbz2-dev pkg-config libgdbm-compat-dev liblzma-dev tk-dev uuid-dev wget imagemagick unpaper \&lt;br /&gt;
fonts-liberation gnupg libpq-dev default-libmysqlclient-dev pkg-config libmagic-dev libzbar0 poppler-utils \&lt;br /&gt;
icc-profiles-free qpdf liblept5 libxml2 pngquant zlib1g tesseract-ocr python3-setuptools python3-wheel redis git curl&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
===Python 3.11 installieren===&lt;br /&gt;
'''Debian 11:'''&lt;br /&gt;
:&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
wget https://www.python.org/ftp/python/3.11.11/Python-3.11.11.tgz&lt;br /&gt;
tar -xvf Python-3.11.11.tgz&lt;br /&gt;
cd Python-3.11.11&lt;br /&gt;
./configure --enable-optimizations&lt;br /&gt;
make -j$(nproc)&lt;br /&gt;
sudo make install&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
'''Debian 12:'''&lt;br /&gt;
:&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
sudo apt install python3.11 python3.11-venv python3-pip&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
===Ghostscript 10.05 installieren===&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
wget https://github.com/ArtifexSoftware/ghostpdl-downloads/releases/download/gs10050/ghostscript-10.05.0.tar.gz&lt;br /&gt;
tar -xvf ghostscript-10.05.0.tar.gz&lt;br /&gt;
cd ghostscript-10.05.0&lt;br /&gt;
./configure --without-x&lt;br /&gt;
make -j$(nproc)&lt;br /&gt;
sudo make install&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
== Paperless-ngx installieren ==&lt;br /&gt;
Paperless Benutzer erstellen und Repository klonen:&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
sudo adduser paperless --system --home /opt/paperless --group&lt;br /&gt;
cd /opt/paperless&lt;br /&gt;
sudo -Hu paperless git clone https://github.com/paperless-ngx/paperless-ngx.git .&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
sudo -Hu paperless mkdir consume media&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
'''Debian 11:'''&lt;br /&gt;
:&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
sudo -Hu paperless pip3 install uv&lt;br /&gt;
sudo -Hu paperless uv export --no-dev --all-extras --format requirements-txt --output-file requirements.txt&lt;br /&gt;
sudo -Hu paperless pip3 install -r requirements.txt&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
'''Debian 12:'''&lt;br /&gt;
:&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
sudo -Hu paperless python3 -m venv /opt/paperless/venv&lt;br /&gt;
sudo -Hu paperless /opt/paperless/venv/bin/pip3 install uv&lt;br /&gt;
sudo -Hu paperless /opt/paperless/venv/bin/uv export --no-dev --all-extras --format requirements-txt --output-file requirements.txt&lt;br /&gt;
sudo -Hu paperless /opt/paperless/venv/bin/pip3 install -r requirements.txt&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
sudo -Hu paperless cp paperless.conf.example paperless.conf&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
sudo -Hu paperless vi paperless.conf&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
PAPERLESS_SECRET_KEY=change-me&lt;br /&gt;
&lt;br /&gt;
PAPERLESS_CONSUMPTION_DIR=/mnt/paperless-store/consume&lt;br /&gt;
PAPERLESS_DATA_DIR=/mnt/paperless-store/data&lt;br /&gt;
PAPERLESS_MEDIA_ROOT=/mnt/paperless-store/media&lt;br /&gt;
&lt;br /&gt;
PAPERLESS_TIME_ZONE=Europe/Berlin&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;Wenn du postgresql statt sqlite verwendet möchtest:&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
PAPERLESS_DBHOST=127.0.0.1 # Use postgresql&lt;br /&gt;
PAPERLESS_DBNAME=db_paperless&lt;br /&gt;
#PAPERLESS_DBUSER=paperless&lt;br /&gt;
PAPERLESS_DBPASS=&amp;lt;password&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
sudo apt install postgresql&lt;br /&gt;
sudo -u postgres psql&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&amp;lt;syntaxhighlight lang=&amp;quot;sql&amp;quot;&amp;gt;&lt;br /&gt;
CREATE DATABASE db_paperless;&lt;br /&gt;
CREATE USER paperless WITH ENCRYPTED PASSWORD '&amp;lt;password&amp;gt;';&lt;br /&gt;
GRANT ALL ON DATABASE db_paperless TO paperless;&lt;br /&gt;
\c db_paperless&lt;br /&gt;
GRANT ALL ON SCHEMA public TO paperless;&lt;br /&gt;
\q&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Frontend ===&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
cd src-ui&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
'''Debian 11:'''&lt;br /&gt;
:&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
sudo curl -sL https://deb.nodesource.com/setup_18.x | sudo -E bash -&lt;br /&gt;
sudo apt install nodejs&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
'''Debian 12:'''&lt;br /&gt;
:&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
sudo apt install nodejs&lt;br /&gt;
sudo apt install npm&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
sudo npm install -g @angular/cli&lt;br /&gt;
sudo npm install -g pnpm&lt;br /&gt;
sudo -Hu paperless pnpm install&lt;br /&gt;
&lt;br /&gt;
sudo -Hu paperless ng build --configuration production&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Backend ===&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
cd ../src&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
'''Debian 11:'''&lt;br /&gt;
:&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
sudo -Hu paperless python3 manage.py migrate&lt;br /&gt;
sudo -Hu paperless python3 manage.py createsuperuser&lt;br /&gt;
sudo -Hu paperless python3 manage.py collectstatic&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
'''Debian 12:'''&lt;br /&gt;
:&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
sudo -Hu paperless /opt/paperless/venv/bin/python3 manage.py migrate&lt;br /&gt;
sudo -Hu paperless /opt/paperless/venv/bin/python3 manage.py createsuperuser&lt;br /&gt;
sudo -Hu paperless /opt/paperless/venv/bin/python3 manage.py collectstatic&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Systemd Services anlegen: ===&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
cd ../scripts&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== paperless-consumer ====&lt;br /&gt;
'''Debian 12:'''&lt;br /&gt;
:&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
sudo vi paperless-consumer.service&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;ExecStart ersetzen:&lt;br /&gt;
:&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
ExecStart=/opt/paperless/venv/bin/python3 manage.py document_consumer&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
sudo ln -s /opt/paperless/scripts/paperless-consumer.service /etc/systemd/system/paperless-consumer.service&lt;br /&gt;
sudo systemctl daemon-reload&lt;br /&gt;
sudo systemctl enable --now paperless-consumer.service&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
systemctl status paperless-consumer.service&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;Sollte in etwa so aussehen:&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
● paperless-consumer.service - Paperless consumer&lt;br /&gt;
     Loaded: loaded (/etc/systemd/system/paperless-consumer.service; enabled; preset: enabled)&lt;br /&gt;
     Active: active (running) since Sat 2025-03-22 22:25:06 CET; 6s ago&lt;br /&gt;
   Main PID: 6715 (python3)&lt;br /&gt;
      Tasks: 11 (limit: 9472)&lt;br /&gt;
     Memory: 97.2M&lt;br /&gt;
        CPU: 1.518s&lt;br /&gt;
     CGroup: /system.slice/paperless-consumer.service&lt;br /&gt;
             └─6715 /opt/paperless/venv/bin/python3 manage.py document_consumer&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== paperless-scheduler ====&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
sudo vi paperless-scheduler.service&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;'''Debian 11:'''&lt;br /&gt;
:ExecStart ersetzen:&lt;br /&gt;
:&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
ExecStart=/opt/paperless/.local/bin/celery --app paperless beat --loglevel INFO&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
'''Debian 12:'''&lt;br /&gt;
:ExecStart ersetzen:&lt;br /&gt;
:&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
ExecStart=/opt/paperless/venv/bin/celery --app paperless beat --loglevel INFO&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
sudo ln -s /opt/paperless/scripts/paperless-scheduler.service /etc/systemd/system/paperless-scheduler.service&lt;br /&gt;
sudo systemctl daemon-reload&lt;br /&gt;
sudo systemctl enable --now paperless-scheduler.service&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
systemctl status paperless-scheduler.service&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;Sollte in etwa so aussehen:&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
● paperless-scheduler.service - Paperless Celery Beat&lt;br /&gt;
     Loaded: loaded (/etc/systemd/system/paperless-scheduler.service; enabled; preset: enabled)&lt;br /&gt;
     Active: active (running) since Sat 2025-03-22 22:29:33 CET; 4s ago&lt;br /&gt;
   Main PID: 6981 ([celery beat] -)&lt;br /&gt;
      Tasks: 22 (limit: 9472)&lt;br /&gt;
     Memory: 115.1M&lt;br /&gt;
        CPU: 1.831s&lt;br /&gt;
     CGroup: /system.slice/paperless-scheduler.service&lt;br /&gt;
             └─6981 &amp;quot;[celery beat] --app paperless beat --loglevel INFO&amp;quot;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== paperless-task-queue ====&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
sudo vi paperless-task-queue.service&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;'''Debian 11:'''&lt;br /&gt;
:ExecStart ersetzen:&lt;br /&gt;
:&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
ExecStart=/opt/paperless/.local/bin/celery --app paperless worker --loglevel INFO&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
'''Debian 12:'''&lt;br /&gt;
:ExecStart ersetzen:&lt;br /&gt;
:&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
ExecStart=/opt/paperless/venv/bin/celery --app paperless worker --loglevel INFO&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
sudo ln -s /opt/paperless/scripts/paperless-task-queue.service /etc/systemd/system/paperless-task-queue.service&lt;br /&gt;
sudo systemctl daemon-reload&lt;br /&gt;
sudo systemctl enable --now paperless-task-queue.service&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
systemctl status paperless-task-queue.service&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;Sollte in etwa so aussehen:&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
● paperless-task-queue.service - Paperless Celery Workers&lt;br /&gt;
     Loaded: loaded (/etc/systemd/system/paperless-task-queue.service; enabled; preset: enabled)&lt;br /&gt;
     Active: active (running) since Sat 2025-03-22 22:31:23 CET; 4s ago&lt;br /&gt;
   Main PID: 7122 ([celeryd: celer)&lt;br /&gt;
      Tasks: 24 (limit: 9472)&lt;br /&gt;
     Memory: 197.6M&lt;br /&gt;
        CPU: 2.177s&lt;br /&gt;
     CGroup: /system.slice/paperless-task-queue.service&lt;br /&gt;
             ├─7122 &amp;quot;[celeryd: celery@paperless-ngx-1:MainProcess] -active- (--app paperless worker --loglevel INFO)&amp;quot;&lt;br /&gt;
             ├─7153 &amp;quot;[celeryd: celery@paperless-ngx-1:ForkPoolWorker-1]&amp;quot;&lt;br /&gt;
             └─7154 &amp;quot;[celeryd: celery@paperless-ngx-1:ForkPoolWorker-2]&amp;quot;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
==== paperless-webserver ====&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
sudo vi paperless-webserver.service&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;'''Debian 11:'''&lt;br /&gt;
:exec ersetzen:&lt;br /&gt;
:&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
exec /opt/paperless/.local/bin/granian --interface asginl --ws &amp;quot;paperless.asgi:application&amp;quot;'&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
'''Debian 12:'''&lt;br /&gt;
:exec ersetzen:&lt;br /&gt;
:&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
exec /opt/paperless/venv/bin/granian --interface asginl --ws &amp;quot;paperless.asgi:application&amp;quot;'&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
sudo ln -s /opt/paperless/scripts/paperless-webserver.service /etc/systemd/system/paperless-webserver.service&lt;br /&gt;
sudo systemctl daemon-reload&lt;br /&gt;
sudo systemctl enable --now paperless-webserver.service&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
systemctl status paperless-webserver.service&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;Sollte in etwa so aussehen:&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
● paperless-webserver.service - Paperless webserver&lt;br /&gt;
     Loaded: loaded (/etc/systemd/system/paperless-webserver.service; enabled; preset: enabled)&lt;br /&gt;
     Active: active (running) since Sat 2025-03-22 22:34:41 CET; 3s ago&lt;br /&gt;
   Main PID: 7519 (granian asginl )&lt;br /&gt;
      Tasks: 18 (limit: 9472)&lt;br /&gt;
     Memory: 133.2M&lt;br /&gt;
        CPU: 1.746s&lt;br /&gt;
     CGroup: /system.slice/paperless-webserver.service&lt;br /&gt;
             ├─7519 &amp;quot;granian asginl :::8000 paperless.asgi:application&amp;quot;&lt;br /&gt;
             └─7521 &amp;quot;granian asginl :::8000 paperless.asgi:application worker-1&amp;quot;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Zusätzliche Pakete installieren ===&lt;br /&gt;
&lt;br /&gt;
==== stopwords &amp;amp; punkt_tab ====&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
cd ..&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Debian 11:'''&lt;br /&gt;
:&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
sudo -Hu paperless python3 -m nltk.downloader stopwords&lt;br /&gt;
sudo -Hu paperless python3 -m nltk.downloader punkt_tab&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
'''Debian 12:'''&lt;br /&gt;
:&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
sudo -Hu paperless /opt/paperless/venv/bin/python3 -m nltk.downloader stopwords&lt;br /&gt;
sudo -Hu paperless /opt/paperless/venv/bin/python3 -m nltk.downloader punkt_tab&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
sudo apt install tesseract-ocr-deu&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
sudo -Hu paperless vi /opt/paperless/paperless.conf&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
PAPERLESS_NLTK_DIR=/opt/paperless/nltk_data&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== jbig2enc ====&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
sudo apt install autotools-dev automake libtool libleptonica-dev&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
cd ~&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;'''Debian 11:'''&lt;br /&gt;
:&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
wget https://ftp.gnu.org/gnu/autoconf/autoconf-2.71.tar.xz&lt;br /&gt;
tar -xf autoconf-2.71.tar.xz&lt;br /&gt;
cd autoconf-2.71/&lt;br /&gt;
./configure&lt;br /&gt;
make -j$(nproc)&lt;br /&gt;
sudo make install &lt;br /&gt;
. ~/.profile&lt;br /&gt;
autoconf --version&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
git clone https://github.com/agl/jbig2enc&lt;br /&gt;
cd jbig2enc&lt;br /&gt;
./autogen.sh&lt;br /&gt;
./configure &amp;amp;&amp;amp; make -j$(nproc)&lt;br /&gt;
sudo make install&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;Für die Verarbeitung von Dokumenten in deutscher Sprache:&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
sudo apt install tesseract-ocr-deu&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
sudo -Hu paperless vi /opt/paperless/paperless.conf&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
PAPERLESS_OCR_LANGUAGE=deu+eng&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Tika / Gotenberg installieren (Docker) ====&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
sudo install -m 0755 -d /etc/apt/keyrings&lt;br /&gt;
sudo curl -fsSL https://download.docker.com/linux/debian/gpg -o /etc/apt/keyrings/docker.asc&lt;br /&gt;
sudo chmod a+r /etc/apt/keyrings/docker.asc&lt;br /&gt;
&lt;br /&gt;
echo \&lt;br /&gt;
  &amp;quot;deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.asc] https://download.docker.com/linux/debian \&lt;br /&gt;
  $(. /etc/os-release &amp;amp;&amp;amp; echo &amp;quot;$VERSION_CODENAME&amp;quot;) stable&amp;quot; | \&lt;br /&gt;
  sudo tee /etc/apt/sources.list.d/docker.list &amp;gt; /dev/null&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
sudo apt update&lt;br /&gt;
sudo apt install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
sudo docker pull apache/tika&lt;br /&gt;
sudo docker run -d --restart unless-stopped -p 127.0.0.1:9998:9998 apache/tika&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
sudo docker pull gotenberg/gotenberg:8&lt;br /&gt;
sudo docker run -d --restart unless-stopped -p 127.0.0.1:3000:3000 gotenberg/gotenberg:8&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
sudo -Hu paperless vi /opt/paperless/paperless.conf&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
# Tika settings&lt;br /&gt;
&lt;br /&gt;
PAPERLESS_TIKA_ENABLED=true&lt;br /&gt;
PAPERLESS_TIKA_ENDPOINT=http://localhost:9998&lt;br /&gt;
PAPERLESS_TIKA_GOTENBERG_ENDPOINT=http://localhost:3000&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== ImageMagic konfigurieren: ===&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
sudo vi /etc/ImageMagick-6/policy.xml&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;policy domain=&amp;quot;coder&amp;quot; rights=&amp;quot;read|write&amp;quot; pattern=&amp;quot;PDF&amp;quot; /&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
==Quellen==&lt;br /&gt;
*[https://wiki.crowncloud.net/?How_to_Install_Python_3_11_on_Debian_11 wiki.crowncloud.net]&lt;br /&gt;
*[https://askubuntu.com/questions/1076846/how-to-install-newer-version-of-ghostscript-on-server-than-provided-from-ubuntu askubuntu.com]&lt;br /&gt;
*[https://docs.paperless-ngx.com/setup/#bare_metal docs.paperless-ngx.com]&lt;br /&gt;
*[https://docs.docker.com/engine/install/debian/ docs.docker.com/]&lt;br /&gt;
*[https://gotenberg.dev/docs/getting-started/installation gotenberg.dev]&lt;br /&gt;
*[https://hub.docker.com/r/apache/tika hub.docker.com]&lt;br /&gt;
&amp;lt;references /&amp;gt;&lt;/div&gt;</summary>
		<author><name>Robin Tönniges</name></author>
	</entry>
	<entry>
		<id>https://wiki.toenniges.de/index.php?title=Hauptseite&amp;diff=1838</id>
		<title>Hauptseite</title>
		<link rel="alternate" type="text/html" href="https://wiki.toenniges.de/index.php?title=Hauptseite&amp;diff=1838"/>
		<updated>2025-03-23T10:54:52Z</updated>

		<summary type="html">&lt;p&gt;Robin Tönniges: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Raspberry Pi ==&lt;br /&gt;
[[Proxmox auf Raspberry Pi (Pimox)]]&lt;br /&gt;
&lt;br /&gt;
[[Raspberry Pi Kernel für Proxmox optimieren]]&lt;br /&gt;
&lt;br /&gt;
[[Ceph Cluster mit Raspberry PIs aufbauen]]&lt;br /&gt;
&lt;br /&gt;
[[Log2Ram installieren]]&lt;br /&gt;
&lt;br /&gt;
[[Grafana auf Raspberry Pi installieren]]&lt;br /&gt;
&lt;br /&gt;
[[NGINX installieren (Raspberry Pi)]]&lt;br /&gt;
&lt;br /&gt;
[[Debian 11 auf Raspberry Pi 4 installieren]]&lt;br /&gt;
&lt;br /&gt;
[[Raspberry Pi OS 64 Bit - Upgrade auf Debian 11]] &lt;br /&gt;
&lt;br /&gt;
== Debian/Ubuntu ==&lt;br /&gt;
[[MariaDB installieren (Debian/Ubuntu)]]&lt;br /&gt;
&lt;br /&gt;
[[Unifi Network installieren (Debian 11)]]&lt;br /&gt;
&lt;br /&gt;
[[DNS mit BIND]]&lt;br /&gt;
&lt;br /&gt;
[[Paperless-ngx &amp;quot;Bare Metal&amp;quot; installieren (Debian 11/12)|Paperless-ngx von Source installieren (Debian 11/12)]]&lt;br /&gt;
&lt;br /&gt;
== AlmaLinux/CentOS ==&lt;br /&gt;
[[Apache installieren (AlmaLinux/CentOS)]]&lt;br /&gt;
&lt;br /&gt;
[[NGINX installieren (AlmaLinux/CentOS)]]&lt;br /&gt;
&lt;br /&gt;
[[Zabbix Server/Agent installieren (AlmaLinux aarch64)]]&lt;br /&gt;
&lt;br /&gt;
[[PowerDNS und PowerDNS-Admin installieren (AlmaLinux/CentOS)]]&lt;br /&gt;
&lt;br /&gt;
[[OpenCMS installieren (AlmaLinux/CentOS)]]&lt;br /&gt;
&lt;br /&gt;
[[SSH Public-Key Login mit PuTTY (AlmaLinux/CentOS)]]&lt;br /&gt;
&lt;br /&gt;
[[PrivacyIDEA installieren (AlmaLinux/CentOS)]]&lt;br /&gt;
&lt;br /&gt;
[[Oracle Database XE installieren (AlmaLinux/CentOS)]]&lt;br /&gt;
&lt;br /&gt;
[[Kubernetes Cluster in Proxmox VE (AlmaLinux/CentOS)]]&lt;br /&gt;
&lt;br /&gt;
== Software ==&lt;br /&gt;
[[Apache - SSL Zertifikat installieren]]&lt;br /&gt;
&lt;br /&gt;
[[Reverse Proxy mit NGINX]]&lt;br /&gt;
&lt;br /&gt;
[[MediaWiki mit Varnish Cache und NGINX Proxy]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
=== [[Linksammlung]] ===&lt;br /&gt;
__KEIN_INHALTSVERZEICHNIS__&lt;/div&gt;</summary>
		<author><name>Robin Tönniges</name></author>
	</entry>
	<entry>
		<id>https://wiki.toenniges.de/index.php?title=Paperless-ngx_%22Bare_Metal%22_installieren_(Debian_11/12)&amp;diff=1837</id>
		<title>Paperless-ngx &quot;Bare Metal&quot; installieren (Debian 11/12)</title>
		<link rel="alternate" type="text/html" href="https://wiki.toenniges.de/index.php?title=Paperless-ngx_%22Bare_Metal%22_installieren_(Debian_11/12)&amp;diff=1837"/>
		<updated>2025-03-23T00:25:21Z</updated>

		<summary type="html">&lt;p&gt;Robin Tönniges: /* Quellen */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Infobox&lt;br /&gt;
| Titel      = Testumgebung&lt;br /&gt;
| Bildname   = &lt;br /&gt;
| Bildbreite = &lt;br /&gt;
| Bildtext   = &lt;br /&gt;
| Stil            = 2&lt;br /&gt;
| Titelfarbe      = 6&lt;br /&gt;
| Abschnittsfarbe = &lt;br /&gt;
| Farbe           = &lt;br /&gt;
| Style           = &lt;br /&gt;
| Feldstyle       = &lt;br /&gt;
| Feldname1 = OS    | Daten1 = Debian 11.11/12.10&lt;br /&gt;
| Feldname3 = paperless-ngx (Dev)    | Daten3 = 2.15.0&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
Anleitung für die &amp;quot;Bare Metal&amp;quot; Installation von [https://docs.paperless-ngx.com/ paperless-ngx] mit dem Sourcecode vom [https://github.com/paperless-ngx/paperless-ngx Dev] oder [https://github.com/paperless-ngx/paperless-ngx/tree/beta Beta] Branch auf Debian 11 und 12.&lt;br /&gt;
==Abhängigkeiten installieren==&lt;br /&gt;
Das System auf den neusten Stand bringen:&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
sudo apt update&lt;br /&gt;
sudo apt upgrade&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
sudo apt install build-essential zlib1g-dev libncurses5-dev libgdbm-dev libnss3-dev libssl-dev libreadline-dev libffi-dev \&lt;br /&gt;
libpq-dev libsqlite3-dev libbz2-dev pkg-config libgdbm-compat-dev liblzma-dev tk-dev uuid-dev wget imagemagick unpaper \&lt;br /&gt;
fonts-liberation gnupg libpq-dev default-libmysqlclient-dev pkg-config libmagic-dev libzbar0 poppler-utils \&lt;br /&gt;
icc-profiles-free qpdf liblept5 libxml2 pngquant zlib1g tesseract-ocr python3-setuptools python3-wheel redis git curl&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
===Python 3.11 installieren===&lt;br /&gt;
'''Debian 11:'''&lt;br /&gt;
:&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
wget https://www.python.org/ftp/python/3.11.11/Python-3.11.11.tgz&lt;br /&gt;
tar -xvf Python-3.11.11.tgz&lt;br /&gt;
cd Python-3.11.11&lt;br /&gt;
./configure --enable-optimizations&lt;br /&gt;
make -j$(nproc)&lt;br /&gt;
sudo make install&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
'''Debian 12:'''&lt;br /&gt;
:&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
sudo apt install python3.11 python3.11-venv python3-pip&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
===Ghostscript 10.05 installieren===&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
wget https://github.com/ArtifexSoftware/ghostpdl-downloads/releases/download/gs10050/ghostscript-10.05.0.tar.gz&lt;br /&gt;
tar -xvf ghostscript-10.05.0.tar.gz&lt;br /&gt;
cd ghostscript-10.05.0&lt;br /&gt;
./configure --without-x&lt;br /&gt;
make -j$(nproc)&lt;br /&gt;
sudo make install&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
== Paperless-ngx installieren ==&lt;br /&gt;
Paperless Benutzer erstellen und Repository klonen:&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
sudo adduser paperless --system --home /opt/paperless --group&lt;br /&gt;
cd /opt/paperless&lt;br /&gt;
sudo -Hu paperless git clone https://github.com/paperless-ngx/paperless-ngx.git .&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
sudo -Hu paperless mkdir consume media&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
'''Debian 11:'''&lt;br /&gt;
:&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
sudo -Hu paperless pip3 install uv&lt;br /&gt;
sudo -Hu paperless uv export --no-dev --all-extras --format requirements-txt --output-file requirements.txt&lt;br /&gt;
sudo -Hu paperless pip3 install -r requirements.txt&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
'''Debian 12:'''&lt;br /&gt;
:&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
sudo -Hu paperless python3 -m venv /opt/paperless/venv&lt;br /&gt;
sudo -Hu paperless /opt/paperless/venv/bin/pip3 install uv&lt;br /&gt;
sudo -Hu paperless /opt/paperless/venv/bin/uv export --no-dev --all-extras --format requirements-txt --output-file requirements.txt&lt;br /&gt;
sudo -Hu paperless /opt/paperless/venv/bin/pip3 install -r requirements.txt&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
sudo -Hu paperless cp paperless.conf.example paperless.conf&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
sudo -Hu paperless vi paperless.conf&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
PAPERLESS_SECRET_KEY=change-me&lt;br /&gt;
&lt;br /&gt;
PAPERLESS_CONSUMPTION_DIR=/mnt/paperless-store/consume&lt;br /&gt;
PAPERLESS_DATA_DIR=/mnt/paperless-store/data&lt;br /&gt;
PAPERLESS_MEDIA_ROOT=/mnt/paperless-store/media&lt;br /&gt;
&lt;br /&gt;
PAPERLESS_TIME_ZONE=Europe/Berlin&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;Wenn du postgresql statt sqlite verwendet möchtest:&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
PAPERLESS_DBHOST=127.0.0.1 # Use postgresql&lt;br /&gt;
PAPERLESS_DBNAME=db_paperless&lt;br /&gt;
#PAPERLESS_DBUSER=paperless&lt;br /&gt;
PAPERLESS_DBPASS=&amp;lt;password&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
sudo apt install postgresql&lt;br /&gt;
sudo -u postgres psql&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&amp;lt;syntaxhighlight lang=&amp;quot;sql&amp;quot;&amp;gt;&lt;br /&gt;
CREATE DATABASE db_paperless;&lt;br /&gt;
CREATE USER paperless WITH ENCRYPTED PASSWORD '&amp;lt;password&amp;gt;';&lt;br /&gt;
GRANT ALL ON DATABASE db_paperless TO paperless;&lt;br /&gt;
\c db_paperless&lt;br /&gt;
GRANT ALL ON SCHEMA public TO paperless;&lt;br /&gt;
\q&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;Frontend:&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
cd src-ui&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
'''Debian 11:'''&lt;br /&gt;
:&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
sudo curl -sL https://deb.nodesource.com/setup_18.x | sudo -E bash -&lt;br /&gt;
sudo apt install nodejs&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
'''Debian 12:'''&lt;br /&gt;
:&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
sudo apt install nodejs&lt;br /&gt;
sudo apt install npm&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
sudo npm install -g @angular/cli&lt;br /&gt;
sudo npm install -g pnpm&lt;br /&gt;
sudo -Hu paperless pnpm install&lt;br /&gt;
&lt;br /&gt;
sudo -Hu paperless ng build --configuration production&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
Backend:&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
cd ../src&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
'''Debian 11:'''&lt;br /&gt;
:&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
sudo -Hu paperless python3 manage.py migrate&lt;br /&gt;
sudo -Hu paperless python3 manage.py createsuperuser&lt;br /&gt;
sudo -Hu paperless python3 manage.py collectstatic&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
'''Debian 12:'''&lt;br /&gt;
:&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
sudo -Hu paperless /opt/paperless/venv/bin/python3 manage.py migrate&lt;br /&gt;
sudo -Hu paperless /opt/paperless/venv/bin/python3 manage.py createsuperuser&lt;br /&gt;
sudo -Hu paperless /opt/paperless/venv/bin/python3 manage.py collectstatic&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Systemd Services anlegen: ===&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
cd ../scripts&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== paperless-consumer ====&lt;br /&gt;
'''Debian 12:'''&lt;br /&gt;
:&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
sudo vi paperless-consumer.service&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;ExecStart ersetzen:&lt;br /&gt;
:&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
ExecStart=/opt/paperless/venv/bin/python3 manage.py document_consumer&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
sudo ln -s /opt/paperless/scripts/paperless-consumer.service /etc/systemd/system/paperless-consumer.service&lt;br /&gt;
sudo systemctl daemon-reload&lt;br /&gt;
sudo systemctl enable --now paperless-consumer.service&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
systemctl status paperless-consumer.service&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;Sollte in etwa so aussehen:&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
● paperless-consumer.service - Paperless consumer&lt;br /&gt;
     Loaded: loaded (/etc/systemd/system/paperless-consumer.service; enabled; preset: enabled)&lt;br /&gt;
     Active: active (running) since Sat 2025-03-22 22:25:06 CET; 6s ago&lt;br /&gt;
   Main PID: 6715 (python3)&lt;br /&gt;
      Tasks: 11 (limit: 9472)&lt;br /&gt;
     Memory: 97.2M&lt;br /&gt;
        CPU: 1.518s&lt;br /&gt;
     CGroup: /system.slice/paperless-consumer.service&lt;br /&gt;
             └─6715 /opt/paperless/venv/bin/python3 manage.py document_consumer&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== paperless-scheduler ====&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
sudo vi paperless-scheduler.service&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;'''Debian 11:'''&lt;br /&gt;
:ExecStart ersetzen:&lt;br /&gt;
:&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
ExecStart=/opt/paperless/.local/bin/celery --app paperless beat --loglevel INFO&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
'''Debian 12:'''&lt;br /&gt;
:ExecStart ersetzen:&lt;br /&gt;
:&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
ExecStart=/opt/paperless/venv/bin/celery --app paperless beat --loglevel INFO&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
sudo ln -s /opt/paperless/scripts/paperless-scheduler.service /etc/systemd/system/paperless-scheduler.service&lt;br /&gt;
sudo systemctl daemon-reload&lt;br /&gt;
sudo systemctl enable --now paperless-scheduler.service&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
systemctl status paperless-scheduler.service&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;Sollte in etwa so aussehen:&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
● paperless-scheduler.service - Paperless Celery Beat&lt;br /&gt;
     Loaded: loaded (/etc/systemd/system/paperless-scheduler.service; enabled; preset: enabled)&lt;br /&gt;
     Active: active (running) since Sat 2025-03-22 22:29:33 CET; 4s ago&lt;br /&gt;
   Main PID: 6981 ([celery beat] -)&lt;br /&gt;
      Tasks: 22 (limit: 9472)&lt;br /&gt;
     Memory: 115.1M&lt;br /&gt;
        CPU: 1.831s&lt;br /&gt;
     CGroup: /system.slice/paperless-scheduler.service&lt;br /&gt;
             └─6981 &amp;quot;[celery beat] --app paperless beat --loglevel INFO&amp;quot;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== paperless-task-queue ====&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
sudo vi paperless-task-queue.service&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;'''Debian 11:'''&lt;br /&gt;
:ExecStart ersetzen:&lt;br /&gt;
:&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
ExecStart=/opt/paperless/.local/bin/celery --app paperless worker --loglevel INFO&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
'''Debian 12:'''&lt;br /&gt;
:ExecStart ersetzen:&lt;br /&gt;
:&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
ExecStart=/opt/paperless/venv/bin/celery --app paperless worker --loglevel INFO&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
sudo ln -s /opt/paperless/scripts/paperless-task-queue.service /etc/systemd/system/paperless-task-queue.service&lt;br /&gt;
sudo systemctl daemon-reload&lt;br /&gt;
sudo systemctl enable --now paperless-task-queue.service&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
systemctl status paperless-task-queue.service&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;Sollte in etwa so aussehen:&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
● paperless-task-queue.service - Paperless Celery Workers&lt;br /&gt;
     Loaded: loaded (/etc/systemd/system/paperless-task-queue.service; enabled; preset: enabled)&lt;br /&gt;
     Active: active (running) since Sat 2025-03-22 22:31:23 CET; 4s ago&lt;br /&gt;
   Main PID: 7122 ([celeryd: celer)&lt;br /&gt;
      Tasks: 24 (limit: 9472)&lt;br /&gt;
     Memory: 197.6M&lt;br /&gt;
        CPU: 2.177s&lt;br /&gt;
     CGroup: /system.slice/paperless-task-queue.service&lt;br /&gt;
             ├─7122 &amp;quot;[celeryd: celery@paperless-ngx-1:MainProcess] -active- (--app paperless worker --loglevel INFO)&amp;quot;&lt;br /&gt;
             ├─7153 &amp;quot;[celeryd: celery@paperless-ngx-1:ForkPoolWorker-1]&amp;quot;&lt;br /&gt;
             └─7154 &amp;quot;[celeryd: celery@paperless-ngx-1:ForkPoolWorker-2]&amp;quot;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
==== paperless-webserver ====&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
sudo vi paperless-webserver.service&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;'''Debian 11:'''&lt;br /&gt;
:exec ersetzen:&lt;br /&gt;
:&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
exec /opt/paperless/.local/bin/granian --interface asginl --ws &amp;quot;paperless.asgi:application&amp;quot;'&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
'''Debian 12:'''&lt;br /&gt;
:exec ersetzen:&lt;br /&gt;
:&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
exec /opt/paperless/venv/bin/granian --interface asginl --ws &amp;quot;paperless.asgi:application&amp;quot;'&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
sudo ln -s /opt/paperless/scripts/paperless-webserver.service /etc/systemd/system/paperless-webserver.service&lt;br /&gt;
sudo systemctl daemon-reload&lt;br /&gt;
sudo systemctl enable --now paperless-webserver.service&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
systemctl status paperless-webserver.service&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;Sollte in etwa so aussehen:&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
● paperless-webserver.service - Paperless webserver&lt;br /&gt;
     Loaded: loaded (/etc/systemd/system/paperless-webserver.service; enabled; preset: enabled)&lt;br /&gt;
     Active: active (running) since Sat 2025-03-22 22:34:41 CET; 3s ago&lt;br /&gt;
   Main PID: 7519 (granian asginl )&lt;br /&gt;
      Tasks: 18 (limit: 9472)&lt;br /&gt;
     Memory: 133.2M&lt;br /&gt;
        CPU: 1.746s&lt;br /&gt;
     CGroup: /system.slice/paperless-webserver.service&lt;br /&gt;
             ├─7519 &amp;quot;granian asginl :::8000 paperless.asgi:application&amp;quot;&lt;br /&gt;
             └─7521 &amp;quot;granian asginl :::8000 paperless.asgi:application worker-1&amp;quot;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Zusätzliche Pakete installieren ===&lt;br /&gt;
&lt;br /&gt;
==== stopwords &amp;amp; punkt_tab ====&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
cd ..&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Debian 11:'''&lt;br /&gt;
:&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
sudo -Hu paperless python3 -m nltk.downloader stopwords&lt;br /&gt;
sudo -Hu paperless python3 -m nltk.downloader punkt_tab&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
'''Debian 12:'''&lt;br /&gt;
:&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
sudo -Hu paperless /opt/paperless/venv/bin/python3 -m nltk.downloader stopwords&lt;br /&gt;
sudo -Hu paperless /opt/paperless/venv/bin/python3 -m nltk.downloader punkt_tab&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
sudo apt install tesseract-ocr-deu&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
sudo -Hu paperless vi /opt/paperless/paperless.conf&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
PAPERLESS_NLTK_DIR=/opt/paperless/nltk_data&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== jbig2enc ====&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
sudo apt install autotools-dev automake libtool libleptonica-dev&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
cd ~&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;'''Debian 11:'''&lt;br /&gt;
:&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
wget https://ftp.gnu.org/gnu/autoconf/autoconf-2.71.tar.xz&lt;br /&gt;
tar -xf autoconf-2.71.tar.xz&lt;br /&gt;
cd autoconf-2.71/&lt;br /&gt;
./configure&lt;br /&gt;
make -j$(nproc)&lt;br /&gt;
sudo make install &lt;br /&gt;
. ~/.profile&lt;br /&gt;
autoconf --version&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
git clone https://github.com/agl/jbig2enc&lt;br /&gt;
cd jbig2enc&lt;br /&gt;
./autogen.sh&lt;br /&gt;
./configure &amp;amp;&amp;amp; make -j$(nproc)&lt;br /&gt;
sudo make install&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;Für die Verarbeitung von Dokumenten in deutscher Sprache:&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
sudo apt install tesseract-ocr-deu&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
sudo -Hu paperless vi /opt/paperless/paperless.conf&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
PAPERLESS_OCR_LANGUAGE=deu+eng&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Tika / Gotenberg installieren (Docker) ====&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
sudo install -m 0755 -d /etc/apt/keyrings&lt;br /&gt;
sudo curl -fsSL https://download.docker.com/linux/debian/gpg -o /etc/apt/keyrings/docker.asc&lt;br /&gt;
sudo chmod a+r /etc/apt/keyrings/docker.asc&lt;br /&gt;
&lt;br /&gt;
echo \&lt;br /&gt;
  &amp;quot;deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.asc] https://download.docker.com/linux/debian \&lt;br /&gt;
  $(. /etc/os-release &amp;amp;&amp;amp; echo &amp;quot;$VERSION_CODENAME&amp;quot;) stable&amp;quot; | \&lt;br /&gt;
  sudo tee /etc/apt/sources.list.d/docker.list &amp;gt; /dev/null&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
sudo apt update&lt;br /&gt;
sudo apt install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
sudo docker pull apache/tika&lt;br /&gt;
sudo docker run -d --restart unless-stopped -p 127.0.0.1:9998:9998 apache/tika&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
sudo docker pull gotenberg/gotenberg:8&lt;br /&gt;
sudo docker run -d --restart unless-stopped -p 127.0.0.1:3000:3000 gotenberg/gotenberg:8&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
sudo -Hu paperless vi /opt/paperless/paperless.conf&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
# Tika settings&lt;br /&gt;
&lt;br /&gt;
PAPERLESS_TIKA_ENABLED=true&lt;br /&gt;
PAPERLESS_TIKA_ENDPOINT=http://localhost:9998&lt;br /&gt;
PAPERLESS_TIKA_GOTENBERG_ENDPOINT=http://localhost:3000&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== ImageMagic konfigurieren: ===&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
sudo vi /etc/ImageMagick-6/policy.xml&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;policy domain=&amp;quot;coder&amp;quot; rights=&amp;quot;read|write&amp;quot; pattern=&amp;quot;PDF&amp;quot; /&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
==Quellen==&lt;br /&gt;
*[https://wiki.crowncloud.net/?How_to_Install_Python_3_11_on_Debian_11 wiki.crowncloud.net]&lt;br /&gt;
*[https://askubuntu.com/questions/1076846/how-to-install-newer-version-of-ghostscript-on-server-than-provided-from-ubuntu askubuntu.com]&lt;br /&gt;
*[https://docs.paperless-ngx.com/setup/#bare_metal docs.paperless-ngx.com]&lt;br /&gt;
*[https://docs.docker.com/engine/install/debian/ docs.docker.com/]&lt;br /&gt;
*[https://gotenberg.dev/docs/getting-started/installation gotenberg.dev]&lt;br /&gt;
*[https://hub.docker.com/r/apache/tika hub.docker.com]&lt;br /&gt;
&amp;lt;references /&amp;gt;&lt;/div&gt;</summary>
		<author><name>Robin Tönniges</name></author>
	</entry>
	<entry>
		<id>https://wiki.toenniges.de/index.php?title=Paperless-ngx_%22Bare_Metal%22_installieren_(Debian_11/12)&amp;diff=1836</id>
		<title>Paperless-ngx &quot;Bare Metal&quot; installieren (Debian 11/12)</title>
		<link rel="alternate" type="text/html" href="https://wiki.toenniges.de/index.php?title=Paperless-ngx_%22Bare_Metal%22_installieren_(Debian_11/12)&amp;diff=1836"/>
		<updated>2025-03-23T00:10:16Z</updated>

		<summary type="html">&lt;p&gt;Robin Tönniges: /* ImageMagic konfigurieren: */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Infobox&lt;br /&gt;
| Titel      = Testumgebung&lt;br /&gt;
| Bildname   = &lt;br /&gt;
| Bildbreite = &lt;br /&gt;
| Bildtext   = &lt;br /&gt;
| Stil            = 2&lt;br /&gt;
| Titelfarbe      = 6&lt;br /&gt;
| Abschnittsfarbe = &lt;br /&gt;
| Farbe           = &lt;br /&gt;
| Style           = &lt;br /&gt;
| Feldstyle       = &lt;br /&gt;
| Feldname1 = OS    | Daten1 = Debian 11.11/12.10&lt;br /&gt;
| Feldname3 = paperless-ngx (Dev)    | Daten3 = 2.15.0&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
Anleitung für die &amp;quot;Bare Metal&amp;quot; Installation von [https://docs.paperless-ngx.com/ paperless-ngx] mit dem Sourcecode vom [https://github.com/paperless-ngx/paperless-ngx Dev] oder [https://github.com/paperless-ngx/paperless-ngx/tree/beta Beta] Branch auf Debian 11 und 12.&lt;br /&gt;
==Abhängigkeiten installieren==&lt;br /&gt;
Das System auf den neusten Stand bringen:&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
sudo apt update&lt;br /&gt;
sudo apt upgrade&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
sudo apt install build-essential zlib1g-dev libncurses5-dev libgdbm-dev libnss3-dev libssl-dev libreadline-dev libffi-dev \&lt;br /&gt;
libpq-dev libsqlite3-dev libbz2-dev pkg-config libgdbm-compat-dev liblzma-dev tk-dev uuid-dev wget imagemagick unpaper \&lt;br /&gt;
fonts-liberation gnupg libpq-dev default-libmysqlclient-dev pkg-config libmagic-dev libzbar0 poppler-utils \&lt;br /&gt;
icc-profiles-free qpdf liblept5 libxml2 pngquant zlib1g tesseract-ocr python3-setuptools python3-wheel redis git curl&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
===Python 3.11 installieren===&lt;br /&gt;
'''Debian 11:'''&lt;br /&gt;
:&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
wget https://www.python.org/ftp/python/3.11.11/Python-3.11.11.tgz&lt;br /&gt;
tar -xvf Python-3.11.11.tgz&lt;br /&gt;
cd Python-3.11.11&lt;br /&gt;
./configure --enable-optimizations&lt;br /&gt;
make -j$(nproc)&lt;br /&gt;
sudo make install&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
'''Debian 12:'''&lt;br /&gt;
:&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
sudo apt install python3.11 python3.11-venv python3-pip&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
===Ghostscript 10.05 installieren===&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
wget https://github.com/ArtifexSoftware/ghostpdl-downloads/releases/download/gs10050/ghostscript-10.05.0.tar.gz&lt;br /&gt;
tar -xvf ghostscript-10.05.0.tar.gz&lt;br /&gt;
cd ghostscript-10.05.0&lt;br /&gt;
./configure --without-x&lt;br /&gt;
make -j$(nproc)&lt;br /&gt;
sudo make install&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
== Paperless-ngx installieren ==&lt;br /&gt;
Paperless Benutzer erstellen und Repository klonen:&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
sudo adduser paperless --system --home /opt/paperless --group&lt;br /&gt;
cd /opt/paperless&lt;br /&gt;
sudo -Hu paperless git clone https://github.com/paperless-ngx/paperless-ngx.git .&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
sudo -Hu paperless mkdir consume media&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
'''Debian 11:'''&lt;br /&gt;
:&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
sudo -Hu paperless pip3 install uv&lt;br /&gt;
sudo -Hu paperless uv export --no-dev --all-extras --format requirements-txt --output-file requirements.txt&lt;br /&gt;
sudo -Hu paperless pip3 install -r requirements.txt&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
'''Debian 12:'''&lt;br /&gt;
:&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
sudo -Hu paperless python3 -m venv /opt/paperless/venv&lt;br /&gt;
sudo -Hu paperless /opt/paperless/venv/bin/pip3 install uv&lt;br /&gt;
sudo -Hu paperless /opt/paperless/venv/bin/uv export --no-dev --all-extras --format requirements-txt --output-file requirements.txt&lt;br /&gt;
sudo -Hu paperless /opt/paperless/venv/bin/pip3 install -r requirements.txt&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
sudo -Hu paperless cp paperless.conf.example paperless.conf&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
sudo -Hu paperless vi paperless.conf&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
PAPERLESS_SECRET_KEY=change-me&lt;br /&gt;
&lt;br /&gt;
PAPERLESS_CONSUMPTION_DIR=/mnt/paperless-store/consume&lt;br /&gt;
PAPERLESS_DATA_DIR=/mnt/paperless-store/data&lt;br /&gt;
PAPERLESS_MEDIA_ROOT=/mnt/paperless-store/media&lt;br /&gt;
&lt;br /&gt;
PAPERLESS_TIME_ZONE=Europe/Berlin&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;Wenn du postgresql statt sqlite verwendet möchtest:&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
PAPERLESS_DBHOST=127.0.0.1 # Use postgresql&lt;br /&gt;
PAPERLESS_DBNAME=db_paperless&lt;br /&gt;
#PAPERLESS_DBUSER=paperless&lt;br /&gt;
PAPERLESS_DBPASS=&amp;lt;password&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
sudo apt install postgresql&lt;br /&gt;
sudo -u postgres psql&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&amp;lt;syntaxhighlight lang=&amp;quot;sql&amp;quot;&amp;gt;&lt;br /&gt;
CREATE DATABASE db_paperless;&lt;br /&gt;
CREATE USER paperless WITH ENCRYPTED PASSWORD '&amp;lt;password&amp;gt;';&lt;br /&gt;
GRANT ALL ON DATABASE db_paperless TO paperless;&lt;br /&gt;
\c db_paperless&lt;br /&gt;
GRANT ALL ON SCHEMA public TO paperless;&lt;br /&gt;
\q&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;Frontend:&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
cd src-ui&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
'''Debian 11:'''&lt;br /&gt;
:&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
sudo curl -sL https://deb.nodesource.com/setup_18.x | sudo -E bash -&lt;br /&gt;
sudo apt install nodejs&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
'''Debian 12:'''&lt;br /&gt;
:&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
sudo apt install nodejs&lt;br /&gt;
sudo apt install npm&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
sudo npm install -g @angular/cli&lt;br /&gt;
sudo npm install -g pnpm&lt;br /&gt;
sudo -Hu paperless pnpm install&lt;br /&gt;
&lt;br /&gt;
sudo -Hu paperless ng build --configuration production&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
Backend:&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
cd ../src&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
'''Debian 11:'''&lt;br /&gt;
:&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
sudo -Hu paperless python3 manage.py migrate&lt;br /&gt;
sudo -Hu paperless python3 manage.py createsuperuser&lt;br /&gt;
sudo -Hu paperless python3 manage.py collectstatic&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
'''Debian 12:'''&lt;br /&gt;
:&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
sudo -Hu paperless /opt/paperless/venv/bin/python3 manage.py migrate&lt;br /&gt;
sudo -Hu paperless /opt/paperless/venv/bin/python3 manage.py createsuperuser&lt;br /&gt;
sudo -Hu paperless /opt/paperless/venv/bin/python3 manage.py collectstatic&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Systemd Services anlegen: ===&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
cd ../scripts&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== paperless-consumer ====&lt;br /&gt;
'''Debian 12:'''&lt;br /&gt;
:&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
sudo vi paperless-consumer.service&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;ExecStart ersetzen:&lt;br /&gt;
:&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
ExecStart=/opt/paperless/venv/bin/python3 manage.py document_consumer&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
sudo ln -s /opt/paperless/scripts/paperless-consumer.service /etc/systemd/system/paperless-consumer.service&lt;br /&gt;
sudo systemctl daemon-reload&lt;br /&gt;
sudo systemctl enable --now paperless-consumer.service&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
systemctl status paperless-consumer.service&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;Sollte in etwa so aussehen:&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
● paperless-consumer.service - Paperless consumer&lt;br /&gt;
     Loaded: loaded (/etc/systemd/system/paperless-consumer.service; enabled; preset: enabled)&lt;br /&gt;
     Active: active (running) since Sat 2025-03-22 22:25:06 CET; 6s ago&lt;br /&gt;
   Main PID: 6715 (python3)&lt;br /&gt;
      Tasks: 11 (limit: 9472)&lt;br /&gt;
     Memory: 97.2M&lt;br /&gt;
        CPU: 1.518s&lt;br /&gt;
     CGroup: /system.slice/paperless-consumer.service&lt;br /&gt;
             └─6715 /opt/paperless/venv/bin/python3 manage.py document_consumer&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== paperless-scheduler ====&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
sudo vi paperless-scheduler.service&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;'''Debian 11:'''&lt;br /&gt;
:ExecStart ersetzen:&lt;br /&gt;
:&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
ExecStart=/opt/paperless/.local/bin/celery --app paperless beat --loglevel INFO&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
'''Debian 12:'''&lt;br /&gt;
:ExecStart ersetzen:&lt;br /&gt;
:&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
ExecStart=/opt/paperless/venv/bin/celery --app paperless beat --loglevel INFO&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
sudo ln -s /opt/paperless/scripts/paperless-scheduler.service /etc/systemd/system/paperless-scheduler.service&lt;br /&gt;
sudo systemctl daemon-reload&lt;br /&gt;
sudo systemctl enable --now paperless-scheduler.service&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
systemctl status paperless-scheduler.service&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;Sollte in etwa so aussehen:&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
● paperless-scheduler.service - Paperless Celery Beat&lt;br /&gt;
     Loaded: loaded (/etc/systemd/system/paperless-scheduler.service; enabled; preset: enabled)&lt;br /&gt;
     Active: active (running) since Sat 2025-03-22 22:29:33 CET; 4s ago&lt;br /&gt;
   Main PID: 6981 ([celery beat] -)&lt;br /&gt;
      Tasks: 22 (limit: 9472)&lt;br /&gt;
     Memory: 115.1M&lt;br /&gt;
        CPU: 1.831s&lt;br /&gt;
     CGroup: /system.slice/paperless-scheduler.service&lt;br /&gt;
             └─6981 &amp;quot;[celery beat] --app paperless beat --loglevel INFO&amp;quot;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== paperless-task-queue ====&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
sudo vi paperless-task-queue.service&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;'''Debian 11:'''&lt;br /&gt;
:ExecStart ersetzen:&lt;br /&gt;
:&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
ExecStart=/opt/paperless/.local/bin/celery --app paperless worker --loglevel INFO&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
'''Debian 12:'''&lt;br /&gt;
:ExecStart ersetzen:&lt;br /&gt;
:&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
ExecStart=/opt/paperless/venv/bin/celery --app paperless worker --loglevel INFO&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
sudo ln -s /opt/paperless/scripts/paperless-task-queue.service /etc/systemd/system/paperless-task-queue.service&lt;br /&gt;
sudo systemctl daemon-reload&lt;br /&gt;
sudo systemctl enable --now paperless-task-queue.service&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
systemctl status paperless-task-queue.service&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;Sollte in etwa so aussehen:&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
● paperless-task-queue.service - Paperless Celery Workers&lt;br /&gt;
     Loaded: loaded (/etc/systemd/system/paperless-task-queue.service; enabled; preset: enabled)&lt;br /&gt;
     Active: active (running) since Sat 2025-03-22 22:31:23 CET; 4s ago&lt;br /&gt;
   Main PID: 7122 ([celeryd: celer)&lt;br /&gt;
      Tasks: 24 (limit: 9472)&lt;br /&gt;
     Memory: 197.6M&lt;br /&gt;
        CPU: 2.177s&lt;br /&gt;
     CGroup: /system.slice/paperless-task-queue.service&lt;br /&gt;
             ├─7122 &amp;quot;[celeryd: celery@paperless-ngx-1:MainProcess] -active- (--app paperless worker --loglevel INFO)&amp;quot;&lt;br /&gt;
             ├─7153 &amp;quot;[celeryd: celery@paperless-ngx-1:ForkPoolWorker-1]&amp;quot;&lt;br /&gt;
             └─7154 &amp;quot;[celeryd: celery@paperless-ngx-1:ForkPoolWorker-2]&amp;quot;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
==== paperless-webserver ====&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
sudo vi paperless-webserver.service&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;'''Debian 11:'''&lt;br /&gt;
:exec ersetzen:&lt;br /&gt;
:&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
exec /opt/paperless/.local/bin/granian --interface asginl --ws &amp;quot;paperless.asgi:application&amp;quot;'&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
'''Debian 12:'''&lt;br /&gt;
:exec ersetzen:&lt;br /&gt;
:&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
exec /opt/paperless/venv/bin/granian --interface asginl --ws &amp;quot;paperless.asgi:application&amp;quot;'&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
sudo ln -s /opt/paperless/scripts/paperless-webserver.service /etc/systemd/system/paperless-webserver.service&lt;br /&gt;
sudo systemctl daemon-reload&lt;br /&gt;
sudo systemctl enable --now paperless-webserver.service&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
systemctl status paperless-webserver.service&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;Sollte in etwa so aussehen:&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
● paperless-webserver.service - Paperless webserver&lt;br /&gt;
     Loaded: loaded (/etc/systemd/system/paperless-webserver.service; enabled; preset: enabled)&lt;br /&gt;
     Active: active (running) since Sat 2025-03-22 22:34:41 CET; 3s ago&lt;br /&gt;
   Main PID: 7519 (granian asginl )&lt;br /&gt;
      Tasks: 18 (limit: 9472)&lt;br /&gt;
     Memory: 133.2M&lt;br /&gt;
        CPU: 1.746s&lt;br /&gt;
     CGroup: /system.slice/paperless-webserver.service&lt;br /&gt;
             ├─7519 &amp;quot;granian asginl :::8000 paperless.asgi:application&amp;quot;&lt;br /&gt;
             └─7521 &amp;quot;granian asginl :::8000 paperless.asgi:application worker-1&amp;quot;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Zusätzliche Pakete installieren ===&lt;br /&gt;
&lt;br /&gt;
==== stopwords &amp;amp; punkt_tab ====&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
cd ..&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Debian 11:'''&lt;br /&gt;
:&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
sudo -Hu paperless python3 -m nltk.downloader stopwords&lt;br /&gt;
sudo -Hu paperless python3 -m nltk.downloader punkt_tab&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
'''Debian 12:'''&lt;br /&gt;
:&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
sudo -Hu paperless /opt/paperless/venv/bin/python3 -m nltk.downloader stopwords&lt;br /&gt;
sudo -Hu paperless /opt/paperless/venv/bin/python3 -m nltk.downloader punkt_tab&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
sudo apt install tesseract-ocr-deu&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
sudo -Hu paperless vi /opt/paperless/paperless.conf&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
PAPERLESS_NLTK_DIR=/opt/paperless/nltk_data&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== jbig2enc ====&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
sudo apt install autotools-dev automake libtool libleptonica-dev&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
cd ~&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;'''Debian 11:'''&lt;br /&gt;
:&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
wget https://ftp.gnu.org/gnu/autoconf/autoconf-2.71.tar.xz&lt;br /&gt;
tar -xf autoconf-2.71.tar.xz&lt;br /&gt;
cd autoconf-2.71/&lt;br /&gt;
./configure&lt;br /&gt;
make -j$(nproc)&lt;br /&gt;
sudo make install &lt;br /&gt;
. ~/.profile&lt;br /&gt;
autoconf --version&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
git clone https://github.com/agl/jbig2enc&lt;br /&gt;
cd jbig2enc&lt;br /&gt;
./autogen.sh&lt;br /&gt;
./configure &amp;amp;&amp;amp; make -j$(nproc)&lt;br /&gt;
sudo make install&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;Für die Verarbeitung von Dokumenten in deutscher Sprache:&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
sudo apt install tesseract-ocr-deu&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
sudo -Hu paperless vi /opt/paperless/paperless.conf&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
PAPERLESS_OCR_LANGUAGE=deu+eng&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Tika / Gotenberg installieren (Docker) ====&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
sudo install -m 0755 -d /etc/apt/keyrings&lt;br /&gt;
sudo curl -fsSL https://download.docker.com/linux/debian/gpg -o /etc/apt/keyrings/docker.asc&lt;br /&gt;
sudo chmod a+r /etc/apt/keyrings/docker.asc&lt;br /&gt;
&lt;br /&gt;
echo \&lt;br /&gt;
  &amp;quot;deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.asc] https://download.docker.com/linux/debian \&lt;br /&gt;
  $(. /etc/os-release &amp;amp;&amp;amp; echo &amp;quot;$VERSION_CODENAME&amp;quot;) stable&amp;quot; | \&lt;br /&gt;
  sudo tee /etc/apt/sources.list.d/docker.list &amp;gt; /dev/null&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
sudo apt update&lt;br /&gt;
sudo apt install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
sudo docker pull apache/tika&lt;br /&gt;
sudo docker run -d --restart unless-stopped -p 127.0.0.1:9998:9998 apache/tika&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
sudo docker pull gotenberg/gotenberg:8&lt;br /&gt;
sudo docker run -d --restart unless-stopped -p 127.0.0.1:3000:3000 gotenberg/gotenberg:8&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
sudo -Hu paperless vi /opt/paperless/paperless.conf&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
# Tika settings&lt;br /&gt;
&lt;br /&gt;
PAPERLESS_TIKA_ENABLED=true&lt;br /&gt;
PAPERLESS_TIKA_ENDPOINT=http://localhost:9998&lt;br /&gt;
PAPERLESS_TIKA_GOTENBERG_ENDPOINT=http://localhost:3000&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== ImageMagic konfigurieren: ===&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
sudo vi /etc/ImageMagick-6/policy.xml&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;policy domain=&amp;quot;coder&amp;quot; rights=&amp;quot;read|write&amp;quot; pattern=&amp;quot;PDF&amp;quot; /&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
==Quellen==&lt;br /&gt;
*[https://wiki.crowncloud.net/?How_to_Install_Python_3_11_on_Debian_11 wiki.crowncloud.net]&lt;br /&gt;
*[https://askubuntu.com/questions/1076846/how-to-install-newer-version-of-ghostscript-on-server-than-provided-from-ubuntu askubuntu.com]&lt;br /&gt;
*[https://docs.paperless-ngx.com/setup/#bare_metal docs.paperless-ngx.com]&lt;br /&gt;
*[https://docs.docker.com/engine/install/debian/ docs.docker.com/]&lt;br /&gt;
*[https://gotenberg.dev/docs/getting-started/installation gotenberg.dev]&lt;br /&gt;
*[https://hub.docker.com/r/apache/tika hub.docker.com]&lt;br /&gt;
===Einzelnachweise===&lt;br /&gt;
&amp;lt;references /&amp;gt;&lt;/div&gt;</summary>
		<author><name>Robin Tönniges</name></author>
	</entry>
	<entry>
		<id>https://wiki.toenniges.de/index.php?title=Paperless-ngx_%22Bare_Metal%22_installieren_(Debian_11/12)&amp;diff=1835</id>
		<title>Paperless-ngx &quot;Bare Metal&quot; installieren (Debian 11/12)</title>
		<link rel="alternate" type="text/html" href="https://wiki.toenniges.de/index.php?title=Paperless-ngx_%22Bare_Metal%22_installieren_(Debian_11/12)&amp;diff=1835"/>
		<updated>2025-03-22T22:07:01Z</updated>

		<summary type="html">&lt;p&gt;Robin Tönniges: /* Abhängigkeiten installieren */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Infobox&lt;br /&gt;
| Titel      = Testumgebung&lt;br /&gt;
| Bildname   = &lt;br /&gt;
| Bildbreite = &lt;br /&gt;
| Bildtext   = &lt;br /&gt;
| Stil            = 2&lt;br /&gt;
| Titelfarbe      = 6&lt;br /&gt;
| Abschnittsfarbe = &lt;br /&gt;
| Farbe           = &lt;br /&gt;
| Style           = &lt;br /&gt;
| Feldstyle       = &lt;br /&gt;
| Feldname1 = OS    | Daten1 = Debian 11.11/12.10&lt;br /&gt;
| Feldname3 = paperless-ngx (Dev)    | Daten3 = 2.15.0&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
Anleitung für die &amp;quot;Bare Metal&amp;quot; Installation von [https://docs.paperless-ngx.com/ paperless-ngx] mit dem Sourcecode vom [https://github.com/paperless-ngx/paperless-ngx Dev] oder [https://github.com/paperless-ngx/paperless-ngx/tree/beta Beta] Branch auf Debian 11 und 12.&lt;br /&gt;
==Abhängigkeiten installieren==&lt;br /&gt;
Das System auf den neusten Stand bringen:&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
sudo apt update&lt;br /&gt;
sudo apt upgrade&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
sudo apt install build-essential zlib1g-dev libncurses5-dev libgdbm-dev libnss3-dev libssl-dev libreadline-dev libffi-dev \&lt;br /&gt;
libpq-dev libsqlite3-dev libbz2-dev pkg-config libgdbm-compat-dev liblzma-dev tk-dev uuid-dev wget imagemagick unpaper \&lt;br /&gt;
fonts-liberation gnupg libpq-dev default-libmysqlclient-dev pkg-config libmagic-dev libzbar0 poppler-utils \&lt;br /&gt;
icc-profiles-free qpdf liblept5 libxml2 pngquant zlib1g tesseract-ocr python3-setuptools python3-wheel redis git curl&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
===Python 3.11 installieren===&lt;br /&gt;
'''Debian 11:'''&lt;br /&gt;
:&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
wget https://www.python.org/ftp/python/3.11.11/Python-3.11.11.tgz&lt;br /&gt;
tar -xvf Python-3.11.11.tgz&lt;br /&gt;
cd Python-3.11.11&lt;br /&gt;
./configure --enable-optimizations&lt;br /&gt;
make -j$(nproc)&lt;br /&gt;
sudo make install&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
'''Debian 12:'''&lt;br /&gt;
:&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
sudo apt install python3.11 python3.11-venv python3-pip&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
===Ghostscript 10.05 installieren===&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
wget https://github.com/ArtifexSoftware/ghostpdl-downloads/releases/download/gs10050/ghostscript-10.05.0.tar.gz&lt;br /&gt;
tar -xvf ghostscript-10.05.0.tar.gz&lt;br /&gt;
cd ghostscript-10.05.0&lt;br /&gt;
./configure --without-x&lt;br /&gt;
make -j$(nproc)&lt;br /&gt;
sudo make install&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
== Paperless-ngx installieren ==&lt;br /&gt;
Paperless Benutzer erstellen und Repository klonen:&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
sudo adduser paperless --system --home /opt/paperless --group&lt;br /&gt;
cd /opt/paperless&lt;br /&gt;
sudo -Hu paperless git clone https://github.com/paperless-ngx/paperless-ngx.git .&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
sudo -Hu paperless mkdir consume media&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
'''Debian 11:'''&lt;br /&gt;
:&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
sudo -Hu paperless pip3 install uv&lt;br /&gt;
sudo -Hu paperless uv export --no-dev --all-extras --format requirements-txt --output-file requirements.txt&lt;br /&gt;
sudo -Hu paperless pip3 install -r requirements.txt&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
'''Debian 12:'''&lt;br /&gt;
:&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
sudo -Hu paperless python3 -m venv /opt/paperless/venv&lt;br /&gt;
sudo -Hu paperless /opt/paperless/venv/bin/pip3 install uv&lt;br /&gt;
sudo -Hu paperless /opt/paperless/venv/bin/uv export --no-dev --all-extras --format requirements-txt --output-file requirements.txt&lt;br /&gt;
sudo -Hu paperless /opt/paperless/venv/bin/pip3 install -r requirements.txt&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
sudo -Hu paperless cp paperless.conf.example paperless.conf&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
sudo -Hu paperless vi paperless.conf&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
PAPERLESS_SECRET_KEY=change-me&lt;br /&gt;
&lt;br /&gt;
PAPERLESS_CONSUMPTION_DIR=/mnt/paperless-store/consume&lt;br /&gt;
PAPERLESS_DATA_DIR=/mnt/paperless-store/data&lt;br /&gt;
PAPERLESS_MEDIA_ROOT=/mnt/paperless-store/media&lt;br /&gt;
&lt;br /&gt;
PAPERLESS_TIME_ZONE=Europe/Berlin&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;Wenn du postgresql statt sqlite verwendet möchtest:&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
PAPERLESS_DBHOST=127.0.0.1 # Use postgresql&lt;br /&gt;
PAPERLESS_DBNAME=db_paperless&lt;br /&gt;
#PAPERLESS_DBUSER=paperless&lt;br /&gt;
PAPERLESS_DBPASS=&amp;lt;password&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
sudo apt install postgresql&lt;br /&gt;
sudo -u postgres psql&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&amp;lt;syntaxhighlight lang=&amp;quot;sql&amp;quot;&amp;gt;&lt;br /&gt;
CREATE DATABASE db_paperless;&lt;br /&gt;
CREATE USER paperless WITH ENCRYPTED PASSWORD '&amp;lt;password&amp;gt;';&lt;br /&gt;
GRANT ALL ON DATABASE db_paperless TO paperless;&lt;br /&gt;
\c db_paperless&lt;br /&gt;
GRANT ALL ON SCHEMA public TO paperless;&lt;br /&gt;
\q&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;Frontend:&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
cd src-ui&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
'''Debian 11:'''&lt;br /&gt;
:&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
sudo curl -sL https://deb.nodesource.com/setup_18.x | sudo -E bash -&lt;br /&gt;
sudo apt install nodejs&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
'''Debian 12:'''&lt;br /&gt;
:&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
sudo apt install nodejs&lt;br /&gt;
sudo apt install npm&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
sudo npm install -g @angular/cli&lt;br /&gt;
sudo npm install -g pnpm&lt;br /&gt;
sudo -Hu paperless pnpm install&lt;br /&gt;
&lt;br /&gt;
sudo -Hu paperless ng build --configuration production&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
Backend:&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
cd ../src&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
'''Debian 11:'''&lt;br /&gt;
:&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
sudo -Hu paperless python3 manage.py migrate&lt;br /&gt;
sudo -Hu paperless python3 manage.py createsuperuser&lt;br /&gt;
sudo -Hu paperless python3 manage.py collectstatic&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
'''Debian 12:'''&lt;br /&gt;
:&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
sudo -Hu paperless /opt/paperless/venv/bin/python3 manage.py migrate&lt;br /&gt;
sudo -Hu paperless /opt/paperless/venv/bin/python3 manage.py createsuperuser&lt;br /&gt;
sudo -Hu paperless /opt/paperless/venv/bin/python3 manage.py collectstatic&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Systemd Services anlegen: ===&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
cd ../scripts&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== paperless-consumer ====&lt;br /&gt;
'''Debian 12:'''&lt;br /&gt;
:&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
sudo vi paperless-consumer.service&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;ExecStart ersetzen:&lt;br /&gt;
:&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
ExecStart=/opt/paperless/venv/bin/python3 manage.py document_consumer&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
sudo ln -s /opt/paperless/scripts/paperless-consumer.service /etc/systemd/system/paperless-consumer.service&lt;br /&gt;
sudo systemctl daemon-reload&lt;br /&gt;
sudo systemctl enable --now paperless-consumer.service&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
systemctl status paperless-consumer.service&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;Sollte in etwa so aussehen:&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
● paperless-consumer.service - Paperless consumer&lt;br /&gt;
     Loaded: loaded (/etc/systemd/system/paperless-consumer.service; enabled; preset: enabled)&lt;br /&gt;
     Active: active (running) since Sat 2025-03-22 22:25:06 CET; 6s ago&lt;br /&gt;
   Main PID: 6715 (python3)&lt;br /&gt;
      Tasks: 11 (limit: 9472)&lt;br /&gt;
     Memory: 97.2M&lt;br /&gt;
        CPU: 1.518s&lt;br /&gt;
     CGroup: /system.slice/paperless-consumer.service&lt;br /&gt;
             └─6715 /opt/paperless/venv/bin/python3 manage.py document_consumer&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== paperless-scheduler ====&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
sudo vi paperless-scheduler.service&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;'''Debian 11:'''&lt;br /&gt;
:ExecStart ersetzen:&lt;br /&gt;
:&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
ExecStart=/opt/paperless/.local/bin/celery --app paperless beat --loglevel INFO&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
'''Debian 12:'''&lt;br /&gt;
:ExecStart ersetzen:&lt;br /&gt;
:&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
ExecStart=/opt/paperless/venv/bin/celery --app paperless beat --loglevel INFO&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
sudo ln -s /opt/paperless/scripts/paperless-scheduler.service /etc/systemd/system/paperless-scheduler.service&lt;br /&gt;
sudo systemctl daemon-reload&lt;br /&gt;
sudo systemctl enable --now paperless-scheduler.service&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
systemctl status paperless-scheduler.service&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;Sollte in etwa so aussehen:&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
● paperless-scheduler.service - Paperless Celery Beat&lt;br /&gt;
     Loaded: loaded (/etc/systemd/system/paperless-scheduler.service; enabled; preset: enabled)&lt;br /&gt;
     Active: active (running) since Sat 2025-03-22 22:29:33 CET; 4s ago&lt;br /&gt;
   Main PID: 6981 ([celery beat] -)&lt;br /&gt;
      Tasks: 22 (limit: 9472)&lt;br /&gt;
     Memory: 115.1M&lt;br /&gt;
        CPU: 1.831s&lt;br /&gt;
     CGroup: /system.slice/paperless-scheduler.service&lt;br /&gt;
             └─6981 &amp;quot;[celery beat] --app paperless beat --loglevel INFO&amp;quot;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== paperless-task-queue ====&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
sudo vi paperless-task-queue.service&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;'''Debian 11:'''&lt;br /&gt;
:ExecStart ersetzen:&lt;br /&gt;
:&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
ExecStart=/opt/paperless/.local/bin/celery --app paperless worker --loglevel INFO&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
'''Debian 12:'''&lt;br /&gt;
:ExecStart ersetzen:&lt;br /&gt;
:&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
ExecStart=/opt/paperless/venv/bin/celery --app paperless worker --loglevel INFO&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
sudo ln -s /opt/paperless/scripts/paperless-task-queue.service /etc/systemd/system/paperless-task-queue.service&lt;br /&gt;
sudo systemctl daemon-reload&lt;br /&gt;
sudo systemctl enable --now paperless-task-queue.service&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
systemctl status paperless-task-queue.service&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;Sollte in etwa so aussehen:&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
● paperless-task-queue.service - Paperless Celery Workers&lt;br /&gt;
     Loaded: loaded (/etc/systemd/system/paperless-task-queue.service; enabled; preset: enabled)&lt;br /&gt;
     Active: active (running) since Sat 2025-03-22 22:31:23 CET; 4s ago&lt;br /&gt;
   Main PID: 7122 ([celeryd: celer)&lt;br /&gt;
      Tasks: 24 (limit: 9472)&lt;br /&gt;
     Memory: 197.6M&lt;br /&gt;
        CPU: 2.177s&lt;br /&gt;
     CGroup: /system.slice/paperless-task-queue.service&lt;br /&gt;
             ├─7122 &amp;quot;[celeryd: celery@paperless-ngx-1:MainProcess] -active- (--app paperless worker --loglevel INFO)&amp;quot;&lt;br /&gt;
             ├─7153 &amp;quot;[celeryd: celery@paperless-ngx-1:ForkPoolWorker-1]&amp;quot;&lt;br /&gt;
             └─7154 &amp;quot;[celeryd: celery@paperless-ngx-1:ForkPoolWorker-2]&amp;quot;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
==== paperless-webserver ====&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
sudo vi paperless-webserver.service&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;'''Debian 11:'''&lt;br /&gt;
:exec ersetzen:&lt;br /&gt;
:&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
exec /opt/paperless/.local/bin/granian --interface asginl --ws &amp;quot;paperless.asgi:application&amp;quot;'&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
'''Debian 12:'''&lt;br /&gt;
:exec ersetzen:&lt;br /&gt;
:&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
exec /opt/paperless/venv/bin/granian --interface asginl --ws &amp;quot;paperless.asgi:application&amp;quot;'&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
sudo ln -s /opt/paperless/scripts/paperless-webserver.service /etc/systemd/system/paperless-webserver.service&lt;br /&gt;
sudo systemctl daemon-reload&lt;br /&gt;
sudo systemctl enable --now paperless-webserver.service&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
systemctl status paperless-webserver.service&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;Sollte in etwa so aussehen:&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
● paperless-webserver.service - Paperless webserver&lt;br /&gt;
     Loaded: loaded (/etc/systemd/system/paperless-webserver.service; enabled; preset: enabled)&lt;br /&gt;
     Active: active (running) since Sat 2025-03-22 22:34:41 CET; 3s ago&lt;br /&gt;
   Main PID: 7519 (granian asginl )&lt;br /&gt;
      Tasks: 18 (limit: 9472)&lt;br /&gt;
     Memory: 133.2M&lt;br /&gt;
        CPU: 1.746s&lt;br /&gt;
     CGroup: /system.slice/paperless-webserver.service&lt;br /&gt;
             ├─7519 &amp;quot;granian asginl :::8000 paperless.asgi:application&amp;quot;&lt;br /&gt;
             └─7521 &amp;quot;granian asginl :::8000 paperless.asgi:application worker-1&amp;quot;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Zusätzliche Pakete installieren ===&lt;br /&gt;
&lt;br /&gt;
==== stopwords &amp;amp; punkt_tab ====&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
cd ..&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Debian 11:'''&lt;br /&gt;
:&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
sudo -Hu paperless python3 -m nltk.downloader stopwords&lt;br /&gt;
sudo -Hu paperless python3 -m nltk.downloader punkt_tab&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
'''Debian 12:'''&lt;br /&gt;
:&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
sudo -Hu paperless /opt/paperless/venv/bin/python3 -m nltk.downloader stopwords&lt;br /&gt;
sudo -Hu paperless /opt/paperless/venv/bin/python3 -m nltk.downloader punkt_tab&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
sudo apt install tesseract-ocr-deu&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
sudo -Hu paperless vi /opt/paperless/paperless.conf&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
PAPERLESS_NLTK_DIR=/opt/paperless/nltk_data&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== jbig2enc ====&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
sudo apt install autotools-dev automake libtool libleptonica-dev&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
cd ~&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;'''Debian 11:'''&lt;br /&gt;
:&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
wget https://ftp.gnu.org/gnu/autoconf/autoconf-2.71.tar.xz&lt;br /&gt;
tar -xf autoconf-2.71.tar.xz&lt;br /&gt;
cd autoconf-2.71/&lt;br /&gt;
./configure&lt;br /&gt;
make -j$(nproc)&lt;br /&gt;
sudo make install &lt;br /&gt;
. ~/.profile&lt;br /&gt;
autoconf --version&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
git clone https://github.com/agl/jbig2enc&lt;br /&gt;
cd jbig2enc&lt;br /&gt;
./autogen.sh&lt;br /&gt;
./configure &amp;amp;&amp;amp; make -j$(nproc)&lt;br /&gt;
sudo make install&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;Für die Verarbeitung von Dokumenten in deutscher Sprache:&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
sudo apt install tesseract-ocr-deu&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
sudo -Hu paperless vi /opt/paperless/paperless.conf&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
PAPERLESS_OCR_LANGUAGE=deu+eng&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Tika / Gotenberg installieren (Docker) ====&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
sudo install -m 0755 -d /etc/apt/keyrings&lt;br /&gt;
sudo curl -fsSL https://download.docker.com/linux/debian/gpg -o /etc/apt/keyrings/docker.asc&lt;br /&gt;
sudo chmod a+r /etc/apt/keyrings/docker.asc&lt;br /&gt;
&lt;br /&gt;
echo \&lt;br /&gt;
  &amp;quot;deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.asc] https://download.docker.com/linux/debian \&lt;br /&gt;
  $(. /etc/os-release &amp;amp;&amp;amp; echo &amp;quot;$VERSION_CODENAME&amp;quot;) stable&amp;quot; | \&lt;br /&gt;
  sudo tee /etc/apt/sources.list.d/docker.list &amp;gt; /dev/null&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
sudo apt update&lt;br /&gt;
sudo apt install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
sudo docker pull apache/tika&lt;br /&gt;
sudo docker run -d --restart unless-stopped -p 127.0.0.1:9998:9998 apache/tika&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
sudo docker pull gotenberg/gotenberg:8&lt;br /&gt;
sudo docker run -d --restart unless-stopped -p 127.0.0.1:3000:3000 gotenberg/gotenberg:8&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
sudo -Hu paperless vi /opt/paperless/paperless.conf&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
# Tika settings&lt;br /&gt;
&lt;br /&gt;
PAPERLESS_TIKA_ENABLED=true&lt;br /&gt;
PAPERLESS_TIKA_ENDPOINT=http://localhost:9998&lt;br /&gt;
PAPERLESS_TIKA_GOTENBERG_ENDPOINT=http://localhost:3000&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== ImageMagic konfigurieren: ===&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
sudo vi /etc/ImageMagick-6/policy.xml&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;policy domain=&amp;quot;coder&amp;quot; rights=&amp;quot;read|write&amp;quot; pattern=&amp;quot;PDF&amp;quot; /&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;/div&gt;</summary>
		<author><name>Robin Tönniges</name></author>
	</entry>
	<entry>
		<id>https://wiki.toenniges.de/index.php?title=Paperless-ngx_%22Bare_Metal%22_installieren_(Debian_11/12)&amp;diff=1834</id>
		<title>Paperless-ngx &quot;Bare Metal&quot; installieren (Debian 11/12)</title>
		<link rel="alternate" type="text/html" href="https://wiki.toenniges.de/index.php?title=Paperless-ngx_%22Bare_Metal%22_installieren_(Debian_11/12)&amp;diff=1834"/>
		<updated>2025-03-22T22:04:34Z</updated>

		<summary type="html">&lt;p&gt;Robin Tönniges: /* Abhängigkeiten installieren */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Infobox&lt;br /&gt;
| Titel      = Testumgebung&lt;br /&gt;
| Bildname   = &lt;br /&gt;
| Bildbreite = &lt;br /&gt;
| Bildtext   = &lt;br /&gt;
| Stil            = 2&lt;br /&gt;
| Titelfarbe      = 6&lt;br /&gt;
| Abschnittsfarbe = &lt;br /&gt;
| Farbe           = &lt;br /&gt;
| Style           = &lt;br /&gt;
| Feldstyle       = &lt;br /&gt;
| Feldname1 = OS    | Daten1 = Debian 11.11/12.10&lt;br /&gt;
| Feldname3 = paperless-ngx (Dev)    | Daten3 = 2.15.0&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
Anleitung für die &amp;quot;Bare Metal&amp;quot; Installation von [https://docs.paperless-ngx.com/ paperless-ngx] mit dem Sourcecode vom [https://github.com/paperless-ngx/paperless-ngx Dev] oder [https://github.com/paperless-ngx/paperless-ngx/tree/beta Beta] Branch auf Debian 11 und 12.&lt;br /&gt;
==Abhängigkeiten installieren==&lt;br /&gt;
Das System auf den neusten Stand bringen:&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
sudo apt update&lt;br /&gt;
sudo apt upgrade&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
sudo apt install build-essential zlib1g-dev libncurses5-dev libgdbm-dev libnss3-dev libssl-dev libreadline-dev libffi-dev \&lt;br /&gt;
libpq-dev libsqlite3-dev libbz2-dev pkg-config libgdbm-compat-dev liblzma-dev tk-dev uuid-dev wget imagemagick unpaper \&lt;br /&gt;
fonts-liberation gnupg libpq-dev default-libmysqlclient-dev pkg-config libmagic-dev libzbar0 poppler-utils \ &lt;br /&gt;
icc-profiles-free qpdf liblept5 libxml2 pngquant zlib1g tesseract-ocr python3-setuptools python3-wheel redis git curl&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
===Python 3.11 installieren===&lt;br /&gt;
'''Debian 11:'''&lt;br /&gt;
:&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
wget https://www.python.org/ftp/python/3.11.11/Python-3.11.11.tgz&lt;br /&gt;
tar -xvf Python-3.11.11.tgz&lt;br /&gt;
cd Python-3.11.11&lt;br /&gt;
./configure --enable-optimizations&lt;br /&gt;
make -j$(nproc)&lt;br /&gt;
sudo make install&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
'''Debian 12:'''&lt;br /&gt;
:&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
sudo apt install python3.11 python3.11-venv python3-pip&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
===Ghostscript 10.05 installieren===&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
wget https://github.com/ArtifexSoftware/ghostpdl-downloads/releases/download/gs10050/ghostscript-10.05.0.tar.gz&lt;br /&gt;
tar -xvf ghostscript-10.05.0.tar.gz&lt;br /&gt;
cd ghostscript-10.05.0&lt;br /&gt;
./configure --without-x&lt;br /&gt;
make -j$(nproc)&lt;br /&gt;
sudo make install&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
== Paperless-ngx installieren ==&lt;br /&gt;
Paperless Benutzer erstellen und Repository klonen:&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
sudo adduser paperless --system --home /opt/paperless --group&lt;br /&gt;
cd /opt/paperless&lt;br /&gt;
sudo -Hu paperless git clone https://github.com/paperless-ngx/paperless-ngx.git .&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
sudo -Hu paperless mkdir consume media&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
'''Debian 11:'''&lt;br /&gt;
:&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
sudo -Hu paperless pip3 install uv&lt;br /&gt;
sudo -Hu paperless uv export --no-dev --all-extras --format requirements-txt --output-file requirements.txt&lt;br /&gt;
sudo -Hu paperless pip3 install -r requirements.txt&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
'''Debian 12:'''&lt;br /&gt;
:&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
sudo -Hu paperless python3 -m venv /opt/paperless/venv&lt;br /&gt;
sudo -Hu paperless /opt/paperless/venv/bin/pip3 install uv&lt;br /&gt;
sudo -Hu paperless /opt/paperless/venv/bin/uv export --no-dev --all-extras --format requirements-txt --output-file requirements.txt&lt;br /&gt;
sudo -Hu paperless /opt/paperless/venv/bin/pip3 install -r requirements.txt&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
sudo -Hu paperless cp paperless.conf.example paperless.conf&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
sudo -Hu paperless vi paperless.conf&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
PAPERLESS_SECRET_KEY=change-me&lt;br /&gt;
&lt;br /&gt;
PAPERLESS_CONSUMPTION_DIR=/mnt/paperless-store/consume&lt;br /&gt;
PAPERLESS_DATA_DIR=/mnt/paperless-store/data&lt;br /&gt;
PAPERLESS_MEDIA_ROOT=/mnt/paperless-store/media&lt;br /&gt;
&lt;br /&gt;
PAPERLESS_TIME_ZONE=Europe/Berlin&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;Wenn du postgresql statt sqlite verwendet möchtest:&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
PAPERLESS_DBHOST=127.0.0.1 # Use postgresql&lt;br /&gt;
PAPERLESS_DBNAME=db_paperless&lt;br /&gt;
#PAPERLESS_DBUSER=paperless&lt;br /&gt;
PAPERLESS_DBPASS=&amp;lt;password&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
sudo apt install postgresql&lt;br /&gt;
sudo -u postgres psql&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&amp;lt;syntaxhighlight lang=&amp;quot;sql&amp;quot;&amp;gt;&lt;br /&gt;
CREATE DATABASE db_paperless;&lt;br /&gt;
CREATE USER paperless WITH ENCRYPTED PASSWORD '&amp;lt;password&amp;gt;';&lt;br /&gt;
GRANT ALL ON DATABASE db_paperless TO paperless;&lt;br /&gt;
\c db_paperless&lt;br /&gt;
GRANT ALL ON SCHEMA public TO paperless;&lt;br /&gt;
\q&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;Frontend:&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
cd src-ui&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
'''Debian 11:'''&lt;br /&gt;
:&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
sudo curl -sL https://deb.nodesource.com/setup_18.x | sudo -E bash -&lt;br /&gt;
sudo apt install nodejs&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
'''Debian 12:'''&lt;br /&gt;
:&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
sudo apt install nodejs&lt;br /&gt;
sudo apt install npm&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
sudo npm install -g @angular/cli&lt;br /&gt;
sudo npm install -g pnpm&lt;br /&gt;
sudo -Hu paperless pnpm install&lt;br /&gt;
&lt;br /&gt;
sudo -Hu paperless ng build --configuration production&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
Backend:&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
cd ../src&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
'''Debian 11:'''&lt;br /&gt;
:&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
sudo -Hu paperless python3 manage.py migrate&lt;br /&gt;
sudo -Hu paperless python3 manage.py createsuperuser&lt;br /&gt;
sudo -Hu paperless python3 manage.py collectstatic&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
'''Debian 12:'''&lt;br /&gt;
:&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
sudo -Hu paperless /opt/paperless/venv/bin/python3 manage.py migrate&lt;br /&gt;
sudo -Hu paperless /opt/paperless/venv/bin/python3 manage.py createsuperuser&lt;br /&gt;
sudo -Hu paperless /opt/paperless/venv/bin/python3 manage.py collectstatic&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Systemd Services anlegen: ===&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
cd ../scripts&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== paperless-consumer ====&lt;br /&gt;
'''Debian 12:'''&lt;br /&gt;
:&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
sudo vi paperless-consumer.service&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;ExecStart ersetzen:&lt;br /&gt;
:&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
ExecStart=/opt/paperless/venv/bin/python3 manage.py document_consumer&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
sudo ln -s /opt/paperless/scripts/paperless-consumer.service /etc/systemd/system/paperless-consumer.service&lt;br /&gt;
sudo systemctl daemon-reload&lt;br /&gt;
sudo systemctl enable --now paperless-consumer.service&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
systemctl status paperless-consumer.service&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;Sollte in etwa so aussehen:&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
● paperless-consumer.service - Paperless consumer&lt;br /&gt;
     Loaded: loaded (/etc/systemd/system/paperless-consumer.service; enabled; preset: enabled)&lt;br /&gt;
     Active: active (running) since Sat 2025-03-22 22:25:06 CET; 6s ago&lt;br /&gt;
   Main PID: 6715 (python3)&lt;br /&gt;
      Tasks: 11 (limit: 9472)&lt;br /&gt;
     Memory: 97.2M&lt;br /&gt;
        CPU: 1.518s&lt;br /&gt;
     CGroup: /system.slice/paperless-consumer.service&lt;br /&gt;
             └─6715 /opt/paperless/venv/bin/python3 manage.py document_consumer&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== paperless-scheduler ====&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
sudo vi paperless-scheduler.service&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;'''Debian 11:'''&lt;br /&gt;
:ExecStart ersetzen:&lt;br /&gt;
:&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
ExecStart=/opt/paperless/.local/bin/celery --app paperless beat --loglevel INFO&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
'''Debian 12:'''&lt;br /&gt;
:ExecStart ersetzen:&lt;br /&gt;
:&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
ExecStart=/opt/paperless/venv/bin/celery --app paperless beat --loglevel INFO&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
sudo ln -s /opt/paperless/scripts/paperless-scheduler.service /etc/systemd/system/paperless-scheduler.service&lt;br /&gt;
sudo systemctl daemon-reload&lt;br /&gt;
sudo systemctl enable --now paperless-scheduler.service&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
systemctl status paperless-scheduler.service&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;Sollte in etwa so aussehen:&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
● paperless-scheduler.service - Paperless Celery Beat&lt;br /&gt;
     Loaded: loaded (/etc/systemd/system/paperless-scheduler.service; enabled; preset: enabled)&lt;br /&gt;
     Active: active (running) since Sat 2025-03-22 22:29:33 CET; 4s ago&lt;br /&gt;
   Main PID: 6981 ([celery beat] -)&lt;br /&gt;
      Tasks: 22 (limit: 9472)&lt;br /&gt;
     Memory: 115.1M&lt;br /&gt;
        CPU: 1.831s&lt;br /&gt;
     CGroup: /system.slice/paperless-scheduler.service&lt;br /&gt;
             └─6981 &amp;quot;[celery beat] --app paperless beat --loglevel INFO&amp;quot;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== paperless-task-queue ====&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
sudo vi paperless-task-queue.service&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;'''Debian 11:'''&lt;br /&gt;
:ExecStart ersetzen:&lt;br /&gt;
:&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
ExecStart=/opt/paperless/.local/bin/celery --app paperless worker --loglevel INFO&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
'''Debian 12:'''&lt;br /&gt;
:ExecStart ersetzen:&lt;br /&gt;
:&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
ExecStart=/opt/paperless/venv/bin/celery --app paperless worker --loglevel INFO&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
sudo ln -s /opt/paperless/scripts/paperless-task-queue.service /etc/systemd/system/paperless-task-queue.service&lt;br /&gt;
sudo systemctl daemon-reload&lt;br /&gt;
sudo systemctl enable --now paperless-task-queue.service&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
systemctl status paperless-task-queue.service&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;Sollte in etwa so aussehen:&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
● paperless-task-queue.service - Paperless Celery Workers&lt;br /&gt;
     Loaded: loaded (/etc/systemd/system/paperless-task-queue.service; enabled; preset: enabled)&lt;br /&gt;
     Active: active (running) since Sat 2025-03-22 22:31:23 CET; 4s ago&lt;br /&gt;
   Main PID: 7122 ([celeryd: celer)&lt;br /&gt;
      Tasks: 24 (limit: 9472)&lt;br /&gt;
     Memory: 197.6M&lt;br /&gt;
        CPU: 2.177s&lt;br /&gt;
     CGroup: /system.slice/paperless-task-queue.service&lt;br /&gt;
             ├─7122 &amp;quot;[celeryd: celery@paperless-ngx-1:MainProcess] -active- (--app paperless worker --loglevel INFO)&amp;quot;&lt;br /&gt;
             ├─7153 &amp;quot;[celeryd: celery@paperless-ngx-1:ForkPoolWorker-1]&amp;quot;&lt;br /&gt;
             └─7154 &amp;quot;[celeryd: celery@paperless-ngx-1:ForkPoolWorker-2]&amp;quot;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
==== paperless-webserver ====&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
sudo vi paperless-webserver.service&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;'''Debian 11:'''&lt;br /&gt;
:exec ersetzen:&lt;br /&gt;
:&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
exec /opt/paperless/.local/bin/granian --interface asginl --ws &amp;quot;paperless.asgi:application&amp;quot;'&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
'''Debian 12:'''&lt;br /&gt;
:exec ersetzen:&lt;br /&gt;
:&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
exec /opt/paperless/venv/bin/granian --interface asginl --ws &amp;quot;paperless.asgi:application&amp;quot;'&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
sudo ln -s /opt/paperless/scripts/paperless-webserver.service /etc/systemd/system/paperless-webserver.service&lt;br /&gt;
sudo systemctl daemon-reload&lt;br /&gt;
sudo systemctl enable --now paperless-webserver.service&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
systemctl status paperless-webserver.service&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;Sollte in etwa so aussehen:&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
● paperless-webserver.service - Paperless webserver&lt;br /&gt;
     Loaded: loaded (/etc/systemd/system/paperless-webserver.service; enabled; preset: enabled)&lt;br /&gt;
     Active: active (running) since Sat 2025-03-22 22:34:41 CET; 3s ago&lt;br /&gt;
   Main PID: 7519 (granian asginl )&lt;br /&gt;
      Tasks: 18 (limit: 9472)&lt;br /&gt;
     Memory: 133.2M&lt;br /&gt;
        CPU: 1.746s&lt;br /&gt;
     CGroup: /system.slice/paperless-webserver.service&lt;br /&gt;
             ├─7519 &amp;quot;granian asginl :::8000 paperless.asgi:application&amp;quot;&lt;br /&gt;
             └─7521 &amp;quot;granian asginl :::8000 paperless.asgi:application worker-1&amp;quot;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Zusätzliche Pakete installieren ===&lt;br /&gt;
&lt;br /&gt;
==== stopwords &amp;amp; punkt_tab ====&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
cd ..&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Debian 11:'''&lt;br /&gt;
:&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
sudo -Hu paperless python3 -m nltk.downloader stopwords&lt;br /&gt;
sudo -Hu paperless python3 -m nltk.downloader punkt_tab&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
'''Debian 12:'''&lt;br /&gt;
:&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
sudo -Hu paperless /opt/paperless/venv/bin/python3 -m nltk.downloader stopwords&lt;br /&gt;
sudo -Hu paperless /opt/paperless/venv/bin/python3 -m nltk.downloader punkt_tab&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
sudo apt install tesseract-ocr-deu&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
sudo -Hu paperless vi /opt/paperless/paperless.conf&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
PAPERLESS_NLTK_DIR=/opt/paperless/nltk_data&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== jbig2enc ====&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
sudo apt install autotools-dev automake libtool libleptonica-dev&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
cd ~&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;'''Debian 11:'''&lt;br /&gt;
:&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
wget https://ftp.gnu.org/gnu/autoconf/autoconf-2.71.tar.xz&lt;br /&gt;
tar -xf autoconf-2.71.tar.xz&lt;br /&gt;
cd autoconf-2.71/&lt;br /&gt;
./configure&lt;br /&gt;
make -j$(nproc)&lt;br /&gt;
sudo make install &lt;br /&gt;
. ~/.profile&lt;br /&gt;
autoconf --version&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
git clone https://github.com/agl/jbig2enc&lt;br /&gt;
cd jbig2enc&lt;br /&gt;
./autogen.sh&lt;br /&gt;
./configure &amp;amp;&amp;amp; make -j$(nproc)&lt;br /&gt;
sudo make install&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;Für die Verarbeitung von Dokumenten in deutscher Sprache:&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
sudo apt install tesseract-ocr-deu&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
sudo -Hu paperless vi /opt/paperless/paperless.conf&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
PAPERLESS_OCR_LANGUAGE=deu+eng&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Tika / Gotenberg installieren (Docker) ====&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
sudo install -m 0755 -d /etc/apt/keyrings&lt;br /&gt;
sudo curl -fsSL https://download.docker.com/linux/debian/gpg -o /etc/apt/keyrings/docker.asc&lt;br /&gt;
sudo chmod a+r /etc/apt/keyrings/docker.asc&lt;br /&gt;
&lt;br /&gt;
echo \&lt;br /&gt;
  &amp;quot;deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.asc] https://download.docker.com/linux/debian \&lt;br /&gt;
  $(. /etc/os-release &amp;amp;&amp;amp; echo &amp;quot;$VERSION_CODENAME&amp;quot;) stable&amp;quot; | \&lt;br /&gt;
  sudo tee /etc/apt/sources.list.d/docker.list &amp;gt; /dev/null&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
sudo apt update&lt;br /&gt;
sudo apt install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
sudo docker pull apache/tika&lt;br /&gt;
sudo docker run -d --restart unless-stopped -p 127.0.0.1:9998:9998 apache/tika&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
sudo docker pull gotenberg/gotenberg:8&lt;br /&gt;
sudo docker run -d --restart unless-stopped -p 127.0.0.1:3000:3000 gotenberg/gotenberg:8&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
sudo -Hu paperless vi /opt/paperless/paperless.conf&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
# Tika settings&lt;br /&gt;
&lt;br /&gt;
PAPERLESS_TIKA_ENABLED=true&lt;br /&gt;
PAPERLESS_TIKA_ENDPOINT=http://localhost:9998&lt;br /&gt;
PAPERLESS_TIKA_GOTENBERG_ENDPOINT=http://localhost:3000&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== ImageMagic konfigurieren: ===&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
sudo vi /etc/ImageMagick-6/policy.xml&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;policy domain=&amp;quot;coder&amp;quot; rights=&amp;quot;read|write&amp;quot; pattern=&amp;quot;PDF&amp;quot; /&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;/div&gt;</summary>
		<author><name>Robin Tönniges</name></author>
	</entry>
	<entry>
		<id>https://wiki.toenniges.de/index.php?title=Paperless-ngx_%22Bare_Metal%22_installieren_(Debian_11/12)&amp;diff=1833</id>
		<title>Paperless-ngx &quot;Bare Metal&quot; installieren (Debian 11/12)</title>
		<link rel="alternate" type="text/html" href="https://wiki.toenniges.de/index.php?title=Paperless-ngx_%22Bare_Metal%22_installieren_(Debian_11/12)&amp;diff=1833"/>
		<updated>2025-03-22T22:02:25Z</updated>

		<summary type="html">&lt;p&gt;Robin Tönniges: /* Abhängigkeiten installieren */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Infobox&lt;br /&gt;
| Titel      = Testumgebung&lt;br /&gt;
| Bildname   = &lt;br /&gt;
| Bildbreite = &lt;br /&gt;
| Bildtext   = &lt;br /&gt;
| Stil            = 2&lt;br /&gt;
| Titelfarbe      = 6&lt;br /&gt;
| Abschnittsfarbe = &lt;br /&gt;
| Farbe           = &lt;br /&gt;
| Style           = &lt;br /&gt;
| Feldstyle       = &lt;br /&gt;
| Feldname1 = OS    | Daten1 = Debian 11.11/12.10&lt;br /&gt;
| Feldname3 = paperless-ngx (Dev)    | Daten3 = 2.15.0&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
Anleitung für die &amp;quot;Bare Metal&amp;quot; Installation von [https://docs.paperless-ngx.com/ paperless-ngx] mit dem Sourcecode vom [https://github.com/paperless-ngx/paperless-ngx Dev] oder [https://github.com/paperless-ngx/paperless-ngx/tree/beta Beta] Branch auf Debian 11 und 12.&lt;br /&gt;
==Abhängigkeiten installieren==&lt;br /&gt;
Das System auf den neusten Stand bringen:&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
sudo apt update&lt;br /&gt;
sudo apt upgrade&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
sudo apt install build-essential zlib1g-dev libncurses5-dev libgdbm-dev \&lt;br /&gt;
libnss3-dev libssl-dev libreadline-dev libffi-dev libpq-dev libsqlite3-dev \&lt;br /&gt;
libbz2-dev pkg-config libgdbm-compat-dev liblzma-dev tk-dev uuid-dev wget \&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
===Python 3.11 installieren===&lt;br /&gt;
'''Debian 11:'''&lt;br /&gt;
:&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
wget https://www.python.org/ftp/python/3.11.11/Python-3.11.11.tgz&lt;br /&gt;
tar -xvf Python-3.11.11.tgz&lt;br /&gt;
cd Python-3.11.11&lt;br /&gt;
./configure --enable-optimizations&lt;br /&gt;
make -j$(nproc)&lt;br /&gt;
sudo make install&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
'''Debian 12:'''&lt;br /&gt;
:&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
sudo apt install python3.11 python3.11-venv python3-pip&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
===Ghostscript 10.05 installieren===&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
wget https://github.com/ArtifexSoftware/ghostpdl-downloads/releases/download/gs10050/ghostscript-10.05.0.tar.gz&lt;br /&gt;
tar -xvf ghostscript-10.05.0.tar.gz&lt;br /&gt;
cd ghostscript-10.05.0&lt;br /&gt;
./configure --without-x&lt;br /&gt;
make -j$(nproc)&lt;br /&gt;
sudo make install&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
sudo apt install imagemagick fonts-liberation gnupg libpq-dev default-libmysqlclient-dev pkg-config libmagic-dev libzbar0 poppler-utils&lt;br /&gt;
sudo apt install unpaper icc-profiles-free qpdf liblept5 libxml2 pngquant zlib1g tesseract-ocr python3-setuptools python3-wheel&lt;br /&gt;
&lt;br /&gt;
sudo apt install redis git curl&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Paperless-ngx installieren ==&lt;br /&gt;
Paperless Benutzer erstellen und Repository klonen:&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
sudo adduser paperless --system --home /opt/paperless --group&lt;br /&gt;
cd /opt/paperless&lt;br /&gt;
sudo -Hu paperless git clone https://github.com/paperless-ngx/paperless-ngx.git .&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
sudo -Hu paperless mkdir consume media&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
'''Debian 11:'''&lt;br /&gt;
:&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
sudo -Hu paperless pip3 install uv&lt;br /&gt;
sudo -Hu paperless uv export --no-dev --all-extras --format requirements-txt --output-file requirements.txt&lt;br /&gt;
sudo -Hu paperless pip3 install -r requirements.txt&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
'''Debian 12:'''&lt;br /&gt;
:&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
sudo -Hu paperless python3 -m venv /opt/paperless/venv&lt;br /&gt;
sudo -Hu paperless /opt/paperless/venv/bin/pip3 install uv&lt;br /&gt;
sudo -Hu paperless /opt/paperless/venv/bin/uv export --no-dev --all-extras --format requirements-txt --output-file requirements.txt&lt;br /&gt;
sudo -Hu paperless /opt/paperless/venv/bin/pip3 install -r requirements.txt&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
sudo -Hu paperless cp paperless.conf.example paperless.conf&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
sudo -Hu paperless vi paperless.conf&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
PAPERLESS_SECRET_KEY=change-me&lt;br /&gt;
&lt;br /&gt;
PAPERLESS_CONSUMPTION_DIR=/mnt/paperless-store/consume&lt;br /&gt;
PAPERLESS_DATA_DIR=/mnt/paperless-store/data&lt;br /&gt;
PAPERLESS_MEDIA_ROOT=/mnt/paperless-store/media&lt;br /&gt;
&lt;br /&gt;
PAPERLESS_TIME_ZONE=Europe/Berlin&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;Wenn du postgresql statt sqlite verwendet möchtest:&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
PAPERLESS_DBHOST=127.0.0.1 # Use postgresql&lt;br /&gt;
PAPERLESS_DBNAME=db_paperless&lt;br /&gt;
#PAPERLESS_DBUSER=paperless&lt;br /&gt;
PAPERLESS_DBPASS=&amp;lt;password&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
sudo apt install postgresql&lt;br /&gt;
sudo -u postgres psql&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&amp;lt;syntaxhighlight lang=&amp;quot;sql&amp;quot;&amp;gt;&lt;br /&gt;
CREATE DATABASE db_paperless;&lt;br /&gt;
CREATE USER paperless WITH ENCRYPTED PASSWORD '&amp;lt;password&amp;gt;';&lt;br /&gt;
GRANT ALL ON DATABASE db_paperless TO paperless;&lt;br /&gt;
\c db_paperless&lt;br /&gt;
GRANT ALL ON SCHEMA public TO paperless;&lt;br /&gt;
\q&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;Frontend:&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
cd src-ui&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
'''Debian 11:'''&lt;br /&gt;
:&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
sudo curl -sL https://deb.nodesource.com/setup_18.x | sudo -E bash -&lt;br /&gt;
sudo apt install nodejs&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
'''Debian 12:'''&lt;br /&gt;
:&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
sudo apt install nodejs&lt;br /&gt;
sudo apt install npm&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
sudo npm install -g @angular/cli&lt;br /&gt;
sudo npm install -g pnpm&lt;br /&gt;
sudo -Hu paperless pnpm install&lt;br /&gt;
&lt;br /&gt;
sudo -Hu paperless ng build --configuration production&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
Backend:&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
cd ../src&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
'''Debian 11:'''&lt;br /&gt;
:&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
sudo -Hu paperless python3 manage.py migrate&lt;br /&gt;
sudo -Hu paperless python3 manage.py createsuperuser&lt;br /&gt;
sudo -Hu paperless python3 manage.py collectstatic&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
'''Debian 12:'''&lt;br /&gt;
:&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
sudo -Hu paperless /opt/paperless/venv/bin/python3 manage.py migrate&lt;br /&gt;
sudo -Hu paperless /opt/paperless/venv/bin/python3 manage.py createsuperuser&lt;br /&gt;
sudo -Hu paperless /opt/paperless/venv/bin/python3 manage.py collectstatic&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Systemd Services anlegen: ===&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
cd ../scripts&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== paperless-consumer ====&lt;br /&gt;
'''Debian 12:'''&lt;br /&gt;
:&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
sudo vi paperless-consumer.service&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;ExecStart ersetzen:&lt;br /&gt;
:&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
ExecStart=/opt/paperless/venv/bin/python3 manage.py document_consumer&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
sudo ln -s /opt/paperless/scripts/paperless-consumer.service /etc/systemd/system/paperless-consumer.service&lt;br /&gt;
sudo systemctl daemon-reload&lt;br /&gt;
sudo systemctl enable --now paperless-consumer.service&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
systemctl status paperless-consumer.service&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;Sollte in etwa so aussehen:&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
● paperless-consumer.service - Paperless consumer&lt;br /&gt;
     Loaded: loaded (/etc/systemd/system/paperless-consumer.service; enabled; preset: enabled)&lt;br /&gt;
     Active: active (running) since Sat 2025-03-22 22:25:06 CET; 6s ago&lt;br /&gt;
   Main PID: 6715 (python3)&lt;br /&gt;
      Tasks: 11 (limit: 9472)&lt;br /&gt;
     Memory: 97.2M&lt;br /&gt;
        CPU: 1.518s&lt;br /&gt;
     CGroup: /system.slice/paperless-consumer.service&lt;br /&gt;
             └─6715 /opt/paperless/venv/bin/python3 manage.py document_consumer&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== paperless-scheduler ====&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
sudo vi paperless-scheduler.service&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;'''Debian 11:'''&lt;br /&gt;
:ExecStart ersetzen:&lt;br /&gt;
:&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
ExecStart=/opt/paperless/.local/bin/celery --app paperless beat --loglevel INFO&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
'''Debian 12:'''&lt;br /&gt;
:ExecStart ersetzen:&lt;br /&gt;
:&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
ExecStart=/opt/paperless/venv/bin/celery --app paperless beat --loglevel INFO&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
sudo ln -s /opt/paperless/scripts/paperless-scheduler.service /etc/systemd/system/paperless-scheduler.service&lt;br /&gt;
sudo systemctl daemon-reload&lt;br /&gt;
sudo systemctl enable --now paperless-scheduler.service&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
systemctl status paperless-scheduler.service&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;Sollte in etwa so aussehen:&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
● paperless-scheduler.service - Paperless Celery Beat&lt;br /&gt;
     Loaded: loaded (/etc/systemd/system/paperless-scheduler.service; enabled; preset: enabled)&lt;br /&gt;
     Active: active (running) since Sat 2025-03-22 22:29:33 CET; 4s ago&lt;br /&gt;
   Main PID: 6981 ([celery beat] -)&lt;br /&gt;
      Tasks: 22 (limit: 9472)&lt;br /&gt;
     Memory: 115.1M&lt;br /&gt;
        CPU: 1.831s&lt;br /&gt;
     CGroup: /system.slice/paperless-scheduler.service&lt;br /&gt;
             └─6981 &amp;quot;[celery beat] --app paperless beat --loglevel INFO&amp;quot;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== paperless-task-queue ====&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
sudo vi paperless-task-queue.service&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;'''Debian 11:'''&lt;br /&gt;
:ExecStart ersetzen:&lt;br /&gt;
:&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
ExecStart=/opt/paperless/.local/bin/celery --app paperless worker --loglevel INFO&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
'''Debian 12:'''&lt;br /&gt;
:ExecStart ersetzen:&lt;br /&gt;
:&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
ExecStart=/opt/paperless/venv/bin/celery --app paperless worker --loglevel INFO&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
sudo ln -s /opt/paperless/scripts/paperless-task-queue.service /etc/systemd/system/paperless-task-queue.service&lt;br /&gt;
sudo systemctl daemon-reload&lt;br /&gt;
sudo systemctl enable --now paperless-task-queue.service&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
systemctl status paperless-task-queue.service&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;Sollte in etwa so aussehen:&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
● paperless-task-queue.service - Paperless Celery Workers&lt;br /&gt;
     Loaded: loaded (/etc/systemd/system/paperless-task-queue.service; enabled; preset: enabled)&lt;br /&gt;
     Active: active (running) since Sat 2025-03-22 22:31:23 CET; 4s ago&lt;br /&gt;
   Main PID: 7122 ([celeryd: celer)&lt;br /&gt;
      Tasks: 24 (limit: 9472)&lt;br /&gt;
     Memory: 197.6M&lt;br /&gt;
        CPU: 2.177s&lt;br /&gt;
     CGroup: /system.slice/paperless-task-queue.service&lt;br /&gt;
             ├─7122 &amp;quot;[celeryd: celery@paperless-ngx-1:MainProcess] -active- (--app paperless worker --loglevel INFO)&amp;quot;&lt;br /&gt;
             ├─7153 &amp;quot;[celeryd: celery@paperless-ngx-1:ForkPoolWorker-1]&amp;quot;&lt;br /&gt;
             └─7154 &amp;quot;[celeryd: celery@paperless-ngx-1:ForkPoolWorker-2]&amp;quot;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
==== paperless-webserver ====&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
sudo vi paperless-webserver.service&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;'''Debian 11:'''&lt;br /&gt;
:exec ersetzen:&lt;br /&gt;
:&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
exec /opt/paperless/.local/bin/granian --interface asginl --ws &amp;quot;paperless.asgi:application&amp;quot;'&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
'''Debian 12:'''&lt;br /&gt;
:exec ersetzen:&lt;br /&gt;
:&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
exec /opt/paperless/venv/bin/granian --interface asginl --ws &amp;quot;paperless.asgi:application&amp;quot;'&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
sudo ln -s /opt/paperless/scripts/paperless-webserver.service /etc/systemd/system/paperless-webserver.service&lt;br /&gt;
sudo systemctl daemon-reload&lt;br /&gt;
sudo systemctl enable --now paperless-webserver.service&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
systemctl status paperless-webserver.service&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;Sollte in etwa so aussehen:&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
● paperless-webserver.service - Paperless webserver&lt;br /&gt;
     Loaded: loaded (/etc/systemd/system/paperless-webserver.service; enabled; preset: enabled)&lt;br /&gt;
     Active: active (running) since Sat 2025-03-22 22:34:41 CET; 3s ago&lt;br /&gt;
   Main PID: 7519 (granian asginl )&lt;br /&gt;
      Tasks: 18 (limit: 9472)&lt;br /&gt;
     Memory: 133.2M&lt;br /&gt;
        CPU: 1.746s&lt;br /&gt;
     CGroup: /system.slice/paperless-webserver.service&lt;br /&gt;
             ├─7519 &amp;quot;granian asginl :::8000 paperless.asgi:application&amp;quot;&lt;br /&gt;
             └─7521 &amp;quot;granian asginl :::8000 paperless.asgi:application worker-1&amp;quot;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Zusätzliche Pakete installieren ===&lt;br /&gt;
&lt;br /&gt;
==== stopwords &amp;amp; punkt_tab ====&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
cd ..&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Debian 11:'''&lt;br /&gt;
:&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
sudo -Hu paperless python3 -m nltk.downloader stopwords&lt;br /&gt;
sudo -Hu paperless python3 -m nltk.downloader punkt_tab&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
'''Debian 12:'''&lt;br /&gt;
:&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
sudo -Hu paperless /opt/paperless/venv/bin/python3 -m nltk.downloader stopwords&lt;br /&gt;
sudo -Hu paperless /opt/paperless/venv/bin/python3 -m nltk.downloader punkt_tab&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
sudo apt install tesseract-ocr-deu&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
sudo -Hu paperless vi /opt/paperless/paperless.conf&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
PAPERLESS_NLTK_DIR=/opt/paperless/nltk_data&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== jbig2enc ====&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
sudo apt install autotools-dev automake libtool libleptonica-dev&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
cd ~&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;'''Debian 11:'''&lt;br /&gt;
:&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
wget https://ftp.gnu.org/gnu/autoconf/autoconf-2.71.tar.xz&lt;br /&gt;
tar -xf autoconf-2.71.tar.xz&lt;br /&gt;
cd autoconf-2.71/&lt;br /&gt;
./configure&lt;br /&gt;
make -j$(nproc)&lt;br /&gt;
sudo make install &lt;br /&gt;
. ~/.profile&lt;br /&gt;
autoconf --version&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
git clone https://github.com/agl/jbig2enc&lt;br /&gt;
cd jbig2enc&lt;br /&gt;
./autogen.sh&lt;br /&gt;
./configure &amp;amp;&amp;amp; make -j$(nproc)&lt;br /&gt;
sudo make install&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;Für die Verarbeitung von Dokumenten in deutscher Sprache:&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
sudo apt install tesseract-ocr-deu&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
sudo -Hu paperless vi /opt/paperless/paperless.conf&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
PAPERLESS_OCR_LANGUAGE=deu+eng&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Tika / Gotenberg installieren (Docker) ====&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
sudo install -m 0755 -d /etc/apt/keyrings&lt;br /&gt;
sudo curl -fsSL https://download.docker.com/linux/debian/gpg -o /etc/apt/keyrings/docker.asc&lt;br /&gt;
sudo chmod a+r /etc/apt/keyrings/docker.asc&lt;br /&gt;
&lt;br /&gt;
echo \&lt;br /&gt;
  &amp;quot;deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.asc] https://download.docker.com/linux/debian \&lt;br /&gt;
  $(. /etc/os-release &amp;amp;&amp;amp; echo &amp;quot;$VERSION_CODENAME&amp;quot;) stable&amp;quot; | \&lt;br /&gt;
  sudo tee /etc/apt/sources.list.d/docker.list &amp;gt; /dev/null&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
sudo apt update&lt;br /&gt;
sudo apt install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
sudo docker pull apache/tika&lt;br /&gt;
sudo docker run -d --restart unless-stopped -p 127.0.0.1:9998:9998 apache/tika&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
sudo docker pull gotenberg/gotenberg:8&lt;br /&gt;
sudo docker run -d --restart unless-stopped -p 127.0.0.1:3000:3000 gotenberg/gotenberg:8&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
sudo -Hu paperless vi /opt/paperless/paperless.conf&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
# Tika settings&lt;br /&gt;
&lt;br /&gt;
PAPERLESS_TIKA_ENABLED=true&lt;br /&gt;
PAPERLESS_TIKA_ENDPOINT=http://localhost:9998&lt;br /&gt;
PAPERLESS_TIKA_GOTENBERG_ENDPOINT=http://localhost:3000&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== ImageMagic konfigurieren: ===&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
sudo vi /etc/ImageMagick-6/policy.xml&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;policy domain=&amp;quot;coder&amp;quot; rights=&amp;quot;read|write&amp;quot; pattern=&amp;quot;PDF&amp;quot; /&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;/div&gt;</summary>
		<author><name>Robin Tönniges</name></author>
	</entry>
	<entry>
		<id>https://wiki.toenniges.de/index.php?title=Paperless-ngx_%22Bare_Metal%22_installieren_(Debian_11/12)&amp;diff=1832</id>
		<title>Paperless-ngx &quot;Bare Metal&quot; installieren (Debian 11/12)</title>
		<link rel="alternate" type="text/html" href="https://wiki.toenniges.de/index.php?title=Paperless-ngx_%22Bare_Metal%22_installieren_(Debian_11/12)&amp;diff=1832"/>
		<updated>2025-03-22T21:57:25Z</updated>

		<summary type="html">&lt;p&gt;Robin Tönniges: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Infobox&lt;br /&gt;
| Titel      = Testumgebung&lt;br /&gt;
| Bildname   = &lt;br /&gt;
| Bildbreite = &lt;br /&gt;
| Bildtext   = &lt;br /&gt;
| Stil            = 2&lt;br /&gt;
| Titelfarbe      = 6&lt;br /&gt;
| Abschnittsfarbe = &lt;br /&gt;
| Farbe           = &lt;br /&gt;
| Style           = &lt;br /&gt;
| Feldstyle       = &lt;br /&gt;
| Feldname1 = OS    | Daten1 = Debian 11.11/12.10&lt;br /&gt;
| Feldname3 = paperless-ngx (Dev)    | Daten3 = 2.15.0&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
Anleitung für die &amp;quot;Bare Metal&amp;quot; Installation von [https://docs.paperless-ngx.com/ paperless-ngx] mit dem Sourcecode vom [https://github.com/paperless-ngx/paperless-ngx Dev] oder [https://github.com/paperless-ngx/paperless-ngx/tree/beta Beta] Branch auf Debian 11 und 12.&lt;br /&gt;
==Abhängigkeiten installieren==&lt;br /&gt;
Das System auf den neusten Stand bringen:&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
sudo apt update&lt;br /&gt;
sudo apt upgrade&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
sudo apt install build-essential zlib1g-dev libncurses5-dev libgdbm-dev libnss3-dev libssl-dev libreadline-dev libffi-dev libpq-dev libsqlite3-dev wget libbz2-dev pkg-config libgdbm-compat-dev liblzma-dev tk-dev uuid-dev&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
===Python 3.11 installieren===&lt;br /&gt;
'''Debian 11:'''&lt;br /&gt;
:&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
wget https://www.python.org/ftp/python/3.11.11/Python-3.11.11.tgz&lt;br /&gt;
tar -xvf Python-3.11.11.tgz&lt;br /&gt;
cd Python-3.11.11&lt;br /&gt;
./configure --enable-optimizations&lt;br /&gt;
make -j$(nproc)&lt;br /&gt;
sudo make install&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
'''Debian 12:'''&lt;br /&gt;
:&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
sudo apt install python3.11 python3.11-venv python3-pip&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
===Ghostscript 10.05 installieren===&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
wget https://github.com/ArtifexSoftware/ghostpdl-downloads/releases/download/gs10050/ghostscript-10.05.0.tar.gz&lt;br /&gt;
tar -xvf ghostscript-10.05.0.tar.gz&lt;br /&gt;
cd ghostscript-10.05.0&lt;br /&gt;
./configure --without-x&lt;br /&gt;
make -j$(nproc)&lt;br /&gt;
sudo make install&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
sudo apt install imagemagick fonts-liberation gnupg libpq-dev default-libmysqlclient-dev pkg-config libmagic-dev libzbar0 poppler-utils&lt;br /&gt;
sudo apt install unpaper icc-profiles-free qpdf liblept5 libxml2 pngquant zlib1g tesseract-ocr python3-setuptools python3-wheel&lt;br /&gt;
&lt;br /&gt;
sudo apt install redis git curl&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Paperless-ngx installieren ==&lt;br /&gt;
Paperless Benutzer erstellen und Repository klonen:&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
sudo adduser paperless --system --home /opt/paperless --group&lt;br /&gt;
cd /opt/paperless&lt;br /&gt;
sudo -Hu paperless git clone https://github.com/paperless-ngx/paperless-ngx.git .&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
sudo -Hu paperless mkdir consume media&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
'''Debian 11:'''&lt;br /&gt;
:&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
sudo -Hu paperless pip3 install uv&lt;br /&gt;
sudo -Hu paperless uv export --no-dev --all-extras --format requirements-txt --output-file requirements.txt&lt;br /&gt;
sudo -Hu paperless pip3 install -r requirements.txt&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
'''Debian 12:'''&lt;br /&gt;
:&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
sudo -Hu paperless python3 -m venv /opt/paperless/venv&lt;br /&gt;
sudo -Hu paperless /opt/paperless/venv/bin/pip3 install uv&lt;br /&gt;
sudo -Hu paperless /opt/paperless/venv/bin/uv export --no-dev --all-extras --format requirements-txt --output-file requirements.txt&lt;br /&gt;
sudo -Hu paperless /opt/paperless/venv/bin/pip3 install -r requirements.txt&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
sudo -Hu paperless cp paperless.conf.example paperless.conf&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
sudo -Hu paperless vi paperless.conf&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
PAPERLESS_SECRET_KEY=change-me&lt;br /&gt;
&lt;br /&gt;
PAPERLESS_CONSUMPTION_DIR=/mnt/paperless-store/consume&lt;br /&gt;
PAPERLESS_DATA_DIR=/mnt/paperless-store/data&lt;br /&gt;
PAPERLESS_MEDIA_ROOT=/mnt/paperless-store/media&lt;br /&gt;
&lt;br /&gt;
PAPERLESS_TIME_ZONE=Europe/Berlin&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;Wenn du postgresql statt sqlite verwendet möchtest:&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
PAPERLESS_DBHOST=127.0.0.1 # Use postgresql&lt;br /&gt;
PAPERLESS_DBNAME=db_paperless&lt;br /&gt;
#PAPERLESS_DBUSER=paperless&lt;br /&gt;
PAPERLESS_DBPASS=&amp;lt;password&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
sudo apt install postgresql&lt;br /&gt;
sudo -u postgres psql&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&amp;lt;syntaxhighlight lang=&amp;quot;sql&amp;quot;&amp;gt;&lt;br /&gt;
CREATE DATABASE db_paperless;&lt;br /&gt;
CREATE USER paperless WITH ENCRYPTED PASSWORD '&amp;lt;password&amp;gt;';&lt;br /&gt;
GRANT ALL ON DATABASE db_paperless TO paperless;&lt;br /&gt;
\c db_paperless&lt;br /&gt;
GRANT ALL ON SCHEMA public TO paperless;&lt;br /&gt;
\q&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;Frontend:&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
cd src-ui&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
'''Debian 11:'''&lt;br /&gt;
:&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
sudo curl -sL https://deb.nodesource.com/setup_18.x | sudo -E bash -&lt;br /&gt;
sudo apt install nodejs&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
'''Debian 12:'''&lt;br /&gt;
:&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
sudo apt install nodejs&lt;br /&gt;
sudo apt install npm&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
sudo npm install -g @angular/cli&lt;br /&gt;
sudo npm install -g pnpm&lt;br /&gt;
sudo -Hu paperless pnpm install&lt;br /&gt;
&lt;br /&gt;
sudo -Hu paperless ng build --configuration production&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
Backend:&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
cd ../src&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
'''Debian 11:'''&lt;br /&gt;
:&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
sudo -Hu paperless python3 manage.py migrate&lt;br /&gt;
sudo -Hu paperless python3 manage.py createsuperuser&lt;br /&gt;
sudo -Hu paperless python3 manage.py collectstatic&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
'''Debian 12:'''&lt;br /&gt;
:&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
sudo -Hu paperless /opt/paperless/venv/bin/python3 manage.py migrate&lt;br /&gt;
sudo -Hu paperless /opt/paperless/venv/bin/python3 manage.py createsuperuser&lt;br /&gt;
sudo -Hu paperless /opt/paperless/venv/bin/python3 manage.py collectstatic&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Systemd Services anlegen: ===&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
cd ../scripts&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== paperless-consumer ====&lt;br /&gt;
'''Debian 12:'''&lt;br /&gt;
:&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
sudo vi paperless-consumer.service&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;ExecStart ersetzen:&lt;br /&gt;
:&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
ExecStart=/opt/paperless/venv/bin/python3 manage.py document_consumer&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
sudo ln -s /opt/paperless/scripts/paperless-consumer.service /etc/systemd/system/paperless-consumer.service&lt;br /&gt;
sudo systemctl daemon-reload&lt;br /&gt;
sudo systemctl enable --now paperless-consumer.service&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
systemctl status paperless-consumer.service&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;Sollte in etwa so aussehen:&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
● paperless-consumer.service - Paperless consumer&lt;br /&gt;
     Loaded: loaded (/etc/systemd/system/paperless-consumer.service; enabled; preset: enabled)&lt;br /&gt;
     Active: active (running) since Sat 2025-03-22 22:25:06 CET; 6s ago&lt;br /&gt;
   Main PID: 6715 (python3)&lt;br /&gt;
      Tasks: 11 (limit: 9472)&lt;br /&gt;
     Memory: 97.2M&lt;br /&gt;
        CPU: 1.518s&lt;br /&gt;
     CGroup: /system.slice/paperless-consumer.service&lt;br /&gt;
             └─6715 /opt/paperless/venv/bin/python3 manage.py document_consumer&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== paperless-scheduler ====&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
sudo vi paperless-scheduler.service&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;'''Debian 11:'''&lt;br /&gt;
:ExecStart ersetzen:&lt;br /&gt;
:&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
ExecStart=/opt/paperless/.local/bin/celery --app paperless beat --loglevel INFO&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
'''Debian 12:'''&lt;br /&gt;
:ExecStart ersetzen:&lt;br /&gt;
:&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
ExecStart=/opt/paperless/venv/bin/celery --app paperless beat --loglevel INFO&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
sudo ln -s /opt/paperless/scripts/paperless-scheduler.service /etc/systemd/system/paperless-scheduler.service&lt;br /&gt;
sudo systemctl daemon-reload&lt;br /&gt;
sudo systemctl enable --now paperless-scheduler.service&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
systemctl status paperless-scheduler.service&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;Sollte in etwa so aussehen:&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
● paperless-scheduler.service - Paperless Celery Beat&lt;br /&gt;
     Loaded: loaded (/etc/systemd/system/paperless-scheduler.service; enabled; preset: enabled)&lt;br /&gt;
     Active: active (running) since Sat 2025-03-22 22:29:33 CET; 4s ago&lt;br /&gt;
   Main PID: 6981 ([celery beat] -)&lt;br /&gt;
      Tasks: 22 (limit: 9472)&lt;br /&gt;
     Memory: 115.1M&lt;br /&gt;
        CPU: 1.831s&lt;br /&gt;
     CGroup: /system.slice/paperless-scheduler.service&lt;br /&gt;
             └─6981 &amp;quot;[celery beat] --app paperless beat --loglevel INFO&amp;quot;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== paperless-task-queue ====&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
sudo vi paperless-task-queue.service&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;'''Debian 11:'''&lt;br /&gt;
:ExecStart ersetzen:&lt;br /&gt;
:&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
ExecStart=/opt/paperless/.local/bin/celery --app paperless worker --loglevel INFO&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
'''Debian 12:'''&lt;br /&gt;
:ExecStart ersetzen:&lt;br /&gt;
:&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
ExecStart=/opt/paperless/venv/bin/celery --app paperless worker --loglevel INFO&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
sudo ln -s /opt/paperless/scripts/paperless-task-queue.service /etc/systemd/system/paperless-task-queue.service&lt;br /&gt;
sudo systemctl daemon-reload&lt;br /&gt;
sudo systemctl enable --now paperless-task-queue.service&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
systemctl status paperless-task-queue.service&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;Sollte in etwa so aussehen:&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
● paperless-task-queue.service - Paperless Celery Workers&lt;br /&gt;
     Loaded: loaded (/etc/systemd/system/paperless-task-queue.service; enabled; preset: enabled)&lt;br /&gt;
     Active: active (running) since Sat 2025-03-22 22:31:23 CET; 4s ago&lt;br /&gt;
   Main PID: 7122 ([celeryd: celer)&lt;br /&gt;
      Tasks: 24 (limit: 9472)&lt;br /&gt;
     Memory: 197.6M&lt;br /&gt;
        CPU: 2.177s&lt;br /&gt;
     CGroup: /system.slice/paperless-task-queue.service&lt;br /&gt;
             ├─7122 &amp;quot;[celeryd: celery@paperless-ngx-1:MainProcess] -active- (--app paperless worker --loglevel INFO)&amp;quot;&lt;br /&gt;
             ├─7153 &amp;quot;[celeryd: celery@paperless-ngx-1:ForkPoolWorker-1]&amp;quot;&lt;br /&gt;
             └─7154 &amp;quot;[celeryd: celery@paperless-ngx-1:ForkPoolWorker-2]&amp;quot;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
==== paperless-webserver ====&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
sudo vi paperless-webserver.service&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;'''Debian 11:'''&lt;br /&gt;
:exec ersetzen:&lt;br /&gt;
:&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
exec /opt/paperless/.local/bin/granian --interface asginl --ws &amp;quot;paperless.asgi:application&amp;quot;'&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
'''Debian 12:'''&lt;br /&gt;
:exec ersetzen:&lt;br /&gt;
:&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
exec /opt/paperless/venv/bin/granian --interface asginl --ws &amp;quot;paperless.asgi:application&amp;quot;'&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
sudo ln -s /opt/paperless/scripts/paperless-webserver.service /etc/systemd/system/paperless-webserver.service&lt;br /&gt;
sudo systemctl daemon-reload&lt;br /&gt;
sudo systemctl enable --now paperless-webserver.service&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
systemctl status paperless-webserver.service&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;Sollte in etwa so aussehen:&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
● paperless-webserver.service - Paperless webserver&lt;br /&gt;
     Loaded: loaded (/etc/systemd/system/paperless-webserver.service; enabled; preset: enabled)&lt;br /&gt;
     Active: active (running) since Sat 2025-03-22 22:34:41 CET; 3s ago&lt;br /&gt;
   Main PID: 7519 (granian asginl )&lt;br /&gt;
      Tasks: 18 (limit: 9472)&lt;br /&gt;
     Memory: 133.2M&lt;br /&gt;
        CPU: 1.746s&lt;br /&gt;
     CGroup: /system.slice/paperless-webserver.service&lt;br /&gt;
             ├─7519 &amp;quot;granian asginl :::8000 paperless.asgi:application&amp;quot;&lt;br /&gt;
             └─7521 &amp;quot;granian asginl :::8000 paperless.asgi:application worker-1&amp;quot;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Zusätzliche Pakete installieren ===&lt;br /&gt;
&lt;br /&gt;
==== stopwords &amp;amp; punkt_tab ====&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
cd ..&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Debian 11:'''&lt;br /&gt;
:&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
sudo -Hu paperless python3 -m nltk.downloader stopwords&lt;br /&gt;
sudo -Hu paperless python3 -m nltk.downloader punkt_tab&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
'''Debian 12:'''&lt;br /&gt;
:&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
sudo -Hu paperless /opt/paperless/venv/bin/python3 -m nltk.downloader stopwords&lt;br /&gt;
sudo -Hu paperless /opt/paperless/venv/bin/python3 -m nltk.downloader punkt_tab&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
sudo apt install tesseract-ocr-deu&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
sudo -Hu paperless vi /opt/paperless/paperless.conf&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
PAPERLESS_NLTK_DIR=/opt/paperless/nltk_data&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== jbig2enc ====&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
sudo apt install autotools-dev automake libtool libleptonica-dev&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
cd ~&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;'''Debian 11:'''&lt;br /&gt;
:&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
wget https://ftp.gnu.org/gnu/autoconf/autoconf-2.71.tar.xz&lt;br /&gt;
tar -xf autoconf-2.71.tar.xz&lt;br /&gt;
cd autoconf-2.71/&lt;br /&gt;
./configure&lt;br /&gt;
make -j$(nproc)&lt;br /&gt;
sudo make install &lt;br /&gt;
. ~/.profile&lt;br /&gt;
autoconf --version&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
git clone https://github.com/agl/jbig2enc&lt;br /&gt;
cd jbig2enc&lt;br /&gt;
./autogen.sh&lt;br /&gt;
./configure &amp;amp;&amp;amp; make -j$(nproc)&lt;br /&gt;
sudo make install&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;Für die Verarbeitung von Dokumenten in deutscher Sprache:&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
sudo apt install tesseract-ocr-deu&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
sudo -Hu paperless vi /opt/paperless/paperless.conf&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
PAPERLESS_OCR_LANGUAGE=deu+eng&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Tika / Gotenberg installieren (Docker) ====&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
sudo install -m 0755 -d /etc/apt/keyrings&lt;br /&gt;
sudo curl -fsSL https://download.docker.com/linux/debian/gpg -o /etc/apt/keyrings/docker.asc&lt;br /&gt;
sudo chmod a+r /etc/apt/keyrings/docker.asc&lt;br /&gt;
&lt;br /&gt;
echo \&lt;br /&gt;
  &amp;quot;deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.asc] https://download.docker.com/linux/debian \&lt;br /&gt;
  $(. /etc/os-release &amp;amp;&amp;amp; echo &amp;quot;$VERSION_CODENAME&amp;quot;) stable&amp;quot; | \&lt;br /&gt;
  sudo tee /etc/apt/sources.list.d/docker.list &amp;gt; /dev/null&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
sudo apt update&lt;br /&gt;
sudo apt install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
sudo docker pull apache/tika&lt;br /&gt;
sudo docker run -d --restart unless-stopped -p 127.0.0.1:9998:9998 apache/tika&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
sudo docker pull gotenberg/gotenberg:8&lt;br /&gt;
sudo docker run -d --restart unless-stopped -p 127.0.0.1:3000:3000 gotenberg/gotenberg:8&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
sudo -Hu paperless vi /opt/paperless/paperless.conf&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
# Tika settings&lt;br /&gt;
&lt;br /&gt;
PAPERLESS_TIKA_ENABLED=true&lt;br /&gt;
PAPERLESS_TIKA_ENDPOINT=http://localhost:9998&lt;br /&gt;
PAPERLESS_TIKA_GOTENBERG_ENDPOINT=http://localhost:3000&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== ImageMagic konfigurieren: ===&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
sudo vi /etc/ImageMagick-6/policy.xml&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;policy domain=&amp;quot;coder&amp;quot; rights=&amp;quot;read|write&amp;quot; pattern=&amp;quot;PDF&amp;quot; /&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;/div&gt;</summary>
		<author><name>Robin Tönniges</name></author>
	</entry>
	<entry>
		<id>https://wiki.toenniges.de/index.php?title=Paperless-ngx_%22Bare_Metal%22_installieren_(Debian_11/12)&amp;diff=1831</id>
		<title>Paperless-ngx &quot;Bare Metal&quot; installieren (Debian 11/12)</title>
		<link rel="alternate" type="text/html" href="https://wiki.toenniges.de/index.php?title=Paperless-ngx_%22Bare_Metal%22_installieren_(Debian_11/12)&amp;diff=1831"/>
		<updated>2025-03-22T21:54:00Z</updated>

		<summary type="html">&lt;p&gt;Robin Tönniges: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Infobox&lt;br /&gt;
| Titel      = Testumgebung&lt;br /&gt;
| Bildname   = &lt;br /&gt;
| Bildbreite = &lt;br /&gt;
| Bildtext   = &lt;br /&gt;
| Stil            = 2&lt;br /&gt;
| Titelfarbe      = 6&lt;br /&gt;
| Abschnittsfarbe = &lt;br /&gt;
| Farbe           = &lt;br /&gt;
| Style           = &lt;br /&gt;
| Feldstyle       = &lt;br /&gt;
| Feldname1 = OS    | Daten1 = Debian 11.11/12.10&lt;br /&gt;
| Feldname3 = paperless-ngx (Dev)    | Daten3 = 2.15.0&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
Anleitung für die &amp;quot;Bare Metal&amp;quot; Installation von [https://docs.paperless-ngx.com/ paperless-ngx] mit dem Sourcecode vom [https://github.com/paperless-ngx/paperless-ngx Dev-Branch] auf Debian 11 und 12.&lt;br /&gt;
==Abhängigkeiten installieren==&lt;br /&gt;
Das System auf den neusten Stand bringen:&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
sudo apt update&lt;br /&gt;
sudo apt upgrade&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
sudo apt install build-essential zlib1g-dev libncurses5-dev libgdbm-dev libnss3-dev libssl-dev libreadline-dev libffi-dev libpq-dev libsqlite3-dev wget libbz2-dev pkg-config libgdbm-compat-dev liblzma-dev tk-dev uuid-dev&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
===Python 3.11 installieren===&lt;br /&gt;
'''Debian 11:'''&lt;br /&gt;
:&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
wget https://www.python.org/ftp/python/3.11.11/Python-3.11.11.tgz&lt;br /&gt;
tar -xvf Python-3.11.11.tgz&lt;br /&gt;
cd Python-3.11.11&lt;br /&gt;
./configure --enable-optimizations&lt;br /&gt;
make -j$(nproc)&lt;br /&gt;
sudo make install&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
'''Debian 12:'''&lt;br /&gt;
:&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
sudo apt install python3.11 python3.11-venv python3-pip&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
===Ghostscript 10.05 installieren===&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
wget https://github.com/ArtifexSoftware/ghostpdl-downloads/releases/download/gs10050/ghostscript-10.05.0.tar.gz&lt;br /&gt;
tar -xvf ghostscript-10.05.0.tar.gz&lt;br /&gt;
cd ghostscript-10.05.0&lt;br /&gt;
./configure --without-x&lt;br /&gt;
make -j$(nproc)&lt;br /&gt;
sudo make install&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
sudo apt install imagemagick fonts-liberation gnupg libpq-dev default-libmysqlclient-dev pkg-config libmagic-dev libzbar0 poppler-utils&lt;br /&gt;
sudo apt install unpaper icc-profiles-free qpdf liblept5 libxml2 pngquant zlib1g tesseract-ocr python3-setuptools python3-wheel&lt;br /&gt;
&lt;br /&gt;
sudo apt install redis git curl&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Paperless-ngx installieren ==&lt;br /&gt;
Paperless Benutzer erstellen und Repository klonen:&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
sudo adduser paperless --system --home /opt/paperless --group&lt;br /&gt;
cd /opt/paperless&lt;br /&gt;
sudo -Hu paperless git clone https://github.com/paperless-ngx/paperless-ngx.git .&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
sudo -Hu paperless mkdir consume media&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
'''Debian 11:'''&lt;br /&gt;
:&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
sudo -Hu paperless pip3 install uv&lt;br /&gt;
sudo -Hu paperless uv export --no-dev --all-extras --format requirements-txt --output-file requirements.txt&lt;br /&gt;
sudo -Hu paperless pip3 install -r requirements.txt&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
'''Debian 12:'''&lt;br /&gt;
:&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
sudo -Hu paperless python3 -m venv /opt/paperless/venv&lt;br /&gt;
sudo -Hu paperless /opt/paperless/venv/bin/pip3 install uv&lt;br /&gt;
sudo -Hu paperless /opt/paperless/venv/bin/uv export --no-dev --all-extras --format requirements-txt --output-file requirements.txt&lt;br /&gt;
sudo -Hu paperless /opt/paperless/venv/bin/pip3 install -r requirements.txt&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
sudo -Hu paperless cp paperless.conf.example paperless.conf&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
sudo -Hu paperless vi paperless.conf&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
PAPERLESS_SECRET_KEY=change-me&lt;br /&gt;
&lt;br /&gt;
PAPERLESS_CONSUMPTION_DIR=/mnt/paperless-store/consume&lt;br /&gt;
PAPERLESS_DATA_DIR=/mnt/paperless-store/data&lt;br /&gt;
PAPERLESS_MEDIA_ROOT=/mnt/paperless-store/media&lt;br /&gt;
&lt;br /&gt;
PAPERLESS_TIME_ZONE=Europe/Berlin&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;Wenn du postgresql statt sqlite verwendet möchtest:&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
PAPERLESS_DBHOST=127.0.0.1 # Use postgresql&lt;br /&gt;
PAPERLESS_DBNAME=db_paperless&lt;br /&gt;
#PAPERLESS_DBUSER=paperless&lt;br /&gt;
PAPERLESS_DBPASS=&amp;lt;password&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
sudo apt install postgresql&lt;br /&gt;
sudo -u postgres psql&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&amp;lt;syntaxhighlight lang=&amp;quot;sql&amp;quot;&amp;gt;&lt;br /&gt;
CREATE DATABASE db_paperless;&lt;br /&gt;
CREATE USER paperless WITH ENCRYPTED PASSWORD '&amp;lt;password&amp;gt;';&lt;br /&gt;
GRANT ALL ON DATABASE db_paperless TO paperless;&lt;br /&gt;
\c db_paperless&lt;br /&gt;
GRANT ALL ON SCHEMA public TO paperless;&lt;br /&gt;
\q&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;Frontend:&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
cd src-ui&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
'''Debian 11:'''&lt;br /&gt;
:&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
sudo curl -sL https://deb.nodesource.com/setup_18.x | sudo -E bash -&lt;br /&gt;
sudo apt install nodejs&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
'''Debian 12:'''&lt;br /&gt;
:&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
sudo apt install nodejs&lt;br /&gt;
sudo apt install npm&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
sudo npm install -g @angular/cli&lt;br /&gt;
sudo npm install -g pnpm&lt;br /&gt;
sudo -Hu paperless pnpm install&lt;br /&gt;
&lt;br /&gt;
sudo -Hu paperless ng build --configuration production&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
Backend:&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
cd ../src&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
'''Debian 11:'''&lt;br /&gt;
:&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
sudo -Hu paperless python3 manage.py migrate&lt;br /&gt;
sudo -Hu paperless python3 manage.py createsuperuser&lt;br /&gt;
sudo -Hu paperless python3 manage.py collectstatic&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
'''Debian 12:'''&lt;br /&gt;
:&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
sudo -Hu paperless /opt/paperless/venv/bin/python3 manage.py migrate&lt;br /&gt;
sudo -Hu paperless /opt/paperless/venv/bin/python3 manage.py createsuperuser&lt;br /&gt;
sudo -Hu paperless /opt/paperless/venv/bin/python3 manage.py collectstatic&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Systemd Services anlegen: ===&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
cd ../scripts&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== paperless-consumer ====&lt;br /&gt;
'''Debian 12:'''&lt;br /&gt;
:&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
sudo vi paperless-consumer.service&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;ExecStart ersetzen:&lt;br /&gt;
:&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
ExecStart=/opt/paperless/venv/bin/python3 manage.py document_consumer&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
sudo ln -s /opt/paperless/scripts/paperless-consumer.service /etc/systemd/system/paperless-consumer.service&lt;br /&gt;
sudo systemctl daemon-reload&lt;br /&gt;
sudo systemctl enable --now paperless-consumer.service&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
systemctl status paperless-consumer.service&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;Sollte in etwa so aussehen:&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
● paperless-consumer.service - Paperless consumer&lt;br /&gt;
     Loaded: loaded (/etc/systemd/system/paperless-consumer.service; enabled; preset: enabled)&lt;br /&gt;
     Active: active (running) since Sat 2025-03-22 22:25:06 CET; 6s ago&lt;br /&gt;
   Main PID: 6715 (python3)&lt;br /&gt;
      Tasks: 11 (limit: 9472)&lt;br /&gt;
     Memory: 97.2M&lt;br /&gt;
        CPU: 1.518s&lt;br /&gt;
     CGroup: /system.slice/paperless-consumer.service&lt;br /&gt;
             └─6715 /opt/paperless/venv/bin/python3 manage.py document_consumer&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== paperless-scheduler ====&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
sudo vi paperless-scheduler.service&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;'''Debian 11:'''&lt;br /&gt;
:ExecStart ersetzen:&lt;br /&gt;
:&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
ExecStart=/opt/paperless/.local/bin/celery --app paperless beat --loglevel INFO&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
'''Debian 12:'''&lt;br /&gt;
:ExecStart ersetzen:&lt;br /&gt;
:&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
ExecStart=/opt/paperless/venv/bin/celery --app paperless beat --loglevel INFO&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
sudo ln -s /opt/paperless/scripts/paperless-scheduler.service /etc/systemd/system/paperless-scheduler.service&lt;br /&gt;
sudo systemctl daemon-reload&lt;br /&gt;
sudo systemctl enable --now paperless-scheduler.service&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
systemctl status paperless-scheduler.service&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;Sollte in etwa so aussehen:&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
● paperless-scheduler.service - Paperless Celery Beat&lt;br /&gt;
     Loaded: loaded (/etc/systemd/system/paperless-scheduler.service; enabled; preset: enabled)&lt;br /&gt;
     Active: active (running) since Sat 2025-03-22 22:29:33 CET; 4s ago&lt;br /&gt;
   Main PID: 6981 ([celery beat] -)&lt;br /&gt;
      Tasks: 22 (limit: 9472)&lt;br /&gt;
     Memory: 115.1M&lt;br /&gt;
        CPU: 1.831s&lt;br /&gt;
     CGroup: /system.slice/paperless-scheduler.service&lt;br /&gt;
             └─6981 &amp;quot;[celery beat] --app paperless beat --loglevel INFO&amp;quot;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== paperless-task-queue ====&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
sudo vi paperless-task-queue.service&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;'''Debian 11:'''&lt;br /&gt;
:ExecStart ersetzen:&lt;br /&gt;
:&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
ExecStart=/opt/paperless/.local/bin/celery --app paperless worker --loglevel INFO&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
'''Debian 12:'''&lt;br /&gt;
:ExecStart ersetzen:&lt;br /&gt;
:&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
ExecStart=/opt/paperless/venv/bin/celery --app paperless worker --loglevel INFO&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
sudo ln -s /opt/paperless/scripts/paperless-task-queue.service /etc/systemd/system/paperless-task-queue.service&lt;br /&gt;
sudo systemctl daemon-reload&lt;br /&gt;
sudo systemctl enable --now paperless-task-queue.service&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
systemctl status paperless-task-queue.service&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;Sollte in etwa so aussehen:&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
● paperless-task-queue.service - Paperless Celery Workers&lt;br /&gt;
     Loaded: loaded (/etc/systemd/system/paperless-task-queue.service; enabled; preset: enabled)&lt;br /&gt;
     Active: active (running) since Sat 2025-03-22 22:31:23 CET; 4s ago&lt;br /&gt;
   Main PID: 7122 ([celeryd: celer)&lt;br /&gt;
      Tasks: 24 (limit: 9472)&lt;br /&gt;
     Memory: 197.6M&lt;br /&gt;
        CPU: 2.177s&lt;br /&gt;
     CGroup: /system.slice/paperless-task-queue.service&lt;br /&gt;
             ├─7122 &amp;quot;[celeryd: celery@paperless-ngx-1:MainProcess] -active- (--app paperless worker --loglevel INFO)&amp;quot;&lt;br /&gt;
             ├─7153 &amp;quot;[celeryd: celery@paperless-ngx-1:ForkPoolWorker-1]&amp;quot;&lt;br /&gt;
             └─7154 &amp;quot;[celeryd: celery@paperless-ngx-1:ForkPoolWorker-2]&amp;quot;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
==== paperless-webserver ====&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
sudo vi paperless-webserver.service&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;'''Debian 11:'''&lt;br /&gt;
:exec ersetzen:&lt;br /&gt;
:&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
exec /opt/paperless/.local/bin/granian --interface asginl --ws &amp;quot;paperless.asgi:application&amp;quot;'&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
'''Debian 12:'''&lt;br /&gt;
:exec ersetzen:&lt;br /&gt;
:&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
exec /opt/paperless/venv/bin/granian --interface asginl --ws &amp;quot;paperless.asgi:application&amp;quot;'&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
sudo ln -s /opt/paperless/scripts/paperless-webserver.service /etc/systemd/system/paperless-webserver.service&lt;br /&gt;
sudo systemctl daemon-reload&lt;br /&gt;
sudo systemctl enable --now paperless-webserver.service&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
systemctl status paperless-webserver.service&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;Sollte in etwa so aussehen:&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
● paperless-webserver.service - Paperless webserver&lt;br /&gt;
     Loaded: loaded (/etc/systemd/system/paperless-webserver.service; enabled; preset: enabled)&lt;br /&gt;
     Active: active (running) since Sat 2025-03-22 22:34:41 CET; 3s ago&lt;br /&gt;
   Main PID: 7519 (granian asginl )&lt;br /&gt;
      Tasks: 18 (limit: 9472)&lt;br /&gt;
     Memory: 133.2M&lt;br /&gt;
        CPU: 1.746s&lt;br /&gt;
     CGroup: /system.slice/paperless-webserver.service&lt;br /&gt;
             ├─7519 &amp;quot;granian asginl :::8000 paperless.asgi:application&amp;quot;&lt;br /&gt;
             └─7521 &amp;quot;granian asginl :::8000 paperless.asgi:application worker-1&amp;quot;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Zusätzliche Pakete installieren ===&lt;br /&gt;
&lt;br /&gt;
==== stopwords &amp;amp; punkt_tab ====&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
cd ..&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Debian 11:'''&lt;br /&gt;
:&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
sudo -Hu paperless python3 -m nltk.downloader stopwords&lt;br /&gt;
sudo -Hu paperless python3 -m nltk.downloader punkt_tab&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
'''Debian 12:'''&lt;br /&gt;
:&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
sudo -Hu paperless /opt/paperless/venv/bin/python3 -m nltk.downloader stopwords&lt;br /&gt;
sudo -Hu paperless /opt/paperless/venv/bin/python3 -m nltk.downloader punkt_tab&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
sudo apt install tesseract-ocr-deu&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
sudo -Hu paperless vi /opt/paperless/paperless.conf&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
PAPERLESS_NLTK_DIR=/opt/paperless/nltk_data&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== jbig2enc ====&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
sudo apt install autotools-dev automake libtool libleptonica-dev&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
cd ~&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;'''Debian 11:'''&lt;br /&gt;
:&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
wget https://ftp.gnu.org/gnu/autoconf/autoconf-2.71.tar.xz&lt;br /&gt;
tar -xf autoconf-2.71.tar.xz&lt;br /&gt;
cd autoconf-2.71/&lt;br /&gt;
./configure&lt;br /&gt;
make -j$(nproc)&lt;br /&gt;
sudo make install &lt;br /&gt;
. ~/.profile&lt;br /&gt;
autoconf --version&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
git clone https://github.com/agl/jbig2enc&lt;br /&gt;
cd jbig2enc&lt;br /&gt;
./autogen.sh&lt;br /&gt;
./configure &amp;amp;&amp;amp; make -j$(nproc)&lt;br /&gt;
sudo make install&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;Für die Verarbeitung von Dokumenten in deutscher Sprache:&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
sudo apt install tesseract-ocr-deu&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
sudo -Hu paperless vi /opt/paperless/paperless.conf&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
PAPERLESS_OCR_LANGUAGE=deu+eng&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Tika / Gotenberg installieren (Docker) ====&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
sudo install -m 0755 -d /etc/apt/keyrings&lt;br /&gt;
sudo curl -fsSL https://download.docker.com/linux/debian/gpg -o /etc/apt/keyrings/docker.asc&lt;br /&gt;
sudo chmod a+r /etc/apt/keyrings/docker.asc&lt;br /&gt;
&lt;br /&gt;
echo \&lt;br /&gt;
  &amp;quot;deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.asc] https://download.docker.com/linux/debian \&lt;br /&gt;
  $(. /etc/os-release &amp;amp;&amp;amp; echo &amp;quot;$VERSION_CODENAME&amp;quot;) stable&amp;quot; | \&lt;br /&gt;
  sudo tee /etc/apt/sources.list.d/docker.list &amp;gt; /dev/null&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
sudo apt update&lt;br /&gt;
sudo apt install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
sudo docker pull apache/tika&lt;br /&gt;
sudo docker run -d --restart unless-stopped -p 127.0.0.1:9998:9998 apache/tika&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
sudo docker pull gotenberg/gotenberg:8&lt;br /&gt;
sudo docker run -d --restart unless-stopped -p 127.0.0.1:3000:3000 gotenberg/gotenberg:8&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
sudo -Hu paperless vi /opt/paperless/paperless.conf&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
# Tika settings&lt;br /&gt;
&lt;br /&gt;
PAPERLESS_TIKA_ENABLED=true&lt;br /&gt;
PAPERLESS_TIKA_ENDPOINT=http://localhost:9998&lt;br /&gt;
PAPERLESS_TIKA_GOTENBERG_ENDPOINT=http://localhost:3000&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== ImageMagic konfigurieren: ===&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
sudo vi /etc/ImageMagick-6/policy.xml&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;policy domain=&amp;quot;coder&amp;quot; rights=&amp;quot;read|write&amp;quot; pattern=&amp;quot;PDF&amp;quot; /&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;/div&gt;</summary>
		<author><name>Robin Tönniges</name></author>
	</entry>
	<entry>
		<id>https://wiki.toenniges.de/index.php?title=Paperless-ngx_%22Bare_Metal%22_installieren_(Debian_11/12)&amp;diff=1830</id>
		<title>Paperless-ngx &quot;Bare Metal&quot; installieren (Debian 11/12)</title>
		<link rel="alternate" type="text/html" href="https://wiki.toenniges.de/index.php?title=Paperless-ngx_%22Bare_Metal%22_installieren_(Debian_11/12)&amp;diff=1830"/>
		<updated>2025-03-22T21:49:15Z</updated>

		<summary type="html">&lt;p&gt;Robin Tönniges: /* Zusätzliche Pakete installieren */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Infobox&lt;br /&gt;
| Titel      = Testumgebung&lt;br /&gt;
| Bildname   = &lt;br /&gt;
| Bildbreite = &lt;br /&gt;
| Bildtext   = &lt;br /&gt;
| Stil            = 2&lt;br /&gt;
| Titelfarbe      = 6&lt;br /&gt;
| Abschnittsfarbe = &lt;br /&gt;
| Farbe           = &lt;br /&gt;
| Style           = &lt;br /&gt;
| Feldstyle       = &lt;br /&gt;
| Feldname1 = OS    | Daten1 = Debian 11.11/12.10&lt;br /&gt;
| Feldname3 = paperless-ngx (Dev)    | Daten3 = 2.15.0&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
Anleitung für die &amp;quot;Bare Metal&amp;quot; Installation von [https://docs.paperless-ngx.com/ paperless-ngx] mit dem Sourcecode vom [https://github.com/paperless-ngx/paperless-ngx Dev-Branch] auf Debian 11 und 12.&lt;br /&gt;
==Abhängigkeiten installieren==&lt;br /&gt;
Das System auf den neusten Stand bringen:&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
sudo apt update&lt;br /&gt;
sudo apt upgrade&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
sudo apt install build-essential zlib1g-dev libncurses5-dev libgdbm-dev libnss3-dev libssl-dev libreadline-dev libffi-dev libpq-dev libsqlite3-dev wget libbz2-dev pkg-config libgdbm-compat-dev liblzma-dev tk-dev uuid-dev&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
===Python 3.11 installieren===&lt;br /&gt;
'''Debian 11:'''&lt;br /&gt;
:&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
wget https://www.python.org/ftp/python/3.11.11/Python-3.11.11.tgz&lt;br /&gt;
tar -xvf Python-3.11.11.tgz&lt;br /&gt;
cd Python-3.11.11&lt;br /&gt;
./configure --enable-optimizations&lt;br /&gt;
make -j$(nproc)&lt;br /&gt;
sudo make install&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
'''Debian 12:'''&lt;br /&gt;
:&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
sudo apt install python3.11 python3.11-venv python3-pip&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
===Ghostscript 10.05 installieren===&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
wget https://github.com/ArtifexSoftware/ghostpdl-downloads/releases/download/gs10050/ghostscript-10.05.0.tar.gz&lt;br /&gt;
tar -xvf ghostscript-10.05.0.tar.gz&lt;br /&gt;
cd ghostscript-10.05.0&lt;br /&gt;
./configure --without-x&lt;br /&gt;
make -j$(nproc)&lt;br /&gt;
sudo make install&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
sudo apt install imagemagick fonts-liberation gnupg libpq-dev default-libmysqlclient-dev pkg-config libmagic-dev libzbar0 poppler-utils&lt;br /&gt;
sudo apt install unpaper icc-profiles-free qpdf liblept5 libxml2 pngquant zlib1g tesseract-ocr python3-setuptools python3-wheel&lt;br /&gt;
&lt;br /&gt;
sudo apt install redis git curl&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Paperless-ngx installieren ==&lt;br /&gt;
Paperless Benutzer erstellen und Repository klonen:&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
sudo adduser paperless --system --home /opt/paperless --group&lt;br /&gt;
cd /opt/paperless&lt;br /&gt;
sudo -Hu paperless git clone https://github.com/paperless-ngx/paperless-ngx.git .&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
sudo -Hu paperless mkdir consume media&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
'''Debian 11:'''&lt;br /&gt;
:&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
sudo -Hu paperless pip3 install uv&lt;br /&gt;
sudo -Hu paperless uv export --no-dev --all-extras --format requirements-txt --output-file requirements.txt&lt;br /&gt;
sudo -Hu paperless pip3 install -r requirements.txt&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
'''Debian 12:'''&lt;br /&gt;
:&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
sudo -Hu paperless python3 -m venv /opt/paperless/venv&lt;br /&gt;
sudo -Hu paperless /opt/paperless/venv/bin/pip3 install uv&lt;br /&gt;
sudo -Hu paperless /opt/paperless/venv/bin/uv export --no-dev --all-extras --format requirements-txt --output-file requirements.txt&lt;br /&gt;
sudo -Hu paperless /opt/paperless/venv/bin/pip3 install -r requirements.txt&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
sudo -Hu paperless cp paperless.conf.example paperless.conf&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
sudo -Hu paperless vi paperless.conf&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
PAPERLESS_SECRET_KEY=change-me&lt;br /&gt;
&lt;br /&gt;
PAPERLESS_CONSUMPTION_DIR=/mnt/paperless-store/consume&lt;br /&gt;
PAPERLESS_DATA_DIR=/mnt/paperless-store/data&lt;br /&gt;
PAPERLESS_MEDIA_ROOT=/mnt/paperless-store/media&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;Wenn du postgresql statt sqlite verwendet möchtest:&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
PAPERLESS_DBHOST=127.0.0.1 # Use postgresql&lt;br /&gt;
PAPERLESS_DBNAME=db_paperless&lt;br /&gt;
#PAPERLESS_DBUSER=paperless&lt;br /&gt;
PAPERLESS_DBPASS=&amp;lt;password&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
sudo apt install postgresql&lt;br /&gt;
sudo -u postgres psql&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&amp;lt;syntaxhighlight lang=&amp;quot;sql&amp;quot;&amp;gt;&lt;br /&gt;
CREATE DATABASE db_paperless;&lt;br /&gt;
CREATE USER paperless WITH ENCRYPTED PASSWORD '&amp;lt;password&amp;gt;';&lt;br /&gt;
GRANT ALL ON DATABASE db_paperless TO paperless;&lt;br /&gt;
\c db_paperless&lt;br /&gt;
GRANT ALL ON SCHEMA public TO paperless;&lt;br /&gt;
\q&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;Frontend:&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
cd src-ui&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
'''Debian 11:'''&lt;br /&gt;
:&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
sudo curl -sL https://deb.nodesource.com/setup_18.x | sudo -E bash -&lt;br /&gt;
sudo apt install nodejs&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
'''Debian 12:'''&lt;br /&gt;
:&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
sudo apt install nodejs&lt;br /&gt;
sudo apt install npm&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
sudo npm install -g @angular/cli&lt;br /&gt;
sudo npm install -g pnpm&lt;br /&gt;
sudo -Hu paperless pnpm install&lt;br /&gt;
&lt;br /&gt;
sudo -Hu paperless ng build --configuration production&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
Backend:&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
cd ../src&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
'''Debian 11:'''&lt;br /&gt;
:&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
sudo -Hu paperless python3 manage.py migrate&lt;br /&gt;
sudo -Hu paperless python3 manage.py createsuperuser&lt;br /&gt;
sudo -Hu paperless python3 manage.py collectstatic&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
'''Debian 12:'''&lt;br /&gt;
:&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
sudo -Hu paperless /opt/paperless/venv/bin/python3 manage.py migrate&lt;br /&gt;
sudo -Hu paperless /opt/paperless/venv/bin/python3 manage.py createsuperuser&lt;br /&gt;
sudo -Hu paperless /opt/paperless/venv/bin/python3 manage.py collectstatic&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Systemd Services anlegen: ===&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
cd ../scripts&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== paperless-consumer ====&lt;br /&gt;
'''Debian 12:'''&lt;br /&gt;
:&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
sudo vi paperless-consumer.service&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;ExecStart ersetzen:&lt;br /&gt;
:&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
ExecStart=/opt/paperless/venv/bin/python3 manage.py document_consumer&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
sudo ln -s /opt/paperless/scripts/paperless-consumer.service /etc/systemd/system/paperless-consumer.service&lt;br /&gt;
sudo systemctl daemon-reload&lt;br /&gt;
sudo systemctl enable --now paperless-consumer.service&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
systemctl status paperless-consumer.service&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;Sollte in etwa so aussehen:&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
● paperless-consumer.service - Paperless consumer&lt;br /&gt;
     Loaded: loaded (/etc/systemd/system/paperless-consumer.service; enabled; preset: enabled)&lt;br /&gt;
     Active: active (running) since Sat 2025-03-22 22:25:06 CET; 6s ago&lt;br /&gt;
   Main PID: 6715 (python3)&lt;br /&gt;
      Tasks: 11 (limit: 9472)&lt;br /&gt;
     Memory: 97.2M&lt;br /&gt;
        CPU: 1.518s&lt;br /&gt;
     CGroup: /system.slice/paperless-consumer.service&lt;br /&gt;
             └─6715 /opt/paperless/venv/bin/python3 manage.py document_consumer&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== paperless-scheduler ====&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
sudo vi paperless-scheduler.service&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;'''Debian 11:'''&lt;br /&gt;
:ExecStart ersetzen:&lt;br /&gt;
:&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
ExecStart=/opt/paperless/.local/bin/celery --app paperless beat --loglevel INFO&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
'''Debian 12:'''&lt;br /&gt;
:ExecStart ersetzen:&lt;br /&gt;
:&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
ExecStart=/opt/paperless/venv/bin/celery --app paperless beat --loglevel INFO&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
sudo ln -s /opt/paperless/scripts/paperless-scheduler.service /etc/systemd/system/paperless-scheduler.service&lt;br /&gt;
sudo systemctl daemon-reload&lt;br /&gt;
sudo systemctl enable --now paperless-scheduler.service&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
systemctl status paperless-scheduler.service&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;Sollte in etwa so aussehen:&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
● paperless-scheduler.service - Paperless Celery Beat&lt;br /&gt;
     Loaded: loaded (/etc/systemd/system/paperless-scheduler.service; enabled; preset: enabled)&lt;br /&gt;
     Active: active (running) since Sat 2025-03-22 22:29:33 CET; 4s ago&lt;br /&gt;
   Main PID: 6981 ([celery beat] -)&lt;br /&gt;
      Tasks: 22 (limit: 9472)&lt;br /&gt;
     Memory: 115.1M&lt;br /&gt;
        CPU: 1.831s&lt;br /&gt;
     CGroup: /system.slice/paperless-scheduler.service&lt;br /&gt;
             └─6981 &amp;quot;[celery beat] --app paperless beat --loglevel INFO&amp;quot;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== paperless-task-queue ====&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
sudo vi paperless-task-queue.service&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;'''Debian 11:'''&lt;br /&gt;
:ExecStart ersetzen:&lt;br /&gt;
:&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
ExecStart=/opt/paperless/.local/bin/celery --app paperless worker --loglevel INFO&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
'''Debian 12:'''&lt;br /&gt;
:ExecStart ersetzen:&lt;br /&gt;
:&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
ExecStart=/opt/paperless/venv/bin/celery --app paperless worker --loglevel INFO&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
sudo ln -s /opt/paperless/scripts/paperless-task-queue.service /etc/systemd/system/paperless-task-queue.service&lt;br /&gt;
sudo systemctl daemon-reload&lt;br /&gt;
sudo systemctl enable --now paperless-task-queue.service&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
systemctl status paperless-task-queue.service&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;Sollte in etwa so aussehen:&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
● paperless-task-queue.service - Paperless Celery Workers&lt;br /&gt;
     Loaded: loaded (/etc/systemd/system/paperless-task-queue.service; enabled; preset: enabled)&lt;br /&gt;
     Active: active (running) since Sat 2025-03-22 22:31:23 CET; 4s ago&lt;br /&gt;
   Main PID: 7122 ([celeryd: celer)&lt;br /&gt;
      Tasks: 24 (limit: 9472)&lt;br /&gt;
     Memory: 197.6M&lt;br /&gt;
        CPU: 2.177s&lt;br /&gt;
     CGroup: /system.slice/paperless-task-queue.service&lt;br /&gt;
             ├─7122 &amp;quot;[celeryd: celery@paperless-ngx-1:MainProcess] -active- (--app paperless worker --loglevel INFO)&amp;quot;&lt;br /&gt;
             ├─7153 &amp;quot;[celeryd: celery@paperless-ngx-1:ForkPoolWorker-1]&amp;quot;&lt;br /&gt;
             └─7154 &amp;quot;[celeryd: celery@paperless-ngx-1:ForkPoolWorker-2]&amp;quot;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
==== paperless-webserver ====&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
sudo vi paperless-webserver.service&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;'''Debian 11:'''&lt;br /&gt;
:exec ersetzen:&lt;br /&gt;
:&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
exec /opt/paperless/.local/bin/granian --interface asginl --ws &amp;quot;paperless.asgi:application&amp;quot;'&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
'''Debian 12:'''&lt;br /&gt;
:exec ersetzen:&lt;br /&gt;
:&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
exec /opt/paperless/venv/bin/granian --interface asginl --ws &amp;quot;paperless.asgi:application&amp;quot;'&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
sudo ln -s /opt/paperless/scripts/paperless-webserver.service /etc/systemd/system/paperless-webserver.service&lt;br /&gt;
sudo systemctl daemon-reload&lt;br /&gt;
sudo systemctl enable --now paperless-webserver.service&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
systemctl status paperless-webserver.service&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;Sollte in etwa so aussehen:&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
● paperless-webserver.service - Paperless webserver&lt;br /&gt;
     Loaded: loaded (/etc/systemd/system/paperless-webserver.service; enabled; preset: enabled)&lt;br /&gt;
     Active: active (running) since Sat 2025-03-22 22:34:41 CET; 3s ago&lt;br /&gt;
   Main PID: 7519 (granian asginl )&lt;br /&gt;
      Tasks: 18 (limit: 9472)&lt;br /&gt;
     Memory: 133.2M&lt;br /&gt;
        CPU: 1.746s&lt;br /&gt;
     CGroup: /system.slice/paperless-webserver.service&lt;br /&gt;
             ├─7519 &amp;quot;granian asginl :::8000 paperless.asgi:application&amp;quot;&lt;br /&gt;
             └─7521 &amp;quot;granian asginl :::8000 paperless.asgi:application worker-1&amp;quot;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Zusätzliche Pakete installieren ===&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
cd ..&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;'''Debian 11:'''&lt;br /&gt;
:&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
sudo -Hu paperless python3 -m nltk.downloader stopwords&lt;br /&gt;
sudo -Hu paperless python3 -m nltk.downloader punkt_tab&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
'''Debian 12:'''&lt;br /&gt;
:&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
sudo -Hu paperless /opt/paperless/venv/bin/python3 -m nltk.downloader stopwords&lt;br /&gt;
sudo -Hu paperless /opt/paperless/venv/bin/python3 -m nltk.downloader punkt_tab&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
sudo apt install autotools-dev automake libtool libleptonica-dev&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
cd ~&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;'''Debian 11:'''&lt;br /&gt;
:&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
wget https://ftp.gnu.org/gnu/autoconf/autoconf-2.71.tar.xz&lt;br /&gt;
tar -xf autoconf-2.71.tar.xz&lt;br /&gt;
cd autoconf-2.71/&lt;br /&gt;
./configure&lt;br /&gt;
make -j$(nproc)&lt;br /&gt;
sudo make install &lt;br /&gt;
. ~/.profile&lt;br /&gt;
autoconf --version&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
git clone https://github.com/agl/jbig2enc&lt;br /&gt;
cd jbig2enc&lt;br /&gt;
./autogen.sh&lt;br /&gt;
./configure &amp;amp;&amp;amp; make -j$(nproc)&lt;br /&gt;
sudo make install&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;Für die Verarbeitung von Dokumenten in deutscher Sprache:&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
sudo apt install tesseract-ocr-deu&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
sudo -Hu paperless vi /opt/paperless/paperless.conf&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
PAPERLESS_OCR_LANGUAGE=deu+eng&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Tika / Gotenberg installieren (Docker) ====&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
sudo install -m 0755 -d /etc/apt/keyrings&lt;br /&gt;
sudo curl -fsSL https://download.docker.com/linux/debian/gpg -o /etc/apt/keyrings/docker.asc&lt;br /&gt;
sudo chmod a+r /etc/apt/keyrings/docker.asc&lt;br /&gt;
&lt;br /&gt;
echo \&lt;br /&gt;
  &amp;quot;deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.asc] https://download.docker.com/linux/debian \&lt;br /&gt;
  $(. /etc/os-release &amp;amp;&amp;amp; echo &amp;quot;$VERSION_CODENAME&amp;quot;) stable&amp;quot; | \&lt;br /&gt;
  sudo tee /etc/apt/sources.list.d/docker.list &amp;gt; /dev/null&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
sudo apt update&lt;br /&gt;
sudo apt install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
sudo docker pull apache/tika&lt;br /&gt;
sudo docker run -d --restart unless-stopped -p 127.0.0.1:9998:9998 apache/tika&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
sudo docker pull gotenberg/gotenberg:8&lt;br /&gt;
sudo docker run -d --restart unless-stopped -p 127.0.0.1:3000:3000 gotenberg/gotenberg:8&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== ImageMagic konfigurieren: ===&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
sudo vi /etc/ImageMagick-6/policy.xml&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;policy domain=&amp;quot;coder&amp;quot; rights=&amp;quot;read|write&amp;quot; pattern=&amp;quot;PDF&amp;quot; /&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;/div&gt;</summary>
		<author><name>Robin Tönniges</name></author>
	</entry>
	<entry>
		<id>https://wiki.toenniges.de/index.php?title=Paperless-ngx_%22Bare_Metal%22_installieren_(Debian_11/12)&amp;diff=1829</id>
		<title>Paperless-ngx &quot;Bare Metal&quot; installieren (Debian 11/12)</title>
		<link rel="alternate" type="text/html" href="https://wiki.toenniges.de/index.php?title=Paperless-ngx_%22Bare_Metal%22_installieren_(Debian_11/12)&amp;diff=1829"/>
		<updated>2025-03-22T21:45:41Z</updated>

		<summary type="html">&lt;p&gt;Robin Tönniges: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Infobox&lt;br /&gt;
| Titel      = Testumgebung&lt;br /&gt;
| Bildname   = &lt;br /&gt;
| Bildbreite = &lt;br /&gt;
| Bildtext   = &lt;br /&gt;
| Stil            = 2&lt;br /&gt;
| Titelfarbe      = 6&lt;br /&gt;
| Abschnittsfarbe = &lt;br /&gt;
| Farbe           = &lt;br /&gt;
| Style           = &lt;br /&gt;
| Feldstyle       = &lt;br /&gt;
| Feldname1 = OS    | Daten1 = Debian 11.11/12.10&lt;br /&gt;
| Feldname3 = paperless-ngx (Dev)    | Daten3 = 2.15.0&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
Anleitung für die &amp;quot;Bare Metal&amp;quot; Installation von [https://docs.paperless-ngx.com/ paperless-ngx] mit dem Sourcecode vom [https://github.com/paperless-ngx/paperless-ngx Dev-Branch] auf Debian 11 und 12.&lt;br /&gt;
==Abhängigkeiten installieren==&lt;br /&gt;
Das System auf den neusten Stand bringen:&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
sudo apt update&lt;br /&gt;
sudo apt upgrade&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
sudo apt install build-essential zlib1g-dev libncurses5-dev libgdbm-dev libnss3-dev libssl-dev libreadline-dev libffi-dev libpq-dev libsqlite3-dev wget libbz2-dev pkg-config libgdbm-compat-dev liblzma-dev tk-dev uuid-dev&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
===Python 3.11 installieren===&lt;br /&gt;
'''Debian 11:'''&lt;br /&gt;
:&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
wget https://www.python.org/ftp/python/3.11.11/Python-3.11.11.tgz&lt;br /&gt;
tar -xvf Python-3.11.11.tgz&lt;br /&gt;
cd Python-3.11.11&lt;br /&gt;
./configure --enable-optimizations&lt;br /&gt;
make -j$(nproc)&lt;br /&gt;
sudo make install&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
'''Debian 12:'''&lt;br /&gt;
:&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
sudo apt install python3.11 python3.11-venv python3-pip&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
===Ghostscript 10.05 installieren===&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
wget https://github.com/ArtifexSoftware/ghostpdl-downloads/releases/download/gs10050/ghostscript-10.05.0.tar.gz&lt;br /&gt;
tar -xvf ghostscript-10.05.0.tar.gz&lt;br /&gt;
cd ghostscript-10.05.0&lt;br /&gt;
./configure --without-x&lt;br /&gt;
make -j$(nproc)&lt;br /&gt;
sudo make install&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
sudo apt install imagemagick fonts-liberation gnupg libpq-dev default-libmysqlclient-dev pkg-config libmagic-dev libzbar0 poppler-utils&lt;br /&gt;
sudo apt install unpaper icc-profiles-free qpdf liblept5 libxml2 pngquant zlib1g tesseract-ocr python3-setuptools python3-wheel&lt;br /&gt;
&lt;br /&gt;
sudo apt install redis git curl&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Paperless-ngx installieren ==&lt;br /&gt;
Paperless Benutzer erstellen und Repository klonen:&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
sudo adduser paperless --system --home /opt/paperless --group&lt;br /&gt;
cd /opt/paperless&lt;br /&gt;
sudo -Hu paperless git clone https://github.com/paperless-ngx/paperless-ngx.git .&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
sudo -Hu paperless mkdir consume media&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
'''Debian 11:'''&lt;br /&gt;
:&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
sudo -Hu paperless pip3 install uv&lt;br /&gt;
sudo -Hu paperless uv export --no-dev --all-extras --format requirements-txt --output-file requirements.txt&lt;br /&gt;
sudo -Hu paperless pip3 install -r requirements.txt&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
'''Debian 12:'''&lt;br /&gt;
:&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
sudo -Hu paperless python3 -m venv /opt/paperless/venv&lt;br /&gt;
sudo -Hu paperless /opt/paperless/venv/bin/pip3 install uv&lt;br /&gt;
sudo -Hu paperless /opt/paperless/venv/bin/uv export --no-dev --all-extras --format requirements-txt --output-file requirements.txt&lt;br /&gt;
sudo -Hu paperless /opt/paperless/venv/bin/pip3 install -r requirements.txt&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
sudo -Hu paperless cp paperless.conf.example paperless.conf&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
sudo -Hu paperless vi paperless.conf&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
PAPERLESS_SECRET_KEY=change-me&lt;br /&gt;
&lt;br /&gt;
PAPERLESS_CONSUMPTION_DIR=/mnt/paperless-store/consume&lt;br /&gt;
PAPERLESS_DATA_DIR=/mnt/paperless-store/data&lt;br /&gt;
PAPERLESS_MEDIA_ROOT=/mnt/paperless-store/media&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;Wenn du postgresql statt sqlite verwendet möchtest:&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
PAPERLESS_DBHOST=127.0.0.1 # Use postgresql&lt;br /&gt;
PAPERLESS_DBNAME=db_paperless&lt;br /&gt;
#PAPERLESS_DBUSER=paperless&lt;br /&gt;
PAPERLESS_DBPASS=&amp;lt;password&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
sudo apt install postgresql&lt;br /&gt;
sudo -u postgres psql&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&amp;lt;syntaxhighlight lang=&amp;quot;sql&amp;quot;&amp;gt;&lt;br /&gt;
CREATE DATABASE db_paperless;&lt;br /&gt;
CREATE USER paperless WITH ENCRYPTED PASSWORD '&amp;lt;password&amp;gt;';&lt;br /&gt;
GRANT ALL ON DATABASE db_paperless TO paperless;&lt;br /&gt;
\c db_paperless&lt;br /&gt;
GRANT ALL ON SCHEMA public TO paperless;&lt;br /&gt;
\q&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;Frontend:&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
cd src-ui&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
'''Debian 11:'''&lt;br /&gt;
:&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
sudo curl -sL https://deb.nodesource.com/setup_18.x | sudo -E bash -&lt;br /&gt;
sudo apt install nodejs&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
'''Debian 12:'''&lt;br /&gt;
:&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
sudo apt install nodejs&lt;br /&gt;
sudo apt install npm&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
sudo npm install -g @angular/cli&lt;br /&gt;
sudo npm install -g pnpm&lt;br /&gt;
sudo -Hu paperless pnpm install&lt;br /&gt;
&lt;br /&gt;
sudo -Hu paperless ng build --configuration production&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
Backend:&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
cd ../src&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
'''Debian 11:'''&lt;br /&gt;
:&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
sudo -Hu paperless python3 manage.py migrate&lt;br /&gt;
sudo -Hu paperless python3 manage.py createsuperuser&lt;br /&gt;
sudo -Hu paperless python3 manage.py collectstatic&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
'''Debian 12:'''&lt;br /&gt;
:&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
sudo -Hu paperless /opt/paperless/venv/bin/python3 manage.py migrate&lt;br /&gt;
sudo -Hu paperless /opt/paperless/venv/bin/python3 manage.py createsuperuser&lt;br /&gt;
sudo -Hu paperless /opt/paperless/venv/bin/python3 manage.py collectstatic&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Systemd Services anlegen: ===&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
cd ../scripts&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== paperless-consumer ====&lt;br /&gt;
'''Debian 12:'''&lt;br /&gt;
:&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
sudo vi paperless-consumer.service&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;ExecStart ersetzen:&lt;br /&gt;
:&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
ExecStart=/opt/paperless/venv/bin/python3 manage.py document_consumer&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
sudo ln -s /opt/paperless/scripts/paperless-consumer.service /etc/systemd/system/paperless-consumer.service&lt;br /&gt;
sudo systemctl daemon-reload&lt;br /&gt;
sudo systemctl enable --now paperless-consumer.service&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
systemctl status paperless-consumer.service&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;Sollte in etwa so aussehen:&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
● paperless-consumer.service - Paperless consumer&lt;br /&gt;
     Loaded: loaded (/etc/systemd/system/paperless-consumer.service; enabled; preset: enabled)&lt;br /&gt;
     Active: active (running) since Sat 2025-03-22 22:25:06 CET; 6s ago&lt;br /&gt;
   Main PID: 6715 (python3)&lt;br /&gt;
      Tasks: 11 (limit: 9472)&lt;br /&gt;
     Memory: 97.2M&lt;br /&gt;
        CPU: 1.518s&lt;br /&gt;
     CGroup: /system.slice/paperless-consumer.service&lt;br /&gt;
             └─6715 /opt/paperless/venv/bin/python3 manage.py document_consumer&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== paperless-scheduler ====&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
sudo vi paperless-scheduler.service&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;'''Debian 11:'''&lt;br /&gt;
:ExecStart ersetzen:&lt;br /&gt;
:&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
ExecStart=/opt/paperless/.local/bin/celery --app paperless beat --loglevel INFO&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
'''Debian 12:'''&lt;br /&gt;
:ExecStart ersetzen:&lt;br /&gt;
:&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
ExecStart=/opt/paperless/venv/bin/celery --app paperless beat --loglevel INFO&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
sudo ln -s /opt/paperless/scripts/paperless-scheduler.service /etc/systemd/system/paperless-scheduler.service&lt;br /&gt;
sudo systemctl daemon-reload&lt;br /&gt;
sudo systemctl enable --now paperless-scheduler.service&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
systemctl status paperless-scheduler.service&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;Sollte in etwa so aussehen:&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
● paperless-scheduler.service - Paperless Celery Beat&lt;br /&gt;
     Loaded: loaded (/etc/systemd/system/paperless-scheduler.service; enabled; preset: enabled)&lt;br /&gt;
     Active: active (running) since Sat 2025-03-22 22:29:33 CET; 4s ago&lt;br /&gt;
   Main PID: 6981 ([celery beat] -)&lt;br /&gt;
      Tasks: 22 (limit: 9472)&lt;br /&gt;
     Memory: 115.1M&lt;br /&gt;
        CPU: 1.831s&lt;br /&gt;
     CGroup: /system.slice/paperless-scheduler.service&lt;br /&gt;
             └─6981 &amp;quot;[celery beat] --app paperless beat --loglevel INFO&amp;quot;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== paperless-task-queue ====&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
sudo vi paperless-task-queue.service&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;'''Debian 11:'''&lt;br /&gt;
:ExecStart ersetzen:&lt;br /&gt;
:&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
ExecStart=/opt/paperless/.local/bin/celery --app paperless worker --loglevel INFO&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
'''Debian 12:'''&lt;br /&gt;
:ExecStart ersetzen:&lt;br /&gt;
:&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
ExecStart=/opt/paperless/venv/bin/celery --app paperless worker --loglevel INFO&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
sudo ln -s /opt/paperless/scripts/paperless-task-queue.service /etc/systemd/system/paperless-task-queue.service&lt;br /&gt;
sudo systemctl daemon-reload&lt;br /&gt;
sudo systemctl enable --now paperless-task-queue.service&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
systemctl status paperless-task-queue.service&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;Sollte in etwa so aussehen:&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
● paperless-task-queue.service - Paperless Celery Workers&lt;br /&gt;
     Loaded: loaded (/etc/systemd/system/paperless-task-queue.service; enabled; preset: enabled)&lt;br /&gt;
     Active: active (running) since Sat 2025-03-22 22:31:23 CET; 4s ago&lt;br /&gt;
   Main PID: 7122 ([celeryd: celer)&lt;br /&gt;
      Tasks: 24 (limit: 9472)&lt;br /&gt;
     Memory: 197.6M&lt;br /&gt;
        CPU: 2.177s&lt;br /&gt;
     CGroup: /system.slice/paperless-task-queue.service&lt;br /&gt;
             ├─7122 &amp;quot;[celeryd: celery@paperless-ngx-1:MainProcess] -active- (--app paperless worker --loglevel INFO)&amp;quot;&lt;br /&gt;
             ├─7153 &amp;quot;[celeryd: celery@paperless-ngx-1:ForkPoolWorker-1]&amp;quot;&lt;br /&gt;
             └─7154 &amp;quot;[celeryd: celery@paperless-ngx-1:ForkPoolWorker-2]&amp;quot;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
==== paperless-webserver ====&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
sudo vi paperless-webserver.service&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;'''Debian 11:'''&lt;br /&gt;
:exec ersetzen:&lt;br /&gt;
:&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
exec /opt/paperless/.local/bin/granian --interface asginl --ws &amp;quot;paperless.asgi:application&amp;quot;'&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
'''Debian 12:'''&lt;br /&gt;
:exec ersetzen:&lt;br /&gt;
:&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
exec /opt/paperless/venv/bin/granian --interface asginl --ws &amp;quot;paperless.asgi:application&amp;quot;'&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
sudo ln -s /opt/paperless/scripts/paperless-webserver.service /etc/systemd/system/paperless-webserver.service&lt;br /&gt;
sudo systemctl daemon-reload&lt;br /&gt;
sudo systemctl enable --now paperless-webserver.service&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
systemctl status paperless-webserver.service&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;Sollte in etwa so aussehen:&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
● paperless-webserver.service - Paperless webserver&lt;br /&gt;
     Loaded: loaded (/etc/systemd/system/paperless-webserver.service; enabled; preset: enabled)&lt;br /&gt;
     Active: active (running) since Sat 2025-03-22 22:34:41 CET; 3s ago&lt;br /&gt;
   Main PID: 7519 (granian asginl )&lt;br /&gt;
      Tasks: 18 (limit: 9472)&lt;br /&gt;
     Memory: 133.2M&lt;br /&gt;
        CPU: 1.746s&lt;br /&gt;
     CGroup: /system.slice/paperless-webserver.service&lt;br /&gt;
             ├─7519 &amp;quot;granian asginl :::8000 paperless.asgi:application&amp;quot;&lt;br /&gt;
             └─7521 &amp;quot;granian asginl :::8000 paperless.asgi:application worker-1&amp;quot;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Zusätzliche Pakete installieren ===&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
cd ..&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;'''Debian 11:'''&lt;br /&gt;
:&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
sudo -Hu paperless python3 -m nltk.downloader stopwords&lt;br /&gt;
sudo -Hu paperless python3 -m nltk.downloader punkt_tab&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
'''Debian 12:'''&lt;br /&gt;
:&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
sudo -Hu paperless /opt/paperless/venv/bin/python3 -m nltk.downloader stopwords&lt;br /&gt;
sudo -Hu paperless /opt/paperless/venv/bin/python3 -m nltk.downloader punkt_tab&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
sudo apt install autotools-dev automake libtool libleptonica-dev&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
cd ~&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;'''Debian 11:'''&lt;br /&gt;
:&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
wget https://ftp.gnu.org/gnu/autoconf/autoconf-2.71.tar.xz&lt;br /&gt;
tar -xf autoconf-2.71.tar.xz&lt;br /&gt;
cd autoconf-2.71/&lt;br /&gt;
./configure&lt;br /&gt;
make -j$(nproc)&lt;br /&gt;
sudo make install &lt;br /&gt;
. ~/.profile&lt;br /&gt;
autoconf --version&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
git clone https://github.com/agl/jbig2enc&lt;br /&gt;
cd jbig2enc&lt;br /&gt;
./autogen.sh&lt;br /&gt;
./configure &amp;amp;&amp;amp; make -j$(nproc)&lt;br /&gt;
sudo make install&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;Für die Verarbeitung von Dokumenten in deutscher Sprache:&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
sudo apt install tesseract-ocr-deu&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
sudo -Hu paperless vi /opt/paperless/paperless.conf&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
PAPERLESS_OCR_LANGUAGE=deu+eng&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== ImageMagic konfigurieren: ===&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
sudo vi /etc/ImageMagick-6/policy.xml&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;policy domain=&amp;quot;coder&amp;quot; rights=&amp;quot;read|write&amp;quot; pattern=&amp;quot;PDF&amp;quot; /&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;/div&gt;</summary>
		<author><name>Robin Tönniges</name></author>
	</entry>
	<entry>
		<id>https://wiki.toenniges.de/index.php?title=Paperless-ngx_%22Bare_Metal%22_installieren_(Debian_11/12)&amp;diff=1828</id>
		<title>Paperless-ngx &quot;Bare Metal&quot; installieren (Debian 11/12)</title>
		<link rel="alternate" type="text/html" href="https://wiki.toenniges.de/index.php?title=Paperless-ngx_%22Bare_Metal%22_installieren_(Debian_11/12)&amp;diff=1828"/>
		<updated>2025-03-22T21:45:01Z</updated>

		<summary type="html">&lt;p&gt;Robin Tönniges: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Infobox&lt;br /&gt;
| Titel      = Testumgebung&lt;br /&gt;
| Bildname   = &lt;br /&gt;
| Bildbreite = &lt;br /&gt;
| Bildtext   = &lt;br /&gt;
| Stil            = 2&lt;br /&gt;
| Titelfarbe      = 6&lt;br /&gt;
| Abschnittsfarbe = &lt;br /&gt;
| Farbe           = &lt;br /&gt;
| Style           = &lt;br /&gt;
| Feldstyle       = &lt;br /&gt;
| Feldname1 = OS    | Daten1 = Debian 11.11/12.10&lt;br /&gt;
| Feldname3 = paperless-ngx (Dev)    | Daten3 = 2.15.0&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
Anleitung für die &amp;quot;Bare Metal&amp;quot; Installation von [https://docs.paperless-ngx.com/ paperless-ngx] mit dem Sourcecode vom [https://github.com/paperless-ngx/paperless-ngx Dev-Branch] auf Debian 11 und 12.&lt;br /&gt;
==Abhängigkeiten installieren==&lt;br /&gt;
Das System auf den neusten Stand bringen:&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
sudo apt update&lt;br /&gt;
sudo apt upgrade&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
sudo apt install build-essential zlib1g-dev libncurses5-dev libgdbm-dev libnss3-dev libssl-dev libreadline-dev libffi-dev libpq-dev libsqlite3-dev wget libbz2-dev pkg-config libgdbm-compat-dev liblzma-dev tk-dev uuid-dev&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
===Python 3.11 installieren===&lt;br /&gt;
'''Debian 11:'''&lt;br /&gt;
:&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
wget https://www.python.org/ftp/python/3.11.11/Python-3.11.11.tgz&lt;br /&gt;
tar -xvf Python-3.11.11.tgz&lt;br /&gt;
cd Python-3.11.11&lt;br /&gt;
./configure --enable-optimizations&lt;br /&gt;
make -j$(nproc)&lt;br /&gt;
sudo make install&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
'''Debian 12:'''&lt;br /&gt;
:&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
sudo apt install python3.11 python3.11-venv python3-pip&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
===Ghostscript 10.05 installieren===&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
wget https://github.com/ArtifexSoftware/ghostpdl-downloads/releases/download/gs10050/ghostscript-10.05.0.tar.gz&lt;br /&gt;
tar -xvf ghostscript-10.05.0.tar.gz&lt;br /&gt;
cd ghostscript-10.05.0&lt;br /&gt;
./configure --without-x&lt;br /&gt;
make -j$(nproc)&lt;br /&gt;
sudo make install&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
sudo apt install imagemagick fonts-liberation gnupg libpq-dev default-libmysqlclient-dev pkg-config libmagic-dev libzbar0 poppler-utils&lt;br /&gt;
sudo apt install unpaper icc-profiles-free qpdf liblept5 libxml2 pngquant zlib1g tesseract-ocr python3-setuptools python3-wheel&lt;br /&gt;
&lt;br /&gt;
sudo apt install redis git curl&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Paperless-ngx installieren ==&lt;br /&gt;
Paperless Benutzer erstellen und Repository klonen:&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
sudo adduser paperless --system --home /opt/paperless --group&lt;br /&gt;
cd /opt/paperless&lt;br /&gt;
sudo -Hu paperless git clone https://github.com/paperless-ngx/paperless-ngx.git .&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
sudo -Hu paperless mkdir consume media&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
'''Debian 11:'''&lt;br /&gt;
:&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
sudo -Hu paperless pip3 install uv&lt;br /&gt;
sudo -Hu paperless uv export --no-dev --all-extras --format requirements-txt --output-file requirements.txt&lt;br /&gt;
sudo -Hu paperless pip3 install -r requirements.txt&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
'''Debian 12:'''&lt;br /&gt;
:&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
sudo -Hu paperless python3 -m venv /opt/paperless/venv&lt;br /&gt;
sudo -Hu paperless /opt/paperless/venv/bin/pip3 install uv&lt;br /&gt;
sudo -Hu paperless /opt/paperless/venv/bin/uv export --no-dev --all-extras --format requirements-txt --output-file requirements.txt&lt;br /&gt;
sudo -Hu paperless /opt/paperless/venv/bin/pip3 install -r requirements.txt&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
sudo -Hu paperless cp paperless.conf.example paperless.conf&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
sudo -Hu paperless vi paperless.conf&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
PAPERLESS_SECRET_KEY=change-me&lt;br /&gt;
&lt;br /&gt;
PAPERLESS_CONSUMPTION_DIR=/mnt/paperless-store/consume&lt;br /&gt;
PAPERLESS_DATA_DIR=/mnt/paperless-store/data&lt;br /&gt;
PAPERLESS_MEDIA_ROOT=/mnt/paperless-store/media&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;Wenn du postgresql statt sqlite verwendet möchtest:&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
PAPERLESS_DBHOST=127.0.0.1 # Use postgresql&lt;br /&gt;
PAPERLESS_DBNAME=db_paperless&lt;br /&gt;
#PAPERLESS_DBUSER=paperless&lt;br /&gt;
PAPERLESS_DBPASS=&amp;lt;password&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
sudo apt install postgresql&lt;br /&gt;
sudo -u postgres psql&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&amp;lt;syntaxhighlight lang=&amp;quot;sql&amp;quot;&amp;gt;&lt;br /&gt;
CREATE DATABASE db_paperless;&lt;br /&gt;
CREATE USER paperless WITH ENCRYPTED PASSWORD '&amp;lt;password&amp;gt;';&lt;br /&gt;
GRANT ALL ON DATABASE db_paperless TO paperless;&lt;br /&gt;
\c db_paperless&lt;br /&gt;
GRANT ALL ON SCHEMA public TO paperless;&lt;br /&gt;
\q&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;Frontend:&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
cd src-ui&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
'''Debian 11:'''&lt;br /&gt;
:&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
sudo curl -sL https://deb.nodesource.com/setup_18.x | sudo -E bash -&lt;br /&gt;
sudo apt install nodejs&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
'''Debian 12:'''&lt;br /&gt;
:&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
sudo apt install nodejs&lt;br /&gt;
sudo apt install npm&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
sudo npm install -g @angular/cli&lt;br /&gt;
sudo npm install -g pnpm&lt;br /&gt;
sudo -Hu paperless pnpm install&lt;br /&gt;
&lt;br /&gt;
sudo -Hu paperless ng build --configuration production&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
Backend:&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
cd ../src&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
'''Debian 11:'''&lt;br /&gt;
:&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
sudo -Hu paperless python3 manage.py migrate&lt;br /&gt;
sudo -Hu paperless python3 manage.py createsuperuser&lt;br /&gt;
sudo -Hu paperless python3 manage.py collectstatic&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
'''Debian 12:'''&lt;br /&gt;
:&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
sudo -Hu paperless /opt/paperless/venv/bin/python3 manage.py migrate&lt;br /&gt;
sudo -Hu paperless /opt/paperless/venv/bin/python3 manage.py createsuperuser&lt;br /&gt;
sudo -Hu paperless /opt/paperless/venv/bin/python3 manage.py collectstatic&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Systemd Services anlegen: ===&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
cd ../scripts&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== paperless-consumer ====&lt;br /&gt;
'''Debian 12:'''&lt;br /&gt;
:&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
sudo vi paperless-consumer.service&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;ExecStart ersetzen:&lt;br /&gt;
:&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
ExecStart=/opt/paperless/venv/bin/python3 manage.py document_consumer&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
sudo ln -s /opt/paperless/scripts/paperless-consumer.service /etc/systemd/system/paperless-consumer.service&lt;br /&gt;
sudo systemctl daemon-reload&lt;br /&gt;
sudo systemctl enable --now paperless-consumer.service&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
systemctl status paperless-consumer.service&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;Sollte in etwa so aussehen:&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
● paperless-consumer.service - Paperless consumer&lt;br /&gt;
     Loaded: loaded (/etc/systemd/system/paperless-consumer.service; enabled; preset: enabled)&lt;br /&gt;
     Active: active (running) since Sat 2025-03-22 22:25:06 CET; 6s ago&lt;br /&gt;
   Main PID: 6715 (python3)&lt;br /&gt;
      Tasks: 11 (limit: 9472)&lt;br /&gt;
     Memory: 97.2M&lt;br /&gt;
        CPU: 1.518s&lt;br /&gt;
     CGroup: /system.slice/paperless-consumer.service&lt;br /&gt;
             └─6715 /opt/paperless/venv/bin/python3 manage.py document_consumer&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== paperless-scheduler ====&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
sudo vi paperless-scheduler.service&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;'''Debian 11:'''&lt;br /&gt;
:ExecStart ersetzen:&lt;br /&gt;
:&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
ExecStart=/opt/paperless/.local/bin/celery --app paperless beat --loglevel INFO&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
'''Debian 12:'''&lt;br /&gt;
:ExecStart ersetzen:&lt;br /&gt;
:&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
ExecStart=/opt/paperless/venv/bin/celery --app paperless beat --loglevel INFO&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
sudo ln -s /opt/paperless/scripts/paperless-scheduler.service /etc/systemd/system/paperless-scheduler.service&lt;br /&gt;
sudo systemctl daemon-reload&lt;br /&gt;
sudo systemctl enable --now paperless-scheduler.service&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
systemctl status paperless-scheduler.service&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;Sollte in etwa so aussehen:&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
● paperless-scheduler.service - Paperless Celery Beat&lt;br /&gt;
     Loaded: loaded (/etc/systemd/system/paperless-scheduler.service; enabled; preset: enabled)&lt;br /&gt;
     Active: active (running) since Sat 2025-03-22 22:29:33 CET; 4s ago&lt;br /&gt;
   Main PID: 6981 ([celery beat] -)&lt;br /&gt;
      Tasks: 22 (limit: 9472)&lt;br /&gt;
     Memory: 115.1M&lt;br /&gt;
        CPU: 1.831s&lt;br /&gt;
     CGroup: /system.slice/paperless-scheduler.service&lt;br /&gt;
             └─6981 &amp;quot;[celery beat] --app paperless beat --loglevel INFO&amp;quot;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== paperless-task-queue ====&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
sudo vi paperless-task-queue.service&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;'''Debian 11:'''&lt;br /&gt;
:ExecStart ersetzen:&lt;br /&gt;
:&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
ExecStart=/opt/paperless/.local/bin/celery --app paperless worker --loglevel INFO&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
'''Debian 12:'''&lt;br /&gt;
:ExecStart ersetzen:&lt;br /&gt;
:&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
ExecStart=/opt/paperless/venv/bin/celery --app paperless worker --loglevel INFO&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
sudo ln -s /opt/paperless/scripts/paperless-task-queue.service /etc/systemd/system/paperless-task-queue.service&lt;br /&gt;
sudo systemctl daemon-reload&lt;br /&gt;
sudo systemctl enable --now paperless-task-queue.service&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
systemctl status paperless-task-queue.service&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;Sollte in etwa so aussehen:&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
● paperless-task-queue.service - Paperless Celery Workers&lt;br /&gt;
     Loaded: loaded (/etc/systemd/system/paperless-task-queue.service; enabled; preset: enabled)&lt;br /&gt;
     Active: active (running) since Sat 2025-03-22 22:31:23 CET; 4s ago&lt;br /&gt;
   Main PID: 7122 ([celeryd: celer)&lt;br /&gt;
      Tasks: 24 (limit: 9472)&lt;br /&gt;
     Memory: 197.6M&lt;br /&gt;
        CPU: 2.177s&lt;br /&gt;
     CGroup: /system.slice/paperless-task-queue.service&lt;br /&gt;
             ├─7122 &amp;quot;[celeryd: celery@paperless-ngx-1:MainProcess] -active- (--app paperless worker --loglevel INFO)&amp;quot;&lt;br /&gt;
             ├─7153 &amp;quot;[celeryd: celery@paperless-ngx-1:ForkPoolWorker-1]&amp;quot;&lt;br /&gt;
             └─7154 &amp;quot;[celeryd: celery@paperless-ngx-1:ForkPoolWorker-2]&amp;quot;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
==== paperless-webserver ====&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
sudo vi paperless-webserver.service&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;'''Debian 11:'''&lt;br /&gt;
:exec ersetzen:&lt;br /&gt;
:&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
exec /opt/paperless/.local/bin/granian --interface asginl --ws &amp;quot;paperless.asgi:application&amp;quot;'&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
'''Debian 12:'''&lt;br /&gt;
:exec ersetzen:&lt;br /&gt;
:&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
exec /opt/paperless/venv/bin/granian --interface asginl --ws &amp;quot;paperless.asgi:application&amp;quot;'&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
sudo ln -s /opt/paperless/scripts/paperless-webserver.service /etc/systemd/system/paperless-webserver.service&lt;br /&gt;
sudo systemctl daemon-reload&lt;br /&gt;
sudo systemctl enable --now paperless-webserver.service&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
systemctl status paperless-webserver.service&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;Sollte in etwa so aussehen:&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
● paperless-webserver.service - Paperless webserver&lt;br /&gt;
     Loaded: loaded (/etc/systemd/system/paperless-webserver.service; enabled; preset: enabled)&lt;br /&gt;
     Active: active (running) since Sat 2025-03-22 22:34:41 CET; 3s ago&lt;br /&gt;
   Main PID: 7519 (granian asginl )&lt;br /&gt;
      Tasks: 18 (limit: 9472)&lt;br /&gt;
     Memory: 133.2M&lt;br /&gt;
        CPU: 1.746s&lt;br /&gt;
     CGroup: /system.slice/paperless-webserver.service&lt;br /&gt;
             ├─7519 &amp;quot;granian asginl :::8000 paperless.asgi:application&amp;quot;&lt;br /&gt;
             └─7521 &amp;quot;granian asginl :::8000 paperless.asgi:application worker-1&amp;quot;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Zusätzliche Pakete installieren ===&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
cd ..&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;'''Debian 11:'''&lt;br /&gt;
:&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
sudo -Hu paperless python3 -m nltk.downloader stopwords&lt;br /&gt;
sudo -Hu paperless python3 -m nltk.downloader punkt_tab&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
'''Debian 12:'''&lt;br /&gt;
:&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
sudo -Hu paperless /opt/paperless/venv/bin/python3 -m nltk.downloader stopwords&lt;br /&gt;
sudo -Hu paperless /opt/paperless/venv/bin/python3 -m nltk.downloader punkt_tab&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
sudo apt install autotools-dev automake libtool libleptonica-dev&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
cd ~&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;'''Debian 11:'''&lt;br /&gt;
:&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
wget https://ftp.gnu.org/gnu/autoconf/autoconf-2.71.tar.xz&lt;br /&gt;
tar -xf autoconf-2.71.tar.xz&lt;br /&gt;
cd autoconf-2.71/&lt;br /&gt;
./configure&lt;br /&gt;
make -j$(nproc)&lt;br /&gt;
sudo make install &lt;br /&gt;
. ~/.profile&lt;br /&gt;
autoconf --version&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
git clone https://github.com/agl/jbig2enc&lt;br /&gt;
cd jbig2enc&lt;br /&gt;
./autogen.sh&lt;br /&gt;
./configure &amp;amp;&amp;amp; make -j$(nproc)&lt;br /&gt;
sudo make install&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;Für die Verarbeitung Dokumente in deutscher Sprache:&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
sudo apt install tesseract-ocr-deu&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
sudo -Hu paperless vi /opt/paperless/paperless.conf&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
PAPERLESS_OCR_LANGUAGE=deu+eng&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== ImageMagic konfigurieren: ===&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
sudo vi /etc/ImageMagick-6/policy.xml&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;policy domain=&amp;quot;coder&amp;quot; rights=&amp;quot;read|write&amp;quot; pattern=&amp;quot;PDF&amp;quot; /&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;/div&gt;</summary>
		<author><name>Robin Tönniges</name></author>
	</entry>
	<entry>
		<id>https://wiki.toenniges.de/index.php?title=Paperless-ngx_%22Bare_Metal%22_installieren_(Debian_11/12)&amp;diff=1827</id>
		<title>Paperless-ngx &quot;Bare Metal&quot; installieren (Debian 11/12)</title>
		<link rel="alternate" type="text/html" href="https://wiki.toenniges.de/index.php?title=Paperless-ngx_%22Bare_Metal%22_installieren_(Debian_11/12)&amp;diff=1827"/>
		<updated>2025-03-22T21:32:17Z</updated>

		<summary type="html">&lt;p&gt;Robin Tönniges: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Infobox&lt;br /&gt;
| Titel      = Testumgebung&lt;br /&gt;
| Bildname   = &lt;br /&gt;
| Bildbreite = &lt;br /&gt;
| Bildtext   = &lt;br /&gt;
| Stil            = 2&lt;br /&gt;
| Titelfarbe      = 6&lt;br /&gt;
| Abschnittsfarbe = &lt;br /&gt;
| Farbe           = &lt;br /&gt;
| Style           = &lt;br /&gt;
| Feldstyle       = &lt;br /&gt;
| Feldname1 = OS    | Daten1 = Debian 11.11/12.10&lt;br /&gt;
| Feldname3 = paperless-ngx (Dev)    | Daten3 = 2.15.0&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
Anleitung für die &amp;quot;Bare Metal&amp;quot; Installation von [https://docs.paperless-ngx.com/ paperless-ngx] mit dem Sourcecode vom [https://github.com/paperless-ngx/paperless-ngx Dev-Branch] auf Debian 11 und 12.&lt;br /&gt;
==Abhängigkeiten installieren==&lt;br /&gt;
Das System auf den neusten Stand bringen:&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
sudo apt update&lt;br /&gt;
sudo apt upgrade&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
sudo apt install build-essential zlib1g-dev libncurses5-dev libgdbm-dev libnss3-dev libssl-dev libreadline-dev libffi-dev libpq-dev libsqlite3-dev wget libbz2-dev pkg-config libgdbm-compat-dev liblzma-dev tk-dev uuid-dev&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
===Python 3.11 installieren===&lt;br /&gt;
'''Debian 11:'''&lt;br /&gt;
:&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
wget https://www.python.org/ftp/python/3.11.11/Python-3.11.11.tgz&lt;br /&gt;
tar -xvf Python-3.11.11.tgz&lt;br /&gt;
cd Python-3.11.11&lt;br /&gt;
./configure --enable-optimizations&lt;br /&gt;
make -j$(nproc)&lt;br /&gt;
sudo make install&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
'''Debian 12:'''&lt;br /&gt;
:&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
sudo apt install python3.11 python3.11-venv python3-pip&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
===Ghostscript 10.05 installieren===&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
wget https://github.com/ArtifexSoftware/ghostpdl-downloads/releases/download/gs10050/ghostscript-10.05.0.tar.gz&lt;br /&gt;
tar -xvf ghostscript-10.05.0.tar.gz&lt;br /&gt;
cd ghostscript-10.05.0&lt;br /&gt;
./configure --without-x&lt;br /&gt;
make -j$(nproc)&lt;br /&gt;
sudo make install&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
sudo apt install imagemagick fonts-liberation gnupg libpq-dev default-libmysqlclient-dev pkg-config libmagic-dev libzbar0 poppler-utils&lt;br /&gt;
sudo apt install unpaper icc-profiles-free qpdf liblept5 libxml2 pngquant zlib1g tesseract-ocr python3-setuptools python3-wheel&lt;br /&gt;
&lt;br /&gt;
sudo apt install redis git curl&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;Paperless Benutzer erstellen und Repository klonen:&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
sudo adduser paperless --system --home /opt/paperless --group&lt;br /&gt;
cd /opt/paperless&lt;br /&gt;
sudo -Hu paperless git clone https://github.com/paperless-ngx/paperless-ngx.git .&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
sudo -Hu paperless mkdir consume media&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
'''Debian 11:'''&lt;br /&gt;
:&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
sudo -Hu paperless pip3 install uv&lt;br /&gt;
sudo -Hu paperless uv export --no-dev --all-extras --format requirements-txt --output-file requirements.txt&lt;br /&gt;
sudo -Hu paperless pip3 install -r requirements.txt&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
'''Debian 12:'''&lt;br /&gt;
:&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
sudo -Hu paperless python3 -m venv /opt/paperless/venv&lt;br /&gt;
sudo -Hu paperless /opt/paperless/venv/bin/pip3 install uv&lt;br /&gt;
sudo -Hu paperless /opt/paperless/venv/bin/uv export --no-dev --all-extras --format requirements-txt --output-file requirements.txt&lt;br /&gt;
sudo -Hu paperless /opt/paperless/venv/bin/pip3 install -r requirements.txt&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
sudo -Hu paperless cp paperless.conf.example paperless.conf&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
sudo -Hu paperless vi paperless.conf&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
PAPERLESS_SECRET_KEY=change-me&lt;br /&gt;
&lt;br /&gt;
PAPERLESS_CONSUMPTION_DIR=/mnt/paperless-store/consume&lt;br /&gt;
PAPERLESS_DATA_DIR=/mnt/paperless-store/data&lt;br /&gt;
PAPERLESS_MEDIA_ROOT=/mnt/paperless-store/media&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;Wenn du postgresql statt sqlite verwendet möchtest:&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
PAPERLESS_DBHOST=127.0.0.1 # Use postgresql&lt;br /&gt;
PAPERLESS_DBNAME=db_paperless&lt;br /&gt;
#PAPERLESS_DBUSER=paperless&lt;br /&gt;
PAPERLESS_DBPASS=&amp;lt;password&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
sudo apt install postgresql&lt;br /&gt;
sudo -u postgres psql&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&amp;lt;syntaxhighlight lang=&amp;quot;sql&amp;quot;&amp;gt;&lt;br /&gt;
CREATE DATABASE db_paperless;&lt;br /&gt;
CREATE USER paperless WITH ENCRYPTED PASSWORD '&amp;lt;password&amp;gt;';&lt;br /&gt;
GRANT ALL ON DATABASE db_paperless TO paperless;&lt;br /&gt;
\c db_paperless&lt;br /&gt;
GRANT ALL ON SCHEMA public TO paperless;&lt;br /&gt;
\q&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;Frontend:&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
cd src-ui&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
'''Debian 11:'''&lt;br /&gt;
:&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
sudo curl -sL https://deb.nodesource.com/setup_18.x | sudo -E bash -&lt;br /&gt;
sudo apt install nodejs&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
'''Debian 12:'''&lt;br /&gt;
:&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
sudo apt install nodejs&lt;br /&gt;
sudo apt install npm&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
sudo npm install -g @angular/cli&lt;br /&gt;
sudo npm install -g pnpm&lt;br /&gt;
sudo -Hu paperless pnpm install&lt;br /&gt;
&lt;br /&gt;
sudo -Hu paperless ng build --configuration production&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
Backend:&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
cd ../src&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
'''Debian 11:'''&lt;br /&gt;
:&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
sudo -Hu paperless python3 manage.py migrate&lt;br /&gt;
sudo -Hu paperless python3 manage.py createsuperuser&lt;br /&gt;
sudo -Hu paperless python3 manage.py collectstatic&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
'''Debian 12:'''&lt;br /&gt;
:&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
sudo -Hu paperless /opt/paperless/venv/bin/python3 manage.py migrate&lt;br /&gt;
sudo -Hu paperless /opt/paperless/venv/bin/python3 manage.py createsuperuser&lt;br /&gt;
sudo -Hu paperless /opt/paperless/venv/bin/python3 manage.py collectstatic&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Systemd Services anlegen: ===&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
cd ../scripts&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== paperless-consumer ====&lt;br /&gt;
'''Debian 12:'''&lt;br /&gt;
:&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
sudo vi paperless-consumer.service&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;ExcecStart ersetzen:&lt;br /&gt;
:&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
ExecStart=/opt/paperless/venv/bin/python3 manage.py document_consumer&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
sudo ln -s /opt/paperless/scripts/paperless-consumer.service /etc/systemd/system/paperless-consumer.service&lt;br /&gt;
sudo systemctl daemon-reload&lt;br /&gt;
sudo systemctl enable --now paperless-consumer.service&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
systemctl status paperless-consumer.service&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;Sollte in etwa so aussehen:&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
● paperless-consumer.service - Paperless consumer&lt;br /&gt;
     Loaded: loaded (/etc/systemd/system/paperless-consumer.service; enabled; preset: enabled)&lt;br /&gt;
     Active: active (running) since Sat 2025-03-22 22:25:06 CET; 6s ago&lt;br /&gt;
   Main PID: 6715 (python3)&lt;br /&gt;
      Tasks: 11 (limit: 9472)&lt;br /&gt;
     Memory: 97.2M&lt;br /&gt;
        CPU: 1.518s&lt;br /&gt;
     CGroup: /system.slice/paperless-consumer.service&lt;br /&gt;
             └─6715 /opt/paperless/venv/bin/python3 manage.py document_consumer&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== paperless-scheduler ====&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
sudo vi paperless-scheduler.service&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;'''Debian 11:'''&lt;br /&gt;
:ExcecStart ersetzen:&lt;br /&gt;
:&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
ExecStart=/opt/paperless/.local/bin/celery --app paperless beat --loglevel INFO&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
'''Debian 12:'''&lt;br /&gt;
:ExcecStart ersetzen:&lt;br /&gt;
:&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
ExecStart=/opt/paperless/venv/bin/celery --app paperless beat --loglevel INFO&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
sudo ln -s /opt/paperless/scripts/paperless-scheduler.service /etc/systemd/system/paperless-scheduler.service&lt;br /&gt;
sudo systemctl daemon-reload&lt;br /&gt;
sudo systemctl enable --now paperless-scheduler.service&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
systemctl status paperless-scheduler.service&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;Sollte in etwa so aussehen:&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
● paperless-scheduler.service - Paperless Celery Beat&lt;br /&gt;
     Loaded: loaded (/etc/systemd/system/paperless-scheduler.service; enabled; preset: enabled)&lt;br /&gt;
     Active: active (running) since Sat 2025-03-22 22:29:33 CET; 4s ago&lt;br /&gt;
   Main PID: 6981 ([celery beat] -)&lt;br /&gt;
      Tasks: 22 (limit: 9472)&lt;br /&gt;
     Memory: 115.1M&lt;br /&gt;
        CPU: 1.831s&lt;br /&gt;
     CGroup: /system.slice/paperless-scheduler.service&lt;br /&gt;
             └─6981 &amp;quot;[celery beat] --app paperless beat --loglevel INFO&amp;quot;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== paperless-task-queue ====&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
sudo vi paperless-task-queue.service&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;'''Debian 11:'''&lt;br /&gt;
:ExcecStart ersetzen:&lt;br /&gt;
:&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
ExecStart=/opt/paperless/.local/bin/celery --app paperless worker --loglevel INFO&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
'''Debian 12:'''&lt;br /&gt;
:ExcecStart ersetzen:&lt;br /&gt;
:&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
ExecStart=/opt/paperless/venv/bin/celery --app paperless worker --loglevel INFO&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
sudo ln -s /opt/paperless/scripts/paperless-task-queue.service /etc/systemd/system/paperless-task-queue.service&lt;br /&gt;
sudo systemctl daemon-reload&lt;br /&gt;
sudo systemctl enable --now paperless-task-queue.service&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
systemctl status paperless-task-queue.service&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;Sollte in etwa so aussehen:&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
● paperless-task-queue.service - Paperless Celery Workers&lt;br /&gt;
     Loaded: loaded (/etc/systemd/system/paperless-task-queue.service; enabled; preset: enabled)&lt;br /&gt;
     Active: active (running) since Sat 2025-03-22 22:31:23 CET; 4s ago&lt;br /&gt;
   Main PID: 7122 ([celeryd: celer)&lt;br /&gt;
      Tasks: 24 (limit: 9472)&lt;br /&gt;
     Memory: 197.6M&lt;br /&gt;
        CPU: 2.177s&lt;br /&gt;
     CGroup: /system.slice/paperless-task-queue.service&lt;br /&gt;
             ├─7122 &amp;quot;[celeryd: celery@paperless-ngx-1:MainProcess] -active- (--app paperless worker --loglevel INFO)&amp;quot;&lt;br /&gt;
             ├─7153 &amp;quot;[celeryd: celery@paperless-ngx-1:ForkPoolWorker-1]&amp;quot;&lt;br /&gt;
             └─7154 &amp;quot;[celeryd: celery@paperless-ngx-1:ForkPoolWorker-2]&amp;quot;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;/div&gt;</summary>
		<author><name>Robin Tönniges</name></author>
	</entry>
	<entry>
		<id>https://wiki.toenniges.de/index.php?title=Paperless-ngx_%22Bare_Metal%22_installieren_(Debian_11/12)&amp;diff=1826</id>
		<title>Paperless-ngx &quot;Bare Metal&quot; installieren (Debian 11/12)</title>
		<link rel="alternate" type="text/html" href="https://wiki.toenniges.de/index.php?title=Paperless-ngx_%22Bare_Metal%22_installieren_(Debian_11/12)&amp;diff=1826"/>
		<updated>2025-03-22T21:28:13Z</updated>

		<summary type="html">&lt;p&gt;Robin Tönniges: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Infobox&lt;br /&gt;
| Titel      = Testumgebung&lt;br /&gt;
| Bildname   = &lt;br /&gt;
| Bildbreite = &lt;br /&gt;
| Bildtext   = &lt;br /&gt;
| Stil            = 2&lt;br /&gt;
| Titelfarbe      = 6&lt;br /&gt;
| Abschnittsfarbe = &lt;br /&gt;
| Farbe           = &lt;br /&gt;
| Style           = &lt;br /&gt;
| Feldstyle       = &lt;br /&gt;
| Feldname1 = OS    | Daten1 = Debian 11.11/12.10&lt;br /&gt;
| Feldname3 = paperless-ngx (Dev)    | Daten3 = 2.15.0&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
Anleitung für die &amp;quot;Bare Metal&amp;quot; Installation von [https://docs.paperless-ngx.com/ paperless-ngx] mit dem Sourcecode vom [https://github.com/paperless-ngx/paperless-ngx Dev-Branch] auf Debian 11 und 12.&lt;br /&gt;
==Abhängigkeiten installieren==&lt;br /&gt;
Das System auf den neusten Stand bringen:&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
sudo apt update&lt;br /&gt;
sudo apt upgrade&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
sudo apt install build-essential zlib1g-dev libncurses5-dev libgdbm-dev libnss3-dev libssl-dev libreadline-dev libffi-dev libpq-dev libsqlite3-dev wget libbz2-dev pkg-config libgdbm-compat-dev liblzma-dev tk-dev uuid-dev&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
===Python 3.11 installieren===&lt;br /&gt;
'''Debian 11:'''&lt;br /&gt;
:&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
wget https://www.python.org/ftp/python/3.11.11/Python-3.11.11.tgz&lt;br /&gt;
tar -xvf Python-3.11.11.tgz&lt;br /&gt;
cd Python-3.11.11&lt;br /&gt;
./configure --enable-optimizations&lt;br /&gt;
make -j$(nproc)&lt;br /&gt;
sudo make install&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
'''Debian 12:'''&lt;br /&gt;
:&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
sudo apt install python3.11 python3.11-venv python3-pip&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
===Ghostscript 10.05 installieren===&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
wget https://github.com/ArtifexSoftware/ghostpdl-downloads/releases/download/gs10050/ghostscript-10.05.0.tar.gz&lt;br /&gt;
tar -xvf ghostscript-10.05.0.tar.gz&lt;br /&gt;
cd ghostscript-10.05.0&lt;br /&gt;
./configure --without-x&lt;br /&gt;
make -j$(nproc)&lt;br /&gt;
sudo make install&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
sudo apt install imagemagick fonts-liberation gnupg libpq-dev default-libmysqlclient-dev pkg-config libmagic-dev libzbar0 poppler-utils&lt;br /&gt;
sudo apt install unpaper icc-profiles-free qpdf liblept5 libxml2 pngquant zlib1g tesseract-ocr python3-setuptools python3-wheel&lt;br /&gt;
&lt;br /&gt;
sudo apt install redis git curl&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;Paperless Benutzer erstellen und Repository klonen:&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
sudo adduser paperless --system --home /opt/paperless --group&lt;br /&gt;
cd /opt/paperless&lt;br /&gt;
sudo -Hu paperless git clone https://github.com/paperless-ngx/paperless-ngx.git .&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
sudo -Hu paperless mkdir consume media&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
'''Debian 11:'''&lt;br /&gt;
:&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
sudo -Hu paperless pip3 install uv&lt;br /&gt;
sudo -Hu paperless uv export --no-dev --all-extras --format requirements-txt --output-file requirements.txt&lt;br /&gt;
sudo -Hu paperless pip3 install -r requirements.txt&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
'''Debian 12:'''&lt;br /&gt;
:&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
sudo -Hu paperless python3 -m venv /opt/paperless/venv&lt;br /&gt;
sudo -Hu paperless /opt/paperless/venv/bin/pip3 install uv&lt;br /&gt;
sudo -Hu paperless /opt/paperless/venv/bin/uv export --no-dev --all-extras --format requirements-txt --output-file requirements.txt&lt;br /&gt;
sudo -Hu paperless /opt/paperless/venv/bin/pip3 install -r requirements.txt&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
sudo -Hu paperless cp paperless.conf.example paperless.conf&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
sudo -Hu paperless vi paperless.conf&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
PAPERLESS_SECRET_KEY=change-me&lt;br /&gt;
&lt;br /&gt;
PAPERLESS_CONSUMPTION_DIR=/mnt/paperless-store/consume&lt;br /&gt;
PAPERLESS_DATA_DIR=/mnt/paperless-store/data&lt;br /&gt;
PAPERLESS_MEDIA_ROOT=/mnt/paperless-store/media&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;Wenn du postgresql statt sqlite verwendet möchtest:&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
PAPERLESS_DBHOST=127.0.0.1 # Use postgresql&lt;br /&gt;
PAPERLESS_DBNAME=db_paperless&lt;br /&gt;
#PAPERLESS_DBUSER=paperless&lt;br /&gt;
PAPERLESS_DBPASS=&amp;lt;password&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
sudo apt install postgresql&lt;br /&gt;
sudo -u postgres psql&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&amp;lt;syntaxhighlight lang=&amp;quot;sql&amp;quot;&amp;gt;&lt;br /&gt;
CREATE DATABASE db_paperless;&lt;br /&gt;
CREATE USER paperless WITH ENCRYPTED PASSWORD '&amp;lt;password&amp;gt;';&lt;br /&gt;
GRANT ALL ON DATABASE db_paperless TO paperless;&lt;br /&gt;
\c db_paperless&lt;br /&gt;
GRANT ALL ON SCHEMA public TO paperless;&lt;br /&gt;
\q&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;Frontend:&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
cd src-ui&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
'''Debian 11:'''&lt;br /&gt;
:&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
sudo curl -sL https://deb.nodesource.com/setup_18.x | sudo -E bash -&lt;br /&gt;
sudo apt install nodejs&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
'''Debian 12:'''&lt;br /&gt;
:&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
sudo apt install nodejs&lt;br /&gt;
sudo apt install npm&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
sudo npm install -g @angular/cli&lt;br /&gt;
sudo npm install -g pnpm&lt;br /&gt;
sudo -Hu paperless pnpm install&lt;br /&gt;
&lt;br /&gt;
sudo -Hu paperless ng build --configuration production&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
Backend:&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
cd ../src&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
'''Debian 11:'''&lt;br /&gt;
:&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
sudo -Hu paperless python3 manage.py migrate&lt;br /&gt;
sudo -Hu paperless python3 manage.py createsuperuser&lt;br /&gt;
sudo -Hu paperless python3 manage.py collectstatic&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
'''Debian 12:'''&lt;br /&gt;
:&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
sudo -Hu paperless /opt/paperless/venv/bin/python3 manage.py migrate&lt;br /&gt;
sudo -Hu paperless /opt/paperless/venv/bin/python3 manage.py createsuperuser&lt;br /&gt;
sudo -Hu paperless /opt/paperless/venv/bin/python3 manage.py collectstatic&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Systemd Services anlegen: ===&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
cd ../scripts&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== paperless-consumer ====&lt;br /&gt;
'''Debian 12:'''&lt;br /&gt;
:&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
sudo vi paperless-consumer.service&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;ExcecStart ersetzen:&lt;br /&gt;
:&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
ExecStart=/opt/paperless/venv/bin/python3 manage.py document_consumer&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
sudo ln -s /opt/paperless/scripts/paperless-consumer.service /etc/systemd/system/paperless-consumer.service&lt;br /&gt;
sudo systemctl daemon-reload&lt;br /&gt;
sudo systemctl enable --now paperless-consumer.service&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
systemctl status paperless-consumer.service&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;Sollte in etwa so aussehen:&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
● paperless-consumer.service - Paperless consumer&lt;br /&gt;
     Loaded: loaded (/etc/systemd/system/paperless-consumer.service; enabled; preset: enabled)&lt;br /&gt;
     Active: active (running) since Sat 2025-03-22 22:25:06 CET; 6s ago&lt;br /&gt;
   Main PID: 6715 (python3)&lt;br /&gt;
      Tasks: 11 (limit: 9472)&lt;br /&gt;
     Memory: 97.2M&lt;br /&gt;
        CPU: 1.518s&lt;br /&gt;
     CGroup: /system.slice/paperless-consumer.service&lt;br /&gt;
             └─6715 /opt/paperless/venv/bin/python3 manage.py document_consumer&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== paperless-scheduler ====&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
sudo vi paperless-scheduler.service&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;'''Debian 11:'''&lt;br /&gt;
:ExcecStart ersetzen:&lt;br /&gt;
:&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
ExecStart=/opt/paperless/.local/bin/celery --app paperless beat --loglevel INFO&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
'''Debian 12:'''&lt;br /&gt;
:ExcecStart ersetzen:&lt;br /&gt;
:&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
ExecStart=/opt/paperless/venv/bin/celery --app paperless beat --loglevel INFO&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;/div&gt;</summary>
		<author><name>Robin Tönniges</name></author>
	</entry>
	<entry>
		<id>https://wiki.toenniges.de/index.php?title=Paperless-ngx_%22Bare_Metal%22_installieren_(Debian_11/12)&amp;diff=1825</id>
		<title>Paperless-ngx &quot;Bare Metal&quot; installieren (Debian 11/12)</title>
		<link rel="alternate" type="text/html" href="https://wiki.toenniges.de/index.php?title=Paperless-ngx_%22Bare_Metal%22_installieren_(Debian_11/12)&amp;diff=1825"/>
		<updated>2025-03-22T21:19:45Z</updated>

		<summary type="html">&lt;p&gt;Robin Tönniges: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Infobox&lt;br /&gt;
| Titel      = Testumgebung&lt;br /&gt;
| Bildname   = &lt;br /&gt;
| Bildbreite = &lt;br /&gt;
| Bildtext   = &lt;br /&gt;
| Stil            = 2&lt;br /&gt;
| Titelfarbe      = 6&lt;br /&gt;
| Abschnittsfarbe = &lt;br /&gt;
| Farbe           = &lt;br /&gt;
| Style           = &lt;br /&gt;
| Feldstyle       = &lt;br /&gt;
| Feldname1 = OS    | Daten1 = Debian 11.11/12.10&lt;br /&gt;
| Feldname3 = paperless-ngx (Dev)    | Daten3 = 2.15.0&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
Anleitung für die &amp;quot;Bare Metal&amp;quot; Installation von [https://docs.paperless-ngx.com/ paperless-ngx] mit dem Sourcecode vom [https://github.com/paperless-ngx/paperless-ngx Dev-Branch] auf Debian 11 und 12.&lt;br /&gt;
==Abhängigkeiten installieren==&lt;br /&gt;
Das System auf den neusten Stand bringen:&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
sudo apt update&lt;br /&gt;
sudo apt upgrade&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
sudo apt install build-essential zlib1g-dev libncurses5-dev libgdbm-dev libnss3-dev libssl-dev libreadline-dev libffi-dev libpq-dev libsqlite3-dev wget libbz2-dev pkg-config libgdbm-compat-dev liblzma-dev tk-dev uuid-dev&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
===Python 3.11 installieren===&lt;br /&gt;
'''Debian 11:'''&lt;br /&gt;
:&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
wget https://www.python.org/ftp/python/3.11.11/Python-3.11.11.tgz&lt;br /&gt;
tar -xvf Python-3.11.11.tgz&lt;br /&gt;
cd Python-3.11.11&lt;br /&gt;
./configure --enable-optimizations&lt;br /&gt;
make -j$(nproc)&lt;br /&gt;
sudo make install&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
'''Debian 12:'''&lt;br /&gt;
:&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
sudo apt install python3.11 python3.11-venv python3-pip&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
===Ghostscript 10.05 installieren===&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
wget https://github.com/ArtifexSoftware/ghostpdl-downloads/releases/download/gs10050/ghostscript-10.05.0.tar.gz&lt;br /&gt;
tar -xvf ghostscript-10.05.0.tar.gz&lt;br /&gt;
cd ghostscript-10.05.0&lt;br /&gt;
./configure --without-x&lt;br /&gt;
make -j$(nproc)&lt;br /&gt;
sudo make install&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
sudo apt install imagemagick fonts-liberation gnupg libpq-dev default-libmysqlclient-dev pkg-config libmagic-dev libzbar0 poppler-utils&lt;br /&gt;
sudo apt install unpaper icc-profiles-free qpdf liblept5 libxml2 pngquant zlib1g tesseract-ocr python3-setuptools python3-wheel&lt;br /&gt;
&lt;br /&gt;
sudo apt install redis git curl&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;Paperless Benutzer erstellen und Repository klonen:&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
sudo adduser paperless --system --home /opt/paperless --group&lt;br /&gt;
cd /opt/paperless&lt;br /&gt;
sudo -Hu paperless git clone https://github.com/paperless-ngx/paperless-ngx.git .&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
sudo -Hu paperless mkdir consume media&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
'''Debian 11:'''&lt;br /&gt;
:&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
sudo -Hu paperless pip3 install uv&lt;br /&gt;
sudo -Hu paperless uv export --no-dev --all-extras --format requirements-txt --output-file requirements.txt&lt;br /&gt;
sudo -Hu paperless pip3 install -r requirements.txt&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
'''Debian 12:'''&lt;br /&gt;
:&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
sudo -Hu paperless python3 -m venv /opt/paperless/venv&lt;br /&gt;
sudo -Hu paperless /opt/paperless/venv/bin/pip3 install uv&lt;br /&gt;
sudo -Hu paperless /opt/paperless/venv/bin/uv export --no-dev --all-extras --format requirements-txt --output-file requirements.txt&lt;br /&gt;
sudo -Hu paperless /opt/paperless/venv/bin/pip3 install -r requirements.txt&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
sudo -Hu paperless cp paperless.conf.example paperless.conf&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
sudo -Hu paperless vi paperless.conf&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
PAPERLESS_SECRET_KEY=change-me&lt;br /&gt;
&lt;br /&gt;
PAPERLESS_CONSUMPTION_DIR=/mnt/paperless-store/consume&lt;br /&gt;
PAPERLESS_DATA_DIR=/mnt/paperless-store/data&lt;br /&gt;
PAPERLESS_MEDIA_ROOT=/mnt/paperless-store/media&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;Wenn du postgresql statt sqlite verwendet möchtest:&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
PAPERLESS_DBHOST=127.0.0.1 # Use postgresql&lt;br /&gt;
PAPERLESS_DBNAME=db_paperless&lt;br /&gt;
#PAPERLESS_DBUSER=paperless&lt;br /&gt;
PAPERLESS_DBPASS=&amp;lt;password&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
sudo apt install postgresql&lt;br /&gt;
sudo -u postgres psql&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&amp;lt;syntaxhighlight lang=&amp;quot;sql&amp;quot;&amp;gt;&lt;br /&gt;
CREATE DATABASE db_paperless;&lt;br /&gt;
CREATE USER paperless WITH ENCRYPTED PASSWORD '&amp;lt;password&amp;gt;';&lt;br /&gt;
GRANT ALL ON DATABASE db_paperless TO paperless;&lt;br /&gt;
\c db_paperless&lt;br /&gt;
GRANT ALL ON SCHEMA public TO paperless;&lt;br /&gt;
\q&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;Frontend:&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
cd src-ui&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
'''Debian 11:'''&lt;br /&gt;
:&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
sudo curl -sL https://deb.nodesource.com/setup_18.x | sudo -E bash -&lt;br /&gt;
sudo apt install nodejs&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
'''Debian 12:'''&lt;br /&gt;
:&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
sudo apt install nodejs&lt;br /&gt;
sudo apt install npm&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
sudo npm install -g @angular/cli&lt;br /&gt;
sudo npm install -g pnpm&lt;br /&gt;
sudo -Hu paperless pnpm install&lt;br /&gt;
&lt;br /&gt;
sudo -Hu paperless ng build --configuration production&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
Backend:&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
cd ../src&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
'''Debian 11:'''&lt;br /&gt;
:&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
sudo -Hu paperless python3 manage.py migrate&lt;br /&gt;
sudo -Hu paperless python3 manage.py createsuperuser&lt;br /&gt;
sudo -Hu paperless python3 manage.py collectstatic&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
'''Debian 12:'''&lt;br /&gt;
:&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
sudo -Hu paperless /opt/paperless/venv/bin/python3 manage.py migrate&lt;br /&gt;
sudo -Hu paperless /opt/paperless/venv/bin/python3 manage.py createsuperuser&lt;br /&gt;
sudo -Hu paperless /opt/paperless/venv/bin/python3 manage.py collectstatic&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
Systemd Services anlegen:&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
cd ../scripts&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
'''Debian 12:'''&lt;br /&gt;
:&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
sudo vi paperless-consumer.service&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;ExcecStart ersetzen:&lt;br /&gt;
:&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
ExecStart=/opt/paperless/venv/bin/python3 manage.py document_consumer&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;/div&gt;</summary>
		<author><name>Robin Tönniges</name></author>
	</entry>
	<entry>
		<id>https://wiki.toenniges.de/index.php?title=Paperless-ngx_%22Bare_Metal%22_installieren_(Debian_11/12)&amp;diff=1824</id>
		<title>Paperless-ngx &quot;Bare Metal&quot; installieren (Debian 11/12)</title>
		<link rel="alternate" type="text/html" href="https://wiki.toenniges.de/index.php?title=Paperless-ngx_%22Bare_Metal%22_installieren_(Debian_11/12)&amp;diff=1824"/>
		<updated>2025-03-22T21:18:52Z</updated>

		<summary type="html">&lt;p&gt;Robin Tönniges: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Infobox&lt;br /&gt;
| Titel      = Testumgebung&lt;br /&gt;
| Bildname   = &lt;br /&gt;
| Bildbreite = &lt;br /&gt;
| Bildtext   = &lt;br /&gt;
| Stil            = 2&lt;br /&gt;
| Titelfarbe      = 6&lt;br /&gt;
| Abschnittsfarbe = &lt;br /&gt;
| Farbe           = &lt;br /&gt;
| Style           = &lt;br /&gt;
| Feldstyle       = &lt;br /&gt;
| Feldname1 = OS    | Daten1 = Debian 11.11/12.10&lt;br /&gt;
| Feldname3 = paperless-ngx (Dev)    | Daten3 = 2.15.0&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
Anleitung für die &amp;quot;Bare Metal&amp;quot; Installation von [https://docs.paperless-ngx.com/ paperless-ngx] mit dem Quellcode vom [https://github.com/paperless-ngx/paperless-ngx Dev-Branch] auf Debian 11 und 12.&lt;br /&gt;
==Abhängigkeiten installieren==&lt;br /&gt;
Das System auf den neusten Stand bringen:&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
sudo apt update&lt;br /&gt;
sudo apt upgrade&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
sudo apt install build-essential zlib1g-dev libncurses5-dev libgdbm-dev libnss3-dev libssl-dev libreadline-dev libffi-dev libpq-dev libsqlite3-dev wget libbz2-dev pkg-config libgdbm-compat-dev liblzma-dev tk-dev uuid-dev&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
===Python 3.11 installieren===&lt;br /&gt;
'''Debian 11:'''&lt;br /&gt;
:&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
wget https://www.python.org/ftp/python/3.11.11/Python-3.11.11.tgz&lt;br /&gt;
tar -xvf Python-3.11.11.tgz&lt;br /&gt;
cd Python-3.11.11&lt;br /&gt;
./configure --enable-optimizations&lt;br /&gt;
make -j$(nproc)&lt;br /&gt;
sudo make install&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
'''Debian 12:'''&lt;br /&gt;
:&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
sudo apt install python3.11 python3.11-venv python3-pip&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
===Ghostscript 10.05 installieren===&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
wget https://github.com/ArtifexSoftware/ghostpdl-downloads/releases/download/gs10050/ghostscript-10.05.0.tar.gz&lt;br /&gt;
tar -xvf ghostscript-10.05.0.tar.gz&lt;br /&gt;
cd ghostscript-10.05.0&lt;br /&gt;
./configure --without-x&lt;br /&gt;
make -j$(nproc)&lt;br /&gt;
sudo make install&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
sudo apt install imagemagick fonts-liberation gnupg libpq-dev default-libmysqlclient-dev pkg-config libmagic-dev libzbar0 poppler-utils&lt;br /&gt;
sudo apt install unpaper icc-profiles-free qpdf liblept5 libxml2 pngquant zlib1g tesseract-ocr python3-setuptools python3-wheel&lt;br /&gt;
&lt;br /&gt;
sudo apt install redis git curl&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;Paperless Benutzer erstellen und Repository klonen:&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
sudo adduser paperless --system --home /opt/paperless --group&lt;br /&gt;
cd /opt/paperless&lt;br /&gt;
sudo -Hu paperless git clone https://github.com/paperless-ngx/paperless-ngx.git .&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
sudo -Hu paperless mkdir consume media&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
'''Debian 11:'''&lt;br /&gt;
:&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
sudo -Hu paperless pip3 install uv&lt;br /&gt;
sudo -Hu paperless uv export --no-dev --all-extras --format requirements-txt --output-file requirements.txt&lt;br /&gt;
sudo -Hu paperless pip3 install -r requirements.txt&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
'''Debian 12:'''&lt;br /&gt;
:&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
sudo -Hu paperless python3 -m venv /opt/paperless/venv&lt;br /&gt;
sudo -Hu paperless /opt/paperless/venv/bin/pip3 install uv&lt;br /&gt;
sudo -Hu paperless /opt/paperless/venv/bin/uv export --no-dev --all-extras --format requirements-txt --output-file requirements.txt&lt;br /&gt;
sudo -Hu paperless /opt/paperless/venv/bin/pip3 install -r requirements.txt&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
sudo -Hu paperless cp paperless.conf.example paperless.conf&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
sudo -Hu paperless vi paperless.conf&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
PAPERLESS_SECRET_KEY=change-me&lt;br /&gt;
&lt;br /&gt;
PAPERLESS_CONSUMPTION_DIR=/mnt/paperless-store/consume&lt;br /&gt;
PAPERLESS_DATA_DIR=/mnt/paperless-store/data&lt;br /&gt;
PAPERLESS_MEDIA_ROOT=/mnt/paperless-store/media&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;Wenn du postgresql statt sqlite verwendet möchtest:&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
PAPERLESS_DBHOST=127.0.0.1 # Use postgresql&lt;br /&gt;
PAPERLESS_DBNAME=db_paperless&lt;br /&gt;
#PAPERLESS_DBUSER=paperless&lt;br /&gt;
PAPERLESS_DBPASS=&amp;lt;password&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
sudo apt install postgresql&lt;br /&gt;
sudo -u postgres psql&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&amp;lt;syntaxhighlight lang=&amp;quot;sql&amp;quot;&amp;gt;&lt;br /&gt;
CREATE DATABASE db_paperless;&lt;br /&gt;
CREATE USER paperless WITH ENCRYPTED PASSWORD '&amp;lt;password&amp;gt;';&lt;br /&gt;
GRANT ALL ON DATABASE db_paperless TO paperless;&lt;br /&gt;
\c db_paperless&lt;br /&gt;
GRANT ALL ON SCHEMA public TO paperless;&lt;br /&gt;
\q&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;Frontend:&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
cd src-ui&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
'''Debian 11:'''&lt;br /&gt;
:&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
sudo curl -sL https://deb.nodesource.com/setup_18.x | sudo -E bash -&lt;br /&gt;
sudo apt install nodejs&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
'''Debian 12:'''&lt;br /&gt;
:&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
sudo apt install nodejs&lt;br /&gt;
sudo apt install npm&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
sudo npm install -g @angular/cli&lt;br /&gt;
sudo npm install -g pnpm&lt;br /&gt;
sudo -Hu paperless pnpm install&lt;br /&gt;
&lt;br /&gt;
sudo -Hu paperless ng build --configuration production&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
Backend:&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
cd ../src&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
'''Debian 11:'''&lt;br /&gt;
:&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
sudo -Hu paperless python3 manage.py migrate&lt;br /&gt;
sudo -Hu paperless python3 manage.py createsuperuser&lt;br /&gt;
sudo -Hu paperless python3 manage.py collectstatic&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
'''Debian 12:'''&lt;br /&gt;
:&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
sudo -Hu paperless /opt/paperless/venv/bin/python3 manage.py migrate&lt;br /&gt;
sudo -Hu paperless /opt/paperless/venv/bin/python3 manage.py createsuperuser&lt;br /&gt;
sudo -Hu paperless /opt/paperless/venv/bin/python3 manage.py collectstatic&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
Systemd Services anlegen:&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
cd ../scripts&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
'''Debian 12:'''&lt;br /&gt;
:&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
sudo vi paperless-consumer.service&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;ExcecStart ersetzen:&lt;br /&gt;
:&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
ExecStart=/opt/paperless/venv/bin/python3 manage.py document_consumer&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;/div&gt;</summary>
		<author><name>Robin Tönniges</name></author>
	</entry>
	<entry>
		<id>https://wiki.toenniges.de/index.php?title=Paperless-ngx_%22Bare_Metal%22_installieren_(Debian_11/12)&amp;diff=1823</id>
		<title>Paperless-ngx &quot;Bare Metal&quot; installieren (Debian 11/12)</title>
		<link rel="alternate" type="text/html" href="https://wiki.toenniges.de/index.php?title=Paperless-ngx_%22Bare_Metal%22_installieren_(Debian_11/12)&amp;diff=1823"/>
		<updated>2025-03-22T21:18:33Z</updated>

		<summary type="html">&lt;p&gt;Robin Tönniges: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Infobox&lt;br /&gt;
| Titel      = Testumgebung&lt;br /&gt;
| Bildname   = &lt;br /&gt;
| Bildbreite = &lt;br /&gt;
| Bildtext   = &lt;br /&gt;
| Stil            = 2&lt;br /&gt;
| Titelfarbe      = 6&lt;br /&gt;
| Abschnittsfarbe = &lt;br /&gt;
| Farbe           = &lt;br /&gt;
| Style           = &lt;br /&gt;
| Feldstyle       = &lt;br /&gt;
| Feldname1 = OS    | Daten1 = Debian 11.11/12.10&lt;br /&gt;
| Feldname3 = paperless-ngx (Dev)    | Daten3 = 2.15.0&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
Anleitung für die &amp;quot;Bare Metal&amp;quot; Installation von [https://docs.paperless-ngx.com/ paperless-ngx] mit dem Quellcode vom [https://github.com/paperless-ngx/paperless-ngx Dev-Branch] auf Debian 11 und 12.&lt;br /&gt;
==Abhängigkeiten installieren==&lt;br /&gt;
Das System auf den neusten Stand bringen:&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
sudo apt update&lt;br /&gt;
sudo apt upgrade&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
sudo apt install build-essential zlib1g-dev libncurses5-dev libgdbm-dev libnss3-dev libssl-dev libreadline-dev libffi-dev libpq-dev libsqlite3-dev wget libbz2-dev pkg-config libgdbm-compat-dev liblzma-dev tk-dev uuid-dev&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
===Python 3.11 installieren===&lt;br /&gt;
'''Debian 11:'''&lt;br /&gt;
:&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
wget https://www.python.org/ftp/python/3.11.11/Python-3.11.11.tgz&lt;br /&gt;
tar -xvf Python-3.11.11.tgz&lt;br /&gt;
cd Python-3.11.11&lt;br /&gt;
./configure --enable-optimizations&lt;br /&gt;
make -j$(nproc)&lt;br /&gt;
sudo make install&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
'''Debian 12:'''&lt;br /&gt;
:&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
sudo apt install python3.11 python3.11-venv python3-pip&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
===Ghostscript 10.05 installieren===&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
wget https://github.com/ArtifexSoftware/ghostpdl-downloads/releases/download/gs10050/ghostscript-10.05.0.tar.gz&lt;br /&gt;
tar -xvf ghostscript-10.05.0.tar.gz&lt;br /&gt;
cd ghostscript-10.05.0&lt;br /&gt;
./configure --without-x&lt;br /&gt;
make -j$(nproc)&lt;br /&gt;
sudo make install&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
sudo apt install imagemagick fonts-liberation gnupg libpq-dev default-libmysqlclient-dev pkg-config libmagic-dev libzbar0 poppler-utils&lt;br /&gt;
sudo apt install unpaper icc-profiles-free qpdf liblept5 libxml2 pngquant zlib1g tesseract-ocr python3-setuptools python3-wheel&lt;br /&gt;
&lt;br /&gt;
sudo apt install redis git curl&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;Paperless Benutzer erstellen und Repository klonen:&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
sudo adduser paperless --system --home /opt/paperless --group&lt;br /&gt;
cd /opt/paperless&lt;br /&gt;
sudo -Hu paperless git clone https://github.com/paperless-ngx/paperless-ngx.git .&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
sudo -Hu paperless mkdir consume media&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
'''Debian 11:'''&lt;br /&gt;
:&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
sudo -Hu paperless pip3 install uv&lt;br /&gt;
sudo -Hu paperless uv export --no-dev --all-extras --format requirements-txt --output-file requirements.txt&lt;br /&gt;
sudo -Hu paperless pip3 install -r requirements.txt&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
'''Debian 12:'''&lt;br /&gt;
:&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
sudo -Hu paperless python3 -m venv /opt/paperless/venv&lt;br /&gt;
sudo -Hu paperless /opt/paperless/venv/bin/pip3 install uv&lt;br /&gt;
sudo -Hu paperless /opt/paperless/venv/bin/uv export --no-dev --all-extras --format requirements-txt --output-file requirements.txt&lt;br /&gt;
sudo -Hu paperless /opt/paperless/venv/bin/pip3 install -r requirements.txt&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
sudo -Hu paperless cp paperless.conf.example paperless.conf&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
sudo -Hu paperless vi paperless.conf&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
PAPERLESS_SECRET_KEY=change-me&lt;br /&gt;
&lt;br /&gt;
PAPERLESS_CONSUMPTION_DIR=/mnt/paperless-store/consume&lt;br /&gt;
PAPERLESS_DATA_DIR=/mnt/paperless-store/data&lt;br /&gt;
PAPERLESS_MEDIA_ROOT=/mnt/paperless-store/media&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;Wenn du postgresql statt sqlite verwendet möchtest:&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
PAPERLESS_DBHOST=127.0.0.1 # Use postgresql&lt;br /&gt;
PAPERLESS_DBNAME=db_paperless&lt;br /&gt;
#PAPERLESS_DBUSER=paperless&lt;br /&gt;
PAPERLESS_DBPASS=&amp;lt;password&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
sudo apt install postgresql&lt;br /&gt;
sudo -u postgres psql&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&amp;lt;syntaxhighlight lang=&amp;quot;sql&amp;quot;&amp;gt;&lt;br /&gt;
CREATE DATABASE db_paperless;&lt;br /&gt;
CREATE USER paperless WITH ENCRYPTED PASSWORD '&amp;lt;password&amp;gt;';&lt;br /&gt;
GRANT ALL ON DATABASE db_paperless TO paperless;&lt;br /&gt;
\c db_paperless&lt;br /&gt;
GRANT ALL ON SCHEMA public TO paperless;&lt;br /&gt;
\q&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;Frontend:&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
cd src-ui&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
'''Debian 11:'''&lt;br /&gt;
:&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
sudo curl -sL https://deb.nodesource.com/setup_18.x | sudo -E bash -&lt;br /&gt;
sudo apt install nodejs&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
'''Debian 12:'''&lt;br /&gt;
:&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
sudo apt install nodejs&lt;br /&gt;
sudo apt install npm&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
sudo npm install -g @angular/cli&lt;br /&gt;
sudo npm install -g pnpm&lt;br /&gt;
sudo -Hu paperless pnpm install&lt;br /&gt;
&lt;br /&gt;
sudo -Hu paperless ng build --configuration production&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
Backend:&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
cd ../src&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
'''Debian 11:'''&lt;br /&gt;
:&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
sudo -Hu paperless python3 manage.py migrate&lt;br /&gt;
sudo -Hu paperless python3 manage.py createsuperuser&lt;br /&gt;
sudo -Hu paperless python3 manage.py collectstatic&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
'''Debian 12:'''&lt;br /&gt;
:&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
sudo -Hu paperless /opt/paperless/venv/bin/python3 manage.py migrate&lt;br /&gt;
sudo -Hu paperless /opt/paperless/venv/bin/python3 manage.py createsuperuser&lt;br /&gt;
sudo -Hu paperless /opt/paperless/venv/bin/python3 manage.py collectstatic&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
Systemd Services anlegen:&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
cd ../scripts&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
'''Debian 12:'''&lt;br /&gt;
:&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
sudo vi paperless-consumer.service&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;ExcecStart ersetzen:&lt;br /&gt;
:&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
ExecStart=/opt/paperless/venv/bin/python3 manage.py document_consumer&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;/div&gt;</summary>
		<author><name>Robin Tönniges</name></author>
	</entry>
	<entry>
		<id>https://wiki.toenniges.de/index.php?title=Paperless-ngx_%22Bare_Metal%22_installieren_(Debian_11/12)&amp;diff=1822</id>
		<title>Paperless-ngx &quot;Bare Metal&quot; installieren (Debian 11/12)</title>
		<link rel="alternate" type="text/html" href="https://wiki.toenniges.de/index.php?title=Paperless-ngx_%22Bare_Metal%22_installieren_(Debian_11/12)&amp;diff=1822"/>
		<updated>2025-03-22T21:17:54Z</updated>

		<summary type="html">&lt;p&gt;Robin Tönniges: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Infobox&lt;br /&gt;
| Titel      = Testumgebung&lt;br /&gt;
| Bildname   = &lt;br /&gt;
| Bildbreite = &lt;br /&gt;
| Bildtext   = &lt;br /&gt;
| Stil            = 2&lt;br /&gt;
| Titelfarbe      = 6&lt;br /&gt;
| Abschnittsfarbe = &lt;br /&gt;
| Farbe           = &lt;br /&gt;
| Style           = &lt;br /&gt;
| Feldstyle       = &lt;br /&gt;
| Feldname1 = OS    | Daten1 = Debian 11.11/12.10&lt;br /&gt;
| Feldname3 = paperless-ngx (Dev)    | Daten3 = 2.15.0&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
Anleitung für die &amp;quot;Bare Metal&amp;quot; Installation von [https://docs.paperless-ngx.com/ paperless-ngx] mit dem Quellcode vom [https://github.com/paperless-ngx/paperless-ngx Dev-Branch] auf Debian 11 und 12.&lt;br /&gt;
==Abhängigkeiten installieren==&lt;br /&gt;
Das System auf den neusten Stand bringen:&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
sudo apt update&lt;br /&gt;
sudo apt upgrade&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
sudo apt install build-essential zlib1g-dev libncurses5-dev libgdbm-dev libnss3-dev libssl-dev libreadline-dev libffi-dev libpq-dev libsqlite3-dev wget libbz2-dev pkg-config libgdbm-compat-dev liblzma-dev tk-dev uuid-dev&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
===Python 3.11 installieren===&lt;br /&gt;
'''Debian 11:'''&lt;br /&gt;
:&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
wget https://www.python.org/ftp/python/3.11.11/Python-3.11.11.tgz&lt;br /&gt;
tar -xvf Python-3.11.11.tgz&lt;br /&gt;
cd Python-3.11.11&lt;br /&gt;
./configure --enable-optimizations&lt;br /&gt;
make -j$(nproc)&lt;br /&gt;
sudo make install&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
'''Debian 12:'''&lt;br /&gt;
:&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
sudo apt install python3.11 python3.11-venv python3-pip&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
===Ghostscript 10.05 installieren===&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
wget https://github.com/ArtifexSoftware/ghostpdl-downloads/releases/download/gs10050/ghostscript-10.05.0.tar.gz&lt;br /&gt;
tar -xvf ghostscript-10.05.0.tar.gz&lt;br /&gt;
cd ghostscript-10.05.0&lt;br /&gt;
./configure --without-x&lt;br /&gt;
make -j$(nproc)&lt;br /&gt;
sudo make install&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
sudo apt install imagemagick fonts-liberation gnupg libpq-dev default-libmysqlclient-dev pkg-config libmagic-dev libzbar0 poppler-utils&lt;br /&gt;
sudo apt install unpaper icc-profiles-free qpdf liblept5 libxml2 pngquant zlib1g tesseract-ocr python3-setuptools python3-wheel&lt;br /&gt;
&lt;br /&gt;
sudo apt install redis git curl&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;Paperless Benutzer erstellen und Repository klonen:&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
sudo adduser paperless --system --home /opt/paperless --group&lt;br /&gt;
cd /opt/paperless&lt;br /&gt;
sudo -Hu paperless git clone https://github.com/paperless-ngx/paperless-ngx.git .&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
sudo -Hu paperless mkdir consume media&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
'''Debian 11:'''&lt;br /&gt;
:&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
sudo -Hu paperless pip3 install uv&lt;br /&gt;
sudo -Hu paperless uv export --no-dev --all-extras --format requirements-txt --output-file requirements.txt&lt;br /&gt;
sudo -Hu paperless pip3 install -r requirements.txt&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
'''Debian 12:'''&lt;br /&gt;
:&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
sudo -Hu paperless python3 -m venv /opt/paperless/venv&lt;br /&gt;
sudo -Hu paperless /opt/paperless/venv/bin/pip3 install uv&lt;br /&gt;
sudo -Hu paperless /opt/paperless/venv/bin/uv export --no-dev --all-extras --format requirements-txt --output-file requirements.txt&lt;br /&gt;
sudo -Hu paperless /opt/paperless/venv/bin/pip3 install -r requirements.txt&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
sudo -Hu paperless cp paperless.conf.example paperless.conf&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
sudo -Hu paperless vi paperless.conf&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
PAPERLESS_SECRET_KEY=change-me&lt;br /&gt;
&lt;br /&gt;
PAPERLESS_CONSUMPTION_DIR=/mnt/paperless-store/consume&lt;br /&gt;
PAPERLESS_DATA_DIR=/mnt/paperless-store/data&lt;br /&gt;
PAPERLESS_MEDIA_ROOT=/mnt/paperless-store/media&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;Wenn du postgresql statt sqlite verwendet möchtest:&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
PAPERLESS_DBHOST=127.0.0.1 # Use postgresql&lt;br /&gt;
PAPERLESS_DBNAME=db_paperless&lt;br /&gt;
#PAPERLESS_DBUSER=paperless&lt;br /&gt;
PAPERLESS_DBPASS=&amp;lt;password&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
sudo apt install postgresql&lt;br /&gt;
sudo -u postgres psql&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&amp;lt;syntaxhighlight lang=&amp;quot;sql&amp;quot;&amp;gt;&lt;br /&gt;
CREATE DATABASE db_paperless;&lt;br /&gt;
CREATE USER paperless WITH ENCRYPTED PASSWORD '&amp;lt;password&amp;gt;';&lt;br /&gt;
GRANT ALL ON DATABASE db_paperless TO paperless;&lt;br /&gt;
\c db_paperless&lt;br /&gt;
GRANT ALL ON SCHEMA public TO paperless;&lt;br /&gt;
\q&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;Frontend:&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
cd src-ui&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
'''Debian 11:'''&lt;br /&gt;
:&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
sudo curl -sL https://deb.nodesource.com/setup_18.x | sudo -E bash -&lt;br /&gt;
sudo apt install nodejs&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
'''Debian 12:'''&lt;br /&gt;
:&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
sudo apt install nodejs&lt;br /&gt;
sudo apt install npm&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
sudo npm install -g @angular/cli&lt;br /&gt;
sudo npm install -g pnpm&lt;br /&gt;
sudo -Hu paperless pnpm install&lt;br /&gt;
&lt;br /&gt;
sudo -Hu paperless ng build --configuration production&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;Backend:&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
cd ../src&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
'''Debian 11:'''&lt;br /&gt;
:&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
sudo -Hu paperless python3 manage.py migrate&lt;br /&gt;
sudo -Hu paperless python3 manage.py createsuperuser&lt;br /&gt;
sudo -Hu paperless python3 manage.py collectstatic&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
'''Debian 12:'''&lt;br /&gt;
:&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
sudo -Hu paperless /opt/paperless/venv/bin/python3 manage.py migrate&lt;br /&gt;
sudo -Hu paperless /opt/paperless/venv/bin/python3 manage.py createsuperuser&lt;br /&gt;
sudo -Hu paperless /opt/paperless/venv/bin/python3 manage.py collectstatic&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;Systemd Services anlegen:&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
cd ../scripts&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
'''Debian 12:'''&lt;br /&gt;
:&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
sudo vi paperless-consumer.service&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;ExcecStart ersetzen:&lt;br /&gt;
:&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
ExecStart=/opt/paperless/venv/bin/python3 manage.py document_consumer&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;/div&gt;</summary>
		<author><name>Robin Tönniges</name></author>
	</entry>
	<entry>
		<id>https://wiki.toenniges.de/index.php?title=Paperless-ngx_%22Bare_Metal%22_installieren_(Debian_11/12)&amp;diff=1821</id>
		<title>Paperless-ngx &quot;Bare Metal&quot; installieren (Debian 11/12)</title>
		<link rel="alternate" type="text/html" href="https://wiki.toenniges.de/index.php?title=Paperless-ngx_%22Bare_Metal%22_installieren_(Debian_11/12)&amp;diff=1821"/>
		<updated>2025-03-22T21:17:20Z</updated>

		<summary type="html">&lt;p&gt;Robin Tönniges: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Infobox&lt;br /&gt;
| Titel      = Testumgebung&lt;br /&gt;
| Bildname   = &lt;br /&gt;
| Bildbreite = &lt;br /&gt;
| Bildtext   = &lt;br /&gt;
| Stil            = 2&lt;br /&gt;
| Titelfarbe      = 6&lt;br /&gt;
| Abschnittsfarbe = &lt;br /&gt;
| Farbe           = &lt;br /&gt;
| Style           = &lt;br /&gt;
| Feldstyle       = &lt;br /&gt;
| Feldname1 = OS    | Daten1 = Debian 11.11/12.10&lt;br /&gt;
| Feldname3 = paperless-ngx (Dev)    | Daten3 = 2.15.0&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
Anleitung für die &amp;quot;Bare Metal&amp;quot; Installation von [https://docs.paperless-ngx.com/ paperless-ngx] mit dem Quellcode vom [https://github.com/paperless-ngx/paperless-ngx Dev-Branch] auf Debian 11 und 12.&lt;br /&gt;
==Abhängigkeiten installieren==&lt;br /&gt;
Das System auf den neusten Stand bringen:&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
sudo apt update&lt;br /&gt;
sudo apt upgrade&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
sudo apt install build-essential zlib1g-dev libncurses5-dev libgdbm-dev libnss3-dev libssl-dev libreadline-dev libffi-dev libpq-dev libsqlite3-dev wget libbz2-dev pkg-config libgdbm-compat-dev liblzma-dev tk-dev uuid-dev&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
===Python 3.11 installieren===&lt;br /&gt;
'''Debian 11:'''&lt;br /&gt;
:&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
wget https://www.python.org/ftp/python/3.11.11/Python-3.11.11.tgz&lt;br /&gt;
tar -xvf Python-3.11.11.tgz&lt;br /&gt;
cd Python-3.11.11&lt;br /&gt;
./configure --enable-optimizations&lt;br /&gt;
make -j$(nproc)&lt;br /&gt;
sudo make install&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
'''Debian 12:'''&lt;br /&gt;
:&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
sudo apt install python3.11 python3.11-venv python3-pip&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
===Ghostscript 10.05 installieren===&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
wget https://github.com/ArtifexSoftware/ghostpdl-downloads/releases/download/gs10050/ghostscript-10.05.0.tar.gz&lt;br /&gt;
tar -xvf ghostscript-10.05.0.tar.gz&lt;br /&gt;
cd ghostscript-10.05.0&lt;br /&gt;
./configure --without-x&lt;br /&gt;
make -j$(nproc)&lt;br /&gt;
sudo make install&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
sudo apt install imagemagick fonts-liberation gnupg libpq-dev default-libmysqlclient-dev pkg-config libmagic-dev libzbar0 poppler-utils&lt;br /&gt;
sudo apt install unpaper icc-profiles-free qpdf liblept5 libxml2 pngquant zlib1g tesseract-ocr python3-setuptools python3-wheel&lt;br /&gt;
&lt;br /&gt;
sudo apt install redis git curl&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;Paperless Benutzer erstellen und Repository klonen:&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
sudo adduser paperless --system --home /opt/paperless --group&lt;br /&gt;
cd /opt/paperless&lt;br /&gt;
sudo -Hu paperless git clone https://github.com/paperless-ngx/paperless-ngx.git .&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
sudo -Hu paperless mkdir consume media&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
'''Debian 11:'''&lt;br /&gt;
:&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
sudo -Hu paperless pip3 install uv&lt;br /&gt;
sudo -Hu paperless uv export --no-dev --all-extras --format requirements-txt --output-file requirements.txt&lt;br /&gt;
sudo -Hu paperless pip3 install -r requirements.txt&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
'''Debian 12:'''&lt;br /&gt;
:&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
sudo -Hu paperless python3 -m venv /opt/paperless/venv&lt;br /&gt;
sudo -Hu paperless /opt/paperless/venv/bin/pip3 install uv&lt;br /&gt;
sudo -Hu paperless /opt/paperless/venv/bin/uv export --no-dev --all-extras --format requirements-txt --output-file requirements.txt&lt;br /&gt;
sudo -Hu paperless /opt/paperless/venv/bin/pip3 install -r requirements.txt&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
sudo -Hu paperless cp paperless.conf.example paperless.conf&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
sudo -Hu paperless vi paperless.conf&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
PAPERLESS_SECRET_KEY=change-me&lt;br /&gt;
&lt;br /&gt;
PAPERLESS_CONSUMPTION_DIR=/mnt/paperless-store/consume&lt;br /&gt;
PAPERLESS_DATA_DIR=/mnt/paperless-store/data&lt;br /&gt;
PAPERLESS_MEDIA_ROOT=/mnt/paperless-store/media&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;Wenn du postgresql statt sqlite verwendet möchtest:&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
PAPERLESS_DBHOST=127.0.0.1 # Use postgresql&lt;br /&gt;
PAPERLESS_DBNAME=db_paperless&lt;br /&gt;
#PAPERLESS_DBUSER=paperless&lt;br /&gt;
PAPERLESS_DBPASS=&amp;lt;password&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
sudo apt install postgresql&lt;br /&gt;
sudo -u postgres psql&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&amp;lt;syntaxhighlight lang=&amp;quot;sql&amp;quot;&amp;gt;&lt;br /&gt;
CREATE DATABASE db_paperless;&lt;br /&gt;
CREATE USER paperless WITH ENCRYPTED PASSWORD '&amp;lt;password&amp;gt;';&lt;br /&gt;
GRANT ALL ON DATABASE db_paperless TO paperless;&lt;br /&gt;
\c db_paperless&lt;br /&gt;
GRANT ALL ON SCHEMA public TO paperless;&lt;br /&gt;
\q&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;Frontend:&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
cd src-ui&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
'''Debian 11:'''&lt;br /&gt;
:&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
sudo curl -sL https://deb.nodesource.com/setup_18.x | sudo -E bash -&lt;br /&gt;
sudo apt install nodejs&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
'''Debian 12:'''&lt;br /&gt;
:&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
sudo apt install nodejs&lt;br /&gt;
sudo apt install npm&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
sudo npm install -g @angular/cli&lt;br /&gt;
sudo npm install -g pnpm&lt;br /&gt;
sudo -Hu paperless pnpm install&lt;br /&gt;
&lt;br /&gt;
sudo -Hu paperless ng build --configuration production&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;Backend:&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
cd ../src&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
'''Debian 11:'''&lt;br /&gt;
:&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
sudo -Hu paperless python3 manage.py migrate&lt;br /&gt;
sudo -Hu paperless python3 manage.py createsuperuser&lt;br /&gt;
sudo -Hu paperless python3 manage.py collectstatic&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
'''Debian 12:'''&lt;br /&gt;
:&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
sudo -Hu paperless /opt/paperless/venv/bin/python3 manage.py migrate&lt;br /&gt;
sudo -Hu paperless /opt/paperless/venv/bin/python3 manage.py createsuperuser&lt;br /&gt;
sudo -Hu paperless /opt/paperless/venv/bin/python3 manage.py collectstatic&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;Systemd Services anlegen:&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
cd ../scripts&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
'''Debian 12:'''&lt;br /&gt;
:&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
sudo vi paperless-consumer.service&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;ExcecStart ersetzen:&lt;br /&gt;
:&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
ExecStart=/opt/paperless/venv/bin/python3 manage.py document_consumer&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;/div&gt;</summary>
		<author><name>Robin Tönniges</name></author>
	</entry>
	<entry>
		<id>https://wiki.toenniges.de/index.php?title=Paperless-ngx_%22Bare_Metal%22_installieren_(Debian_11/12)&amp;diff=1820</id>
		<title>Paperless-ngx &quot;Bare Metal&quot; installieren (Debian 11/12)</title>
		<link rel="alternate" type="text/html" href="https://wiki.toenniges.de/index.php?title=Paperless-ngx_%22Bare_Metal%22_installieren_(Debian_11/12)&amp;diff=1820"/>
		<updated>2025-03-22T21:16:49Z</updated>

		<summary type="html">&lt;p&gt;Robin Tönniges: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Infobox&lt;br /&gt;
| Titel      = Testumgebung&lt;br /&gt;
| Bildname   = &lt;br /&gt;
| Bildbreite = &lt;br /&gt;
| Bildtext   = &lt;br /&gt;
| Stil            = 2&lt;br /&gt;
| Titelfarbe      = 6&lt;br /&gt;
| Abschnittsfarbe = &lt;br /&gt;
| Farbe           = &lt;br /&gt;
| Style           = &lt;br /&gt;
| Feldstyle       = &lt;br /&gt;
| Feldname1 = OS    | Daten1 = Debian 11.11/12.10&lt;br /&gt;
| Feldname3 = paperless-ngx (Dev)    | Daten3 = 2.15.0&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
Anleitung für die &amp;quot;Bare Metal&amp;quot; Installation von [https://docs.paperless-ngx.com/ paperless-ngx] mit dem Quellcode vom [https://github.com/paperless-ngx/paperless-ngx Dev-Branch] auf Debian 11 und 12.&lt;br /&gt;
==Abhängigkeiten installieren==&lt;br /&gt;
Das System auf den neusten Stand bringen:&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
sudo apt update&lt;br /&gt;
sudo apt upgrade&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
sudo apt install build-essential zlib1g-dev libncurses5-dev libgdbm-dev libnss3-dev libssl-dev libreadline-dev libffi-dev libpq-dev libsqlite3-dev wget libbz2-dev pkg-config libgdbm-compat-dev liblzma-dev tk-dev uuid-dev&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
===Python 3.11 installieren===&lt;br /&gt;
'''Debian 11:'''&lt;br /&gt;
:&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
wget https://www.python.org/ftp/python/3.11.11/Python-3.11.11.tgz&lt;br /&gt;
tar -xvf Python-3.11.11.tgz&lt;br /&gt;
cd Python-3.11.11&lt;br /&gt;
./configure --enable-optimizations&lt;br /&gt;
make -j$(nproc)&lt;br /&gt;
sudo make install&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
'''Debian 12:'''&lt;br /&gt;
:&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
sudo apt install python3.11 python3.11-venv python3-pip&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
===Ghostscript 10.05 installieren===&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
wget https://github.com/ArtifexSoftware/ghostpdl-downloads/releases/download/gs10050/ghostscript-10.05.0.tar.gz&lt;br /&gt;
tar -xvf ghostscript-10.05.0.tar.gz&lt;br /&gt;
cd ghostscript-10.05.0&lt;br /&gt;
./configure --without-x&lt;br /&gt;
make -j$(nproc)&lt;br /&gt;
sudo make install&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
sudo apt install imagemagick fonts-liberation gnupg libpq-dev default-libmysqlclient-dev pkg-config libmagic-dev libzbar0 poppler-utils&lt;br /&gt;
sudo apt install unpaper icc-profiles-free qpdf liblept5 libxml2 pngquant zlib1g tesseract-ocr python3-setuptools python3-wheel&lt;br /&gt;
&lt;br /&gt;
sudo apt install redis git curl&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;Paperless Benutzer erstellen und Repository klonen:&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
sudo adduser paperless --system --home /opt/paperless --group&lt;br /&gt;
cd /opt/paperless&lt;br /&gt;
sudo -Hu paperless git clone https://github.com/paperless-ngx/paperless-ngx.git .&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
sudo -Hu paperless mkdir consume media&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;'''Debian 11:'''&lt;br /&gt;
:&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
sudo -Hu paperless pip3 install uv&lt;br /&gt;
sudo -Hu paperless uv export --no-dev --all-extras --format requirements-txt --output-file requirements.txt&lt;br /&gt;
sudo -Hu paperless pip3 install -r requirements.txt&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;'''Debian 12:'''&lt;br /&gt;
:&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
sudo -Hu paperless python3 -m venv /opt/paperless/venv&lt;br /&gt;
sudo -Hu paperless /opt/paperless/venv/bin/pip3 install uv&lt;br /&gt;
sudo -Hu paperless /opt/paperless/venv/bin/uv export --no-dev --all-extras --format requirements-txt --output-file requirements.txt&lt;br /&gt;
sudo -Hu paperless /opt/paperless/venv/bin/pip3 install -r requirements.txt&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
sudo -Hu paperless cp paperless.conf.example paperless.conf&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
sudo -Hu paperless vi paperless.conf&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
PAPERLESS_SECRET_KEY=change-me&lt;br /&gt;
&lt;br /&gt;
PAPERLESS_CONSUMPTION_DIR=/mnt/paperless-store/consume&lt;br /&gt;
PAPERLESS_DATA_DIR=/mnt/paperless-store/data&lt;br /&gt;
PAPERLESS_MEDIA_ROOT=/mnt/paperless-store/media&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;Wenn du postgresql statt sqlite verwendet möchtest:&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
PAPERLESS_DBHOST=127.0.0.1 # Use postgresql&lt;br /&gt;
PAPERLESS_DBNAME=db_paperless&lt;br /&gt;
#PAPERLESS_DBUSER=paperless&lt;br /&gt;
PAPERLESS_DBPASS=&amp;lt;password&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
sudo apt install postgresql&lt;br /&gt;
sudo -u postgres psql&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&amp;lt;syntaxhighlight lang=&amp;quot;sql&amp;quot;&amp;gt;&lt;br /&gt;
CREATE DATABASE db_paperless;&lt;br /&gt;
CREATE USER paperless WITH ENCRYPTED PASSWORD '&amp;lt;password&amp;gt;';&lt;br /&gt;
GRANT ALL ON DATABASE db_paperless TO paperless;&lt;br /&gt;
\c db_paperless&lt;br /&gt;
GRANT ALL ON SCHEMA public TO paperless;&lt;br /&gt;
\q&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;Frontend:&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
cd src-ui&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;'''Debian 11:'''&lt;br /&gt;
:&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
sudo curl -sL https://deb.nodesource.com/setup_18.x | sudo -E bash -&lt;br /&gt;
sudo apt install nodejs&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;'''Debian 12:'''&lt;br /&gt;
:&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
sudo apt install nodejs&lt;br /&gt;
sudo apt install npm&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
sudo npm install -g @angular/cli&lt;br /&gt;
sudo npm install -g pnpm&lt;br /&gt;
sudo -Hu paperless pnpm install&lt;br /&gt;
&lt;br /&gt;
sudo -Hu paperless ng build --configuration production&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;Backend:&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
cd ../src&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;'''Debian 11:'''&lt;br /&gt;
:&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
sudo -Hu paperless python3 manage.py migrate&lt;br /&gt;
sudo -Hu paperless python3 manage.py createsuperuser&lt;br /&gt;
sudo -Hu paperless python3 manage.py collectstatic&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;'''Debian 12:'''&lt;br /&gt;
:&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
sudo -Hu paperless /opt/paperless/venv/bin/python3 manage.py migrate&lt;br /&gt;
sudo -Hu paperless /opt/paperless/venv/bin/python3 manage.py createsuperuser&lt;br /&gt;
sudo -Hu paperless /opt/paperless/venv/bin/python3 manage.py collectstatic&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;Systemd Services anlegen:&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
cd ../scripts&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;'''Debian 12:'''&lt;br /&gt;
:&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
sudo vi paperless-consumer.service&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;ExcecStart ersetzen:&lt;br /&gt;
:&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
ExecStart=/opt/paperless/venv/bin/python3 manage.py document_consumer&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;/div&gt;</summary>
		<author><name>Robin Tönniges</name></author>
	</entry>
	<entry>
		<id>https://wiki.toenniges.de/index.php?title=Paperless-ngx_%22Bare_Metal%22_installieren_(Debian_11/12)&amp;diff=1819</id>
		<title>Paperless-ngx &quot;Bare Metal&quot; installieren (Debian 11/12)</title>
		<link rel="alternate" type="text/html" href="https://wiki.toenniges.de/index.php?title=Paperless-ngx_%22Bare_Metal%22_installieren_(Debian_11/12)&amp;diff=1819"/>
		<updated>2025-03-22T21:15:06Z</updated>

		<summary type="html">&lt;p&gt;Robin Tönniges: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Infobox&lt;br /&gt;
| Titel      = Testumgebung&lt;br /&gt;
| Bildname   = &lt;br /&gt;
| Bildbreite = &lt;br /&gt;
| Bildtext   = &lt;br /&gt;
| Stil            = 2&lt;br /&gt;
| Titelfarbe      = 6&lt;br /&gt;
| Abschnittsfarbe = &lt;br /&gt;
| Farbe           = &lt;br /&gt;
| Style           = &lt;br /&gt;
| Feldstyle       = &lt;br /&gt;
| Feldname1 = OS    | Daten1 = Debian 11.11/12.10&lt;br /&gt;
| Feldname3 = paperless-ngx (Dev)    | Daten3 = 2.15.0&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
Anleitung für die &amp;quot;Bare Metal&amp;quot; Installation von [https://docs.paperless-ngx.com/ paperless-ngx] mit dem Quellcode vom [https://github.com/paperless-ngx/paperless-ngx Dev-Branch] auf Debian 11 und 12.&lt;br /&gt;
==Abhängigkeiten installieren==&lt;br /&gt;
Das System auf den neusten Stand bringen:&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
sudo apt update&lt;br /&gt;
sudo apt upgrade&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
sudo apt install build-essential zlib1g-dev libncurses5-dev libgdbm-dev libnss3-dev libssl-dev libreadline-dev libffi-dev libpq-dev libsqlite3-dev wget libbz2-dev pkg-config libgdbm-compat-dev liblzma-dev tk-dev uuid-dev&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
===Python 3.11 installieren===&lt;br /&gt;
'''Debian 11:'''&lt;br /&gt;
:&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
wget https://www.python.org/ftp/python/3.11.11/Python-3.11.11.tgz&lt;br /&gt;
tar -xvf Python-3.11.11.tgz&lt;br /&gt;
cd Python-3.11.11&lt;br /&gt;
./configure --enable-optimizations&lt;br /&gt;
make -j$(nproc)&lt;br /&gt;
sudo make install&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
'''Debian 12:'''&lt;br /&gt;
:&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
sudo apt install python3.11 python3.11-venv python3-pip&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
===Ghostscript 10.05 installieren===&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
wget https://github.com/ArtifexSoftware/ghostpdl-downloads/releases/download/gs10050/ghostscript-10.05.0.tar.gz&lt;br /&gt;
tar -xvf ghostscript-10.05.0.tar.gz&lt;br /&gt;
cd ghostscript-10.05.0&lt;br /&gt;
./configure --without-x&lt;br /&gt;
make -j$(nproc)&lt;br /&gt;
sudo make install&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
sudo apt install imagemagick fonts-liberation gnupg libpq-dev default-libmysqlclient-dev pkg-config libmagic-dev libzbar0 poppler-utils&lt;br /&gt;
sudo apt install unpaper icc-profiles-free qpdf liblept5 libxml2 pngquant zlib1g tesseract-ocr python3-setuptools python3-wheel&lt;br /&gt;
&lt;br /&gt;
sudo apt install redis git curl&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;Paperless Benutzer erstellen und Repository klonen:&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
sudo adduser paperless --system --home /opt/paperless --group&lt;br /&gt;
cd /opt/paperless&lt;br /&gt;
sudo -Hu paperless git clone https://github.com/paperless-ngx/paperless-ngx.git .&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
sudo -Hu paperless mkdir consume media&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;'''Debian 11:'''&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
sudo -Hu paperless pip3 install uv&lt;br /&gt;
sudo -Hu paperless uv export --no-dev --all-extras --format requirements-txt --output-file requirements.txt&lt;br /&gt;
sudo -Hu paperless pip3 install -r requirements.txt&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;'''Debian 12:'''&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
sudo -Hu paperless python3 -m venv /opt/paperless/venv&lt;br /&gt;
sudo -Hu paperless /opt/paperless/venv/bin/pip3 install uv&lt;br /&gt;
sudo -Hu paperless /opt/paperless/venv/bin/uv export --no-dev --all-extras --format requirements-txt --output-file requirements.txt&lt;br /&gt;
sudo -Hu paperless /opt/paperless/venv/bin/pip3 install -r requirements.txt&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
sudo -Hu paperless cp paperless.conf.example paperless.conf&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
sudo -Hu paperless vi paperless.conf&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
PAPERLESS_SECRET_KEY=change-me&lt;br /&gt;
&lt;br /&gt;
PAPERLESS_CONSUMPTION_DIR=/mnt/paperless-store/consume&lt;br /&gt;
PAPERLESS_DATA_DIR=/mnt/paperless-store/data&lt;br /&gt;
PAPERLESS_MEDIA_ROOT=/mnt/paperless-store/media&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;Wenn du postgresql statt sqlite verwendet möchtest:&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
PAPERLESS_DBHOST=127.0.0.1 # Use postgresql&lt;br /&gt;
PAPERLESS_DBNAME=db_paperless&lt;br /&gt;
#PAPERLESS_DBUSER=paperless&lt;br /&gt;
PAPERLESS_DBPASS=&amp;lt;password&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
sudo apt install postgresql&lt;br /&gt;
sudo -u postgres psql&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&amp;lt;syntaxhighlight lang=&amp;quot;sql&amp;quot;&amp;gt;&lt;br /&gt;
CREATE DATABASE db_paperless;&lt;br /&gt;
CREATE USER paperless WITH ENCRYPTED PASSWORD '&amp;lt;password&amp;gt;';&lt;br /&gt;
GRANT ALL ON DATABASE db_paperless TO paperless;&lt;br /&gt;
\c db_paperless&lt;br /&gt;
GRANT ALL ON SCHEMA public TO paperless;&lt;br /&gt;
\q&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;Frontend:&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
cd src-ui&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;'''Debian 11:'''&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
sudo curl -sL https://deb.nodesource.com/setup_18.x | sudo -E bash -&lt;br /&gt;
sudo apt install nodejs&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;'''Debian 12:'''&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
sudo apt install nodejs&lt;br /&gt;
sudo apt install npm&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
sudo npm install -g @angular/cli&lt;br /&gt;
sudo npm install -g pnpm&lt;br /&gt;
sudo -Hu paperless pnpm install&lt;br /&gt;
&lt;br /&gt;
sudo -Hu paperless ng build --configuration production&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;Backend:&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
cd ../src&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;'''Debian 11:'''&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
sudo -Hu paperless python3 manage.py migrate&lt;br /&gt;
sudo -Hu paperless python3 manage.py createsuperuser&lt;br /&gt;
sudo -Hu paperless python3 manage.py collectstatic&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;'''Debian 12:'''&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
sudo -Hu paperless /opt/paperless/venv/bin/python3 manage.py migrate&lt;br /&gt;
sudo -Hu paperless /opt/paperless/venv/bin/python3 manage.py createsuperuser&lt;br /&gt;
sudo -Hu paperless /opt/paperless/venv/bin/python3 manage.py collectstatic&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;Systemd Services anlegen:&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
cd ../scripts&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;'''Debian 12:'''&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
sudo vi paperless-consumer.service&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;ExcecStart ersetzen:&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
ExecStart=/opt/paperless/venv/bin/python3 manage.py document_consumer&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;/div&gt;</summary>
		<author><name>Robin Tönniges</name></author>
	</entry>
	<entry>
		<id>https://wiki.toenniges.de/index.php?title=Paperless-ngx_%22Bare_Metal%22_installieren_(Debian_11/12)&amp;diff=1818</id>
		<title>Paperless-ngx &quot;Bare Metal&quot; installieren (Debian 11/12)</title>
		<link rel="alternate" type="text/html" href="https://wiki.toenniges.de/index.php?title=Paperless-ngx_%22Bare_Metal%22_installieren_(Debian_11/12)&amp;diff=1818"/>
		<updated>2025-03-22T21:06:37Z</updated>

		<summary type="html">&lt;p&gt;Robin Tönniges: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Infobox&lt;br /&gt;
| Titel      = Testumgebung&lt;br /&gt;
| Bildname   = &lt;br /&gt;
| Bildbreite = &lt;br /&gt;
| Bildtext   = &lt;br /&gt;
| Stil            = 2&lt;br /&gt;
| Titelfarbe      = 6&lt;br /&gt;
| Abschnittsfarbe = &lt;br /&gt;
| Farbe           = &lt;br /&gt;
| Style           = &lt;br /&gt;
| Feldstyle       = &lt;br /&gt;
| Feldname1 = OS    | Daten1 = Debian 11.11/12.10&lt;br /&gt;
| Feldname3 = paperless-ngx (Dev)    | Daten3 = 2.15.0&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
Anleitung für die &amp;quot;Bare Metal&amp;quot; Installation von [https://docs.paperless-ngx.com/ paperless-ngx] mit dem Quellcode vom [https://github.com/paperless-ngx/paperless-ngx Dev-Branch] auf Debian 11 und 12.&lt;br /&gt;
==Abhängigkeiten installieren==&lt;br /&gt;
Das System auf den neusten Stand bringen:&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
sudo apt update&lt;br /&gt;
sudo apt upgrade&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
sudo apt install build-essential zlib1g-dev libncurses5-dev libgdbm-dev libnss3-dev libssl-dev libreadline-dev libffi-dev libpq-dev libsqlite3-dev wget libbz2-dev pkg-config libgdbm-compat-dev liblzma-dev tk-dev uuid-dev&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
===Python 3.11 installieren===&lt;br /&gt;
'''Debian 11:'''&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
wget https://www.python.org/ftp/python/3.11.11/Python-3.11.11.tgz&lt;br /&gt;
tar -xvf Python-3.11.11.tgz&lt;br /&gt;
cd Python-3.11.11&lt;br /&gt;
./configure --enable-optimizations&lt;br /&gt;
make -j$(nproc)&lt;br /&gt;
sudo make install&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
'''Debian 12:'''&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
sudo apt install python3.11 python3.11-venv python3-pip&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
===Ghostscript 10.05 installieren===&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
wget https://github.com/ArtifexSoftware/ghostpdl-downloads/releases/download/gs10050/ghostscript-10.05.0.tar.gz&lt;br /&gt;
tar -xvf ghostscript-10.05.0.tar.gz&lt;br /&gt;
cd ghostscript-10.05.0&lt;br /&gt;
./configure --without-x&lt;br /&gt;
make -j$(nproc)&lt;br /&gt;
sudo make install&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
sudo apt install imagemagick fonts-liberation gnupg libpq-dev default-libmysqlclient-dev pkg-config libmagic-dev libzbar0 poppler-utils&lt;br /&gt;
sudo apt install unpaper icc-profiles-free qpdf liblept5 libxml2 pngquant zlib1g tesseract-ocr python3-setuptools python3-wheel&lt;br /&gt;
&lt;br /&gt;
sudo apt install redis git curl&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;Paperless Benutzer erstellen und Repository klonen:&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
sudo adduser paperless --system --home /opt/paperless --group&lt;br /&gt;
cd /opt/paperless&lt;br /&gt;
sudo -Hu paperless git clone https://github.com/paperless-ngx/paperless-ngx.git .&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
sudo -Hu paperless mkdir consume media&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;'''Debian 11:'''&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
sudo -Hu paperless pip3 install uv&lt;br /&gt;
sudo -Hu paperless uv export --no-dev --all-extras --format requirements-txt --output-file requirements.txt&lt;br /&gt;
sudo -Hu paperless pip3 install -r requirements.txt&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;'''Debian 12:'''&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
sudo -Hu paperless python3 -m venv /opt/paperless/venv&lt;br /&gt;
sudo -Hu paperless /opt/paperless/venv/bin/pip3 install uv&lt;br /&gt;
sudo -Hu paperless /opt/paperless/venv/bin/uv export --no-dev --all-extras --format requirements-txt --output-file requirements.txt&lt;br /&gt;
sudo -Hu paperless /opt/paperless/venv/bin/pip3 install -r requirements.txt&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
sudo -Hu paperless cp paperless.conf.example paperless.conf&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
sudo -Hu paperless vi paperless.conf&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
PAPERLESS_SECRET_KEY=change-me&lt;br /&gt;
&lt;br /&gt;
PAPERLESS_CONSUMPTION_DIR=/mnt/paperless-store/consume&lt;br /&gt;
PAPERLESS_DATA_DIR=/mnt/paperless-store/data&lt;br /&gt;
PAPERLESS_MEDIA_ROOT=/mnt/paperless-store/media&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;Wenn du postgresql statt sqlite verwendet möchtest:&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
PAPERLESS_DBHOST=127.0.0.1 # Use postgresql&lt;br /&gt;
PAPERLESS_DBNAME=db_paperless&lt;br /&gt;
#PAPERLESS_DBUSER=paperless&lt;br /&gt;
PAPERLESS_DBPASS=&amp;lt;password&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
sudo apt install postgresql&lt;br /&gt;
sudo -u postgres psql&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&amp;lt;syntaxhighlight lang=&amp;quot;sql&amp;quot;&amp;gt;&lt;br /&gt;
CREATE DATABASE db_paperless;&lt;br /&gt;
CREATE USER paperless WITH ENCRYPTED PASSWORD '&amp;lt;password&amp;gt;';&lt;br /&gt;
GRANT ALL ON DATABASE db_paperless TO paperless;&lt;br /&gt;
\c db_paperless&lt;br /&gt;
GRANT ALL ON SCHEMA public TO paperless;&lt;br /&gt;
\q&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;Frontend Build&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
cd src-ui&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;'''Debian 11:'''&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
sudo curl -sL https://deb.nodesource.com/setup_18.x | sudo -E bash -&lt;br /&gt;
sudo apt install nodejs&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;'''Debian 12:'''&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
sudo apt install nodejs&lt;br /&gt;
sudo apt install npm&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
sudo npm install -g @angular/cli&lt;br /&gt;
sudo npm install -g pnpm&lt;br /&gt;
sudo -Hu paperless pnpm install&lt;br /&gt;
&lt;br /&gt;
sudo -Hu paperless ng build --configuration production&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;/div&gt;</summary>
		<author><name>Robin Tönniges</name></author>
	</entry>
	<entry>
		<id>https://wiki.toenniges.de/index.php?title=Paperless-ngx_%22Bare_Metal%22_installieren_(Debian_11/12)&amp;diff=1817</id>
		<title>Paperless-ngx &quot;Bare Metal&quot; installieren (Debian 11/12)</title>
		<link rel="alternate" type="text/html" href="https://wiki.toenniges.de/index.php?title=Paperless-ngx_%22Bare_Metal%22_installieren_(Debian_11/12)&amp;diff=1817"/>
		<updated>2025-03-21T20:09:24Z</updated>

		<summary type="html">&lt;p&gt;Robin Tönniges: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Infobox&lt;br /&gt;
| Titel      = Testumgebung&lt;br /&gt;
| Bildname   = &lt;br /&gt;
| Bildbreite = &lt;br /&gt;
| Bildtext   = &lt;br /&gt;
| Stil            = 2&lt;br /&gt;
| Titelfarbe      = 6&lt;br /&gt;
| Abschnittsfarbe = &lt;br /&gt;
| Farbe           = &lt;br /&gt;
| Style           = &lt;br /&gt;
| Feldstyle       = &lt;br /&gt;
| Feldname1 = OS    | Daten1 = Debian 11.11/12.10&lt;br /&gt;
| Feldname3 = paperless-ngx (Dev)    | Daten3 = 2.15.0&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
Anleitung für die &amp;quot;Bare Metal&amp;quot; Installation von [https://docs.paperless-ngx.com/ paperless-ngx] mit dem Quellcode vom [https://github.com/paperless-ngx/paperless-ngx Dev-Branch] auf Debian 11 und 12.&lt;br /&gt;
==Abhängigkeiten installieren==&lt;br /&gt;
Das System auf den neusten Stand bringen:&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
sudo apt update&lt;br /&gt;
sudo apt upgrade&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
sudo apt install build-essential zlib1g-dev libncurses5-dev libgdbm-dev libnss3-dev libssl-dev libreadline-dev libffi-dev libpq-dev libsqlite3-dev wget libbz2-dev pkg-config libgdbm-compat-dev liblzma-dev tk-dev uuid-dev&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
===Python 3.11 installieren===&lt;br /&gt;
'''Debian 11:'''&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
wget https://www.python.org/ftp/python/3.11.11/Python-3.11.11.tgz&lt;br /&gt;
tar -xvf Python-3.11.11.tgz&lt;br /&gt;
cd Python-3.11.11&lt;br /&gt;
./configure --enable-optimizations&lt;br /&gt;
make -j$(nproc)&lt;br /&gt;
sudo make install&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
'''Debian 12:'''&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
sudo apt install python3.11 python3.11-venv python3-pip&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
===Ghostscript 10.05 installieren===&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
wget https://github.com/ArtifexSoftware/ghostpdl-downloads/releases/download/gs10050/ghostscript-10.05.0.tar.gz&lt;br /&gt;
tar -xvf ghostscript-10.05.0.tar.gz&lt;br /&gt;
cd ghostscript-10.05.0&lt;br /&gt;
./configure --without-x&lt;br /&gt;
make -j$(nproc)&lt;br /&gt;
sudo make install&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
sudo apt install imagemagick fonts-liberation gnupg libpq-dev default-libmysqlclient-dev pkg-config libmagic-dev libzbar0 poppler-utils&lt;br /&gt;
sudo apt install unpaper icc-profiles-free qpdf liblept5 libxml2 pngquant zlib1g tesseract-ocr python3-setuptools python3-wheel&lt;br /&gt;
&lt;br /&gt;
sudo apt install redis git curl postgresql&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;Paperless Benutzer erstellen und Repository klonen:&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
sudo adduser paperless --system --home /opt/paperless --group&lt;br /&gt;
cd /opt/paperless&lt;br /&gt;
sudo -Hu paperless git clone https://github.com/paperless-ngx/paperless-ngx.git .&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
sudo -Hu paperless mkdir consume media&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;'''Debian 11:'''&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
sudo -Hu paperless pip3 install uv&lt;br /&gt;
sudo -Hu paperless uv export --no-dev --all-extras --format requirements-txt --output-file requirements.txt&lt;br /&gt;
sudo -Hu paperless pip3 install -r requirements.txt&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;'''Debian 12:'''&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
sudo -Hu paperless python3 -m venv /opt/paperless/venv&lt;br /&gt;
sudo -Hu paperless /opt/paperless/venv/bin/pip3 install uv&lt;br /&gt;
sudo -Hu paperless /opt/paperless/venv/bin/uv export --no-dev --all-extras --format requirements-txt --output-file requirements.txt&lt;br /&gt;
sudo -Hu paperless /opt/paperless/venv/bin/pip3 install -r requirements.txt&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;/div&gt;</summary>
		<author><name>Robin Tönniges</name></author>
	</entry>
	<entry>
		<id>https://wiki.toenniges.de/index.php?title=Paperless-ngx_%22Bare_Metal%22_installieren_(Debian_11/12)&amp;diff=1816</id>
		<title>Paperless-ngx &quot;Bare Metal&quot; installieren (Debian 11/12)</title>
		<link rel="alternate" type="text/html" href="https://wiki.toenniges.de/index.php?title=Paperless-ngx_%22Bare_Metal%22_installieren_(Debian_11/12)&amp;diff=1816"/>
		<updated>2025-03-21T20:08:37Z</updated>

		<summary type="html">&lt;p&gt;Robin Tönniges: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Infobox&lt;br /&gt;
| Titel      = Testumgebung&lt;br /&gt;
| Bildname   = &lt;br /&gt;
| Bildbreite = &lt;br /&gt;
| Bildtext   = &lt;br /&gt;
| Stil            = 2&lt;br /&gt;
| Titelfarbe      = 6&lt;br /&gt;
| Abschnittsfarbe = &lt;br /&gt;
| Farbe           = &lt;br /&gt;
| Style           = &lt;br /&gt;
| Feldstyle       = &lt;br /&gt;
| Feldname1 = OS    | Daten1 = Debian 11.11/12.10&lt;br /&gt;
| Feldname3 = paperless-ngx (Dev)    | Daten3 = 2.15.0&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
Anleitung für die &amp;quot;Bare Metal&amp;quot; Installation von [https://docs.paperless-ngx.com/ paperless-ngx] mit dem Quellcode vom [https://github.com/paperless-ngx/paperless-ngx Dev-Branch].&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Unterschiede in der Installation zwischen Debian 11 und 12 sind hervorgehoben.&lt;br /&gt;
&lt;br /&gt;
==Abhängigkeiten installieren==&lt;br /&gt;
Das System auf den neusten Stand bringen:&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
sudo apt update&lt;br /&gt;
sudo apt upgrade&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
sudo apt install build-essential zlib1g-dev libncurses5-dev libgdbm-dev libnss3-dev libssl-dev libreadline-dev libffi-dev libpq-dev libsqlite3-dev wget libbz2-dev pkg-config libgdbm-compat-dev liblzma-dev tk-dev uuid-dev&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
===Python 3.11 installieren===&lt;br /&gt;
'''Debian 11:'''&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
wget https://www.python.org/ftp/python/3.11.11/Python-3.11.11.tgz&lt;br /&gt;
tar -xvf Python-3.11.11.tgz&lt;br /&gt;
cd Python-3.11.11&lt;br /&gt;
./configure --enable-optimizations&lt;br /&gt;
make -j$(nproc)&lt;br /&gt;
sudo make install&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
'''Debian 12:'''&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
sudo apt install python3.11 python3.11-venv python3-pip&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
===Ghostscript 10.05 installieren===&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
wget https://github.com/ArtifexSoftware/ghostpdl-downloads/releases/download/gs10050/ghostscript-10.05.0.tar.gz&lt;br /&gt;
tar -xvf ghostscript-10.05.0.tar.gz&lt;br /&gt;
cd ghostscript-10.05.0&lt;br /&gt;
./configure --without-x&lt;br /&gt;
make -j$(nproc)&lt;br /&gt;
sudo make install&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
sudo apt install imagemagick fonts-liberation gnupg libpq-dev default-libmysqlclient-dev pkg-config libmagic-dev libzbar0 poppler-utils&lt;br /&gt;
sudo apt install unpaper icc-profiles-free qpdf liblept5 libxml2 pngquant zlib1g tesseract-ocr python3-setuptools python3-wheel&lt;br /&gt;
&lt;br /&gt;
sudo apt install redis git curl postgresql&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;Paperless Benutzer erstellen und Repository klonen:&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
sudo adduser paperless --system --home /opt/paperless --group&lt;br /&gt;
cd /opt/paperless&lt;br /&gt;
sudo -Hu paperless git clone https://github.com/paperless-ngx/paperless-ngx.git .&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
sudo -Hu paperless mkdir consume media&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;'''Debian 11:'''&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
sudo -Hu paperless pip3 install uv&lt;br /&gt;
sudo -Hu paperless uv export --no-dev --all-extras --format requirements-txt --output-file requirements.txt&lt;br /&gt;
sudo -Hu paperless pip3 install -r requirements.txt&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;'''Debian 12:'''&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
sudo -Hu paperless python3 -m venv /opt/paperless/venv&lt;br /&gt;
sudo -Hu paperless /opt/paperless/venv/bin/pip3 install uv&lt;br /&gt;
sudo -Hu paperless /opt/paperless/venv/bin/uv export --no-dev --all-extras --format requirements-txt --output-file requirements.txt&lt;br /&gt;
sudo -Hu paperless /opt/paperless/venv/bin/pip3 install -r requirements.txt&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;/div&gt;</summary>
		<author><name>Robin Tönniges</name></author>
	</entry>
	<entry>
		<id>https://wiki.toenniges.de/index.php?title=Paperless-ngx_%22Bare_Metal%22_installieren_(Debian_11/12)&amp;diff=1815</id>
		<title>Paperless-ngx &quot;Bare Metal&quot; installieren (Debian 11/12)</title>
		<link rel="alternate" type="text/html" href="https://wiki.toenniges.de/index.php?title=Paperless-ngx_%22Bare_Metal%22_installieren_(Debian_11/12)&amp;diff=1815"/>
		<updated>2025-03-21T20:05:36Z</updated>

		<summary type="html">&lt;p&gt;Robin Tönniges: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Infobox&lt;br /&gt;
| Titel      = Testumgebung&lt;br /&gt;
| Bildname   = &lt;br /&gt;
| Bildbreite = &lt;br /&gt;
| Bildtext   = &lt;br /&gt;
| Stil            = 2&lt;br /&gt;
| Titelfarbe      = 6&lt;br /&gt;
| Abschnittsfarbe = &lt;br /&gt;
| Farbe           = &lt;br /&gt;
| Style           = &lt;br /&gt;
| Feldstyle       = &lt;br /&gt;
| Feldname1 = OS    | Daten1 = Debian 11.11/12.10&lt;br /&gt;
| Feldname3 = paperless-ngx (Dev)    | Daten3 = 2.15.0&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
Anleitung für die &amp;quot;Bare Metal&amp;quot; Installation von [https://docs.paperless-ngx.com/ paperless-ngx] mit dem Quellcode vom [https://github.com/paperless-ngx/paperless-ngx Dev-Branch].&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Unterschiede in der Installation zwischen Debian 11 und 12 sind hervorgehoben.&lt;br /&gt;
&lt;br /&gt;
==Abhängigkeiten installieren==&lt;br /&gt;
Das System auf den neusten Stand bringen:&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
sudo apt update&lt;br /&gt;
sudo apt upgrade&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
sudo apt install build-essential zlib1g-dev libncurses5-dev libgdbm-dev libnss3-dev libssl-dev libreadline-dev libffi-dev libpq-dev libsqlite3-dev wget libbz2-dev pkg-config libgdbm-compat-dev liblzma-dev tk-dev uuid-dev&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
===Python 3.11 installieren===&lt;br /&gt;
'''Debian 12:'''&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
sudo apt install python3.11 python3.11-venv python3-pip&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
'''Debian 11:'''&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
wget https://www.python.org/ftp/python/3.11.11/Python-3.11.11.tgz&lt;br /&gt;
tar -xvf Python-3.11.11.tgz&lt;br /&gt;
cd Python-3.11.11&lt;br /&gt;
./configure --enable-optimizations&lt;br /&gt;
make -j$(nproc)&lt;br /&gt;
sudo make install&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
===Ghostscript 10.05 installieren===&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
wget https://github.com/ArtifexSoftware/ghostpdl-downloads/releases/download/gs10050/ghostscript-10.05.0.tar.gz&lt;br /&gt;
tar -xvf ghostscript-10.05.0.tar.gz&lt;br /&gt;
cd ghostscript-10.05.0&lt;br /&gt;
./configure --without-x&lt;br /&gt;
make -j$(nproc)&lt;br /&gt;
sudo make install&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;/div&gt;</summary>
		<author><name>Robin Tönniges</name></author>
	</entry>
	<entry>
		<id>https://wiki.toenniges.de/index.php?title=Paperless-ngx_%22Bare_Metal%22_installieren_(Debian_11/12)&amp;diff=1814</id>
		<title>Paperless-ngx &quot;Bare Metal&quot; installieren (Debian 11/12)</title>
		<link rel="alternate" type="text/html" href="https://wiki.toenniges.de/index.php?title=Paperless-ngx_%22Bare_Metal%22_installieren_(Debian_11/12)&amp;diff=1814"/>
		<updated>2025-03-21T20:04:38Z</updated>

		<summary type="html">&lt;p&gt;Robin Tönniges: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Infobox&lt;br /&gt;
| Titel      = Testumgebung&lt;br /&gt;
| Bildname   = &lt;br /&gt;
| Bildbreite = &lt;br /&gt;
| Bildtext   = &lt;br /&gt;
| Stil            = 2&lt;br /&gt;
| Titelfarbe      = 6&lt;br /&gt;
| Abschnittsfarbe = &lt;br /&gt;
| Farbe           = &lt;br /&gt;
| Style           = &lt;br /&gt;
| Feldstyle       = &lt;br /&gt;
| Feldname1 = OS    | Daten1 = Debian 11.11/12.10&lt;br /&gt;
| Feldname3 = paperless-ngx (Dev)    | Daten3 = 2.15.0&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
Anleitung für die &amp;quot;Bare Metal&amp;quot; Installation von [https://docs.paperless-ngx.com/ paperless-ngx] mit dem Quellcode vom [https://github.com/paperless-ngx/paperless-ngx Dev-Branch].&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Unterschiede in der Installation zwischen Debian 11 und 12 sind hervorgehoben.&lt;br /&gt;
&lt;br /&gt;
==Abhängigkeiten installieren==&lt;br /&gt;
Das System auf den neusten Stand bringen:&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
sudo apt update&lt;br /&gt;
sudo apt upgrade&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
sudo apt install build-essential zlib1g-dev libncurses5-dev libgdbm-dev libnss3-dev libssl-dev libreadline-dev libffi-dev libpq-dev libsqlite3-dev wget libbz2-dev pkg-config libgdbm-compat-dev liblzma-dev tk-dev uuid-dev&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
===Python 3.11 installieren===&lt;br /&gt;
'''Debian 12:'''&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
sudo apt install python3.11 python3.11-venv python3-pip&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
'''Debian 11:'''&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
wget https://www.python.org/ftp/python/3.11.11/Python-3.11.11.tgz&lt;br /&gt;
tar -xvf Python-3.11.11.tgz&lt;br /&gt;
cd Python-3.11.11&lt;br /&gt;
./configure --enable-optimizations&lt;br /&gt;
make -j$(nproc)&lt;br /&gt;
sudo make install&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;Paketverwaltung aktualisieren, openjdk8 installieren und openjdk11 &amp;amp; 17 blockieren:&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
apt update&lt;br /&gt;
apt install adoptopenjdk-8-hotspot&lt;br /&gt;
apt-mark hold openjdk-11-* &amp;amp;&amp;amp; apt-mark hold openjdk-17-*&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;/div&gt;</summary>
		<author><name>Robin Tönniges</name></author>
	</entry>
	<entry>
		<id>https://wiki.toenniges.de/index.php?title=Paperless-ngx_%22Bare_Metal%22_installieren_(Debian_11/12)&amp;diff=1813</id>
		<title>Paperless-ngx &quot;Bare Metal&quot; installieren (Debian 11/12)</title>
		<link rel="alternate" type="text/html" href="https://wiki.toenniges.de/index.php?title=Paperless-ngx_%22Bare_Metal%22_installieren_(Debian_11/12)&amp;diff=1813"/>
		<updated>2025-03-21T19:57:40Z</updated>

		<summary type="html">&lt;p&gt;Robin Tönniges: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Infobox&lt;br /&gt;
| Titel      = Testumgebung&lt;br /&gt;
| Bildname   = &lt;br /&gt;
| Bildbreite = &lt;br /&gt;
| Bildtext   = &lt;br /&gt;
| Stil            = 2&lt;br /&gt;
| Titelfarbe      = 6&lt;br /&gt;
| Abschnittsfarbe = &lt;br /&gt;
| Farbe           = &lt;br /&gt;
| Style           = &lt;br /&gt;
| Feldstyle       = &lt;br /&gt;
| Feldname1 = OS    | Daten1 = Debian 11.11/12.10&lt;br /&gt;
| Feldname3 = paperless-ngx (Dev)    | Daten3 = 2.15.0&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
Anleitung für die &amp;quot;Bare Metal&amp;quot; Installation von [https://docs.paperless-ngx.com/ paperless-ngx] mit dem Quellcode vom [https://github.com/paperless-ngx/paperless-ngx Dev-Branch].&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Unterschiede in der Installation zwischen Debian 11 und 12 sind hervorgehoben.&lt;br /&gt;
&lt;br /&gt;
==Abhängigkeiten installieren==&lt;br /&gt;
Das System auf den neusten Stand bringen:&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
sudo apt update&lt;br /&gt;
sudo apt upgrade&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;gnupg und software-properties-common (Für add-apt-repository) installieren:&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
apt install gnupg software-properties-common&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
===OpenJDK8 installieren===&lt;br /&gt;
Repository hinzufügen und zugehörigen GPG Key installieren:&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
wget -qO - https://adoptopenjdk.jfrog.io/adoptopenjdk/api/gpg/key/public | apt-key add -&lt;br /&gt;
add-apt-repository --yes https://adoptopenjdk.jfrog.io/adoptopenjdk/deb/&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;Paketverwaltung aktualisieren, openjdk8 installieren und openjdk11 &amp;amp; 17 blockieren:&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
apt update&lt;br /&gt;
apt install adoptopenjdk-8-hotspot&lt;br /&gt;
apt-mark hold openjdk-11-* &amp;amp;&amp;amp; apt-mark hold openjdk-17-*&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;/div&gt;</summary>
		<author><name>Robin Tönniges</name></author>
	</entry>
	<entry>
		<id>https://wiki.toenniges.de/index.php?title=Paperless-ngx_%22Bare_Metal%22_installieren_(Debian_11/12)&amp;diff=1812</id>
		<title>Paperless-ngx &quot;Bare Metal&quot; installieren (Debian 11/12)</title>
		<link rel="alternate" type="text/html" href="https://wiki.toenniges.de/index.php?title=Paperless-ngx_%22Bare_Metal%22_installieren_(Debian_11/12)&amp;diff=1812"/>
		<updated>2025-03-21T19:55:15Z</updated>

		<summary type="html">&lt;p&gt;Robin Tönniges: Die Seite wurde neu angelegt: „{{Infobox | Titel      = Testumgebung | Bildname   =  | Bildbreite =  | Bildtext   =  | Stil            = 2 | Titelfarbe      = 6 | Abschnittsfarbe =  | Farbe           =  | Style           =  | Feldstyle       =  | Feldname1 = OS    | Daten1 = Debian 11.11/12.10 | Feldname3 = paperless-ngx (Dev)    | Daten3 = 2.15.0 }}  Anleitung für die &amp;quot;Bare Metal&amp;quot; Installation von [https://docs.paperless-ngx.com/ paperless-ngx] mit dem Quellcode vom [https://github.c…“&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Infobox&lt;br /&gt;
| Titel      = Testumgebung&lt;br /&gt;
| Bildname   = &lt;br /&gt;
| Bildbreite = &lt;br /&gt;
| Bildtext   = &lt;br /&gt;
| Stil            = 2&lt;br /&gt;
| Titelfarbe      = 6&lt;br /&gt;
| Abschnittsfarbe = &lt;br /&gt;
| Farbe           = &lt;br /&gt;
| Style           = &lt;br /&gt;
| Feldstyle       = &lt;br /&gt;
| Feldname1 = OS    | Daten1 = Debian 11.11/12.10&lt;br /&gt;
| Feldname3 = paperless-ngx (Dev)    | Daten3 = 2.15.0&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
Anleitung für die &amp;quot;Bare Metal&amp;quot; Installation von [https://docs.paperless-ngx.com/ paperless-ngx] mit dem Quellcode vom [https://github.com/paperless-ngx/paperless-ngx Dev-Branch].&lt;/div&gt;</summary>
		<author><name>Robin Tönniges</name></author>
	</entry>
	<entry>
		<id>https://wiki.toenniges.de/index.php?title=Debian_11_auf_Raspberry_Pi_4_installieren&amp;diff=1811</id>
		<title>Debian 11 auf Raspberry Pi 4 installieren</title>
		<link rel="alternate" type="text/html" href="https://wiki.toenniges.de/index.php?title=Debian_11_auf_Raspberry_Pi_4_installieren&amp;diff=1811"/>
		<updated>2025-01-11T05:28:24Z</updated>

		<summary type="html">&lt;p&gt;Robin Tönniges: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Dies ist eine Anleitung um Debian 11 '''&amp;quot;Vanilla&amp;quot;''' auf dem Raspberry Pi zu installieren, welches nicht für den Raspberry Pi optimiert ist.&lt;br /&gt;
&lt;br /&gt;
'''Achtung: Einige Raspberry Pi spezifische Funktionen, wie z.B. WLAN oder ein über I2C angesteuerter Lüfter (z.B. beim PoE HAT) funktionieren nicht.'''&lt;br /&gt;
&lt;br /&gt;
Am sinnvollsten ist es direkt das aktuelle [https://downloads.raspberrypi.org/raspios_arm64/images/ Raspberry Pi OS 64 Bit Image] zu nutzen (&amp;lt;s&amp;gt;Basiert auf Debian 11 &amp;quot;Bullseye&amp;quot;&amp;lt;/s&amp;gt;).&lt;br /&gt;
&lt;br /&gt;
'''''Update: Die aktuellste Version von Raspberry OS 64 Bit basiert auf Debian 12 Bookworm!'''''&lt;br /&gt;
&lt;br /&gt;
[[Datei:Rufus debian 11.png|mini]]&lt;br /&gt;
&lt;br /&gt;
=== Image erstellen ===&lt;br /&gt;
'''[https://cdimage.debian.org/cdimage/release/current/arm64/iso-cd/ Aktuelles Debian Image herunterladen]'''&lt;br /&gt;
&lt;br /&gt;
'''[https://github.com/pftf/RPi4/releases Raspberry Pi 4 UEFI Firmware Image herunterladen]'''&lt;br /&gt;
&lt;br /&gt;
Um daraus ein Image für den Raspberry zu erzeugen brauchen wir die [https://rufus.ie/de/ Software Rufus]&lt;br /&gt;
&lt;br /&gt;
* Zuerst die SD-Karte, den USB-Stick oder was auch immer mit dem PC verbinden.&lt;br /&gt;
&lt;br /&gt;
''Sollte das externe Laufwerk nicht erkannt werden, muss unter '''Erweiterte Laufwerkseigenschaften''' der Haken bei '''USB-Festplatten anzeigen''' gesetzt werden.''&lt;br /&gt;
&lt;br /&gt;
* Mit '''AUSWAHL''' das Debian 11 Image auswählen&lt;br /&gt;
* Danach mit '''STRG+AUSWAHL''' die '''RPi-UEFI-Firmware.zip''' auswählen (Mit STRG+AUSWAHL wird ein zweites Image hinzugefügt)&lt;br /&gt;
* Bei '''Partitionsschema''', '''GPT''' auswählen&lt;br /&gt;
* Danach auf '''START'''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Der Raspberry kann nun wie gewohnt mit dem Datenträger verbunden werden und sollte automatisch Booten.&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== RAM Begrenzung deaktivieren ===&lt;br /&gt;
Das oben erstelle Image hat standardmäßig eine RAM-Begrenzung auf 3GB.&lt;br /&gt;
&lt;br /&gt;
Falls der genutzte Raspberry Pi mehr RAM hat und man sinnvollerweise vorhat ihn komplett zu nutzen, kann dies wie folgt eingestellt werden...&lt;br /&gt;
&lt;br /&gt;
Während der Raspberry hochfährt ESC drücken um ins UEFI BIOS zu kommen.&lt;br /&gt;
&lt;br /&gt;
Im Menü dann -&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''Device Manager''' -&amp;gt; '''Raspberry Pi Configuration''' -&amp;gt; '''Advanced Configuration''' -&amp;gt; '''Limit RAM to 3GB''' auf '''Disable'''&lt;br /&gt;
&lt;br /&gt;
== Quellen ==&lt;br /&gt;
https://www.raspberrypi.org/forums/viewtopic.php?t=282839&lt;br /&gt;
&lt;br /&gt;
== Kommentare ==&lt;br /&gt;
&amp;lt;comments nocache=true /&amp;gt;&lt;br /&gt;
__KEIN_INHALTSVERZEICHNIS__&lt;/div&gt;</summary>
		<author><name>Robin Tönniges</name></author>
	</entry>
	<entry>
		<id>https://wiki.toenniges.de/index.php?title=Debian_11_auf_Raspberry_Pi_4_installieren&amp;diff=1810</id>
		<title>Debian 11 auf Raspberry Pi 4 installieren</title>
		<link rel="alternate" type="text/html" href="https://wiki.toenniges.de/index.php?title=Debian_11_auf_Raspberry_Pi_4_installieren&amp;diff=1810"/>
		<updated>2025-01-11T05:27:12Z</updated>

		<summary type="html">&lt;p&gt;Robin Tönniges: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Dies ist eine Anleitung um Debian 11 '''&amp;quot;Vanilla&amp;quot;''' auf dem Raspberry Pi zu installieren, welches nicht für den Raspberry Pi optimiert ist.&lt;br /&gt;
&lt;br /&gt;
'''Achtung: Einige Raspberry Pi spezifische Funktionen, wie z.B. WLAN oder ein über I2C angesteuerter Lüfter (z.B. beim PoE HAT) funktionieren nicht.'''&lt;br /&gt;
&lt;br /&gt;
Am sinnvollsten ist es direkt das aktuelle [https://downloads.raspberrypi.org/raspios_arm64/images/ Raspberry Pi OS 64 Bit Image] zu nutzen (Basiert auf Debian 11 &amp;quot;Bullseye&amp;quot;).&lt;br /&gt;
&lt;br /&gt;
'''''Update: Die aktuellste Version von Raspberry OS 64 Bit basiert auf Debian 12 Bookworm!'''''&lt;br /&gt;
&lt;br /&gt;
[[Datei:Rufus debian 11.png|mini]]&lt;br /&gt;
&lt;br /&gt;
=== Image erstellen ===&lt;br /&gt;
'''[https://cdimage.debian.org/cdimage/release/current/arm64/iso-cd/ Aktuelles Debian Image herunterladen]'''&lt;br /&gt;
&lt;br /&gt;
'''[https://github.com/pftf/RPi4/releases Raspberry Pi 4 UEFI Firmware Image herunterladen]'''&lt;br /&gt;
&lt;br /&gt;
Um daraus ein Image für den Raspberry zu erzeugen brauchen wir die [https://rufus.ie/de/ Software Rufus]&lt;br /&gt;
&lt;br /&gt;
* Zuerst die SD-Karte, den USB-Stick oder was auch immer mit dem PC verbinden.&lt;br /&gt;
&lt;br /&gt;
''Sollte das externe Laufwerk nicht erkannt werden, muss unter '''Erweiterte Laufwerkseigenschaften''' der Haken bei '''USB-Festplatten anzeigen''' gesetzt werden.''&lt;br /&gt;
&lt;br /&gt;
* Mit '''AUSWAHL''' das Debian 11 Image auswählen&lt;br /&gt;
* Danach mit '''STRG+AUSWAHL''' die '''RPi-UEFI-Firmware.zip''' auswählen (Mit STRG+AUSWAHL wird ein zweites Image hinzugefügt)&lt;br /&gt;
* Bei '''Partitionsschema''', '''GPT''' auswählen&lt;br /&gt;
* Danach auf '''START'''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Der Raspberry kann nun wie gewohnt mit dem Datenträger verbunden werden und sollte automatisch Booten.&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== RAM Begrenzung deaktivieren ===&lt;br /&gt;
Das oben erstelle Image hat standardmäßig eine RAM-Begrenzung auf 3GB.&lt;br /&gt;
&lt;br /&gt;
Falls der genutzte Raspberry Pi mehr RAM hat und man sinnvollerweise vorhat ihn komplett zu nutzen, kann dies wie folgt eingestellt werden...&lt;br /&gt;
&lt;br /&gt;
Während der Raspberry hochfährt ESC drücken um ins UEFI BIOS zu kommen.&lt;br /&gt;
&lt;br /&gt;
Im Menü dann -&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''Device Manager''' -&amp;gt; '''Raspberry Pi Configuration''' -&amp;gt; '''Advanced Configuration''' -&amp;gt; '''Limit RAM to 3GB''' auf '''Disable'''&lt;br /&gt;
&lt;br /&gt;
== Quellen ==&lt;br /&gt;
https://www.raspberrypi.org/forums/viewtopic.php?t=282839&lt;br /&gt;
&lt;br /&gt;
== Kommentare ==&lt;br /&gt;
&amp;lt;comments nocache=true /&amp;gt;&lt;br /&gt;
__KEIN_INHALTSVERZEICHNIS__&lt;/div&gt;</summary>
		<author><name>Robin Tönniges</name></author>
	</entry>
	<entry>
		<id>https://wiki.toenniges.de/index.php?title=Kubernetes_Dashboard_mit_Keycloak_OIDC&amp;diff=1809</id>
		<title>Kubernetes Dashboard mit Keycloak OIDC</title>
		<link rel="alternate" type="text/html" href="https://wiki.toenniges.de/index.php?title=Kubernetes_Dashboard_mit_Keycloak_OIDC&amp;diff=1809"/>
		<updated>2025-01-11T05:22:29Z</updated>

		<summary type="html">&lt;p&gt;Robin Tönniges: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Infobox&lt;br /&gt;
| Titel      = Testumgebung&lt;br /&gt;
| Bildname   = &lt;br /&gt;
| Bildbreite = &lt;br /&gt;
| Bildtext   = &lt;br /&gt;
| Stil            = 2&lt;br /&gt;
| Titelfarbe      = 6&lt;br /&gt;
| Abschnittsfarbe = &lt;br /&gt;
| Farbe           = &lt;br /&gt;
| Style           = &lt;br /&gt;
| Feldstyle       = &lt;br /&gt;
| Feldname1 = OS    | Daten1 = AlmaLinux 8.7&lt;br /&gt;
| Feldname2 = Keycloak    | Daten2 = 20.0.2&lt;br /&gt;
| Feldname3 = Kubernetes    | Daten3 = 1.26.0&lt;br /&gt;
| Feldname4 = Kubenetes-Dashboard    | Daten4 = 2.7.0&lt;br /&gt;
| Feldname5 = MetalLB    | Daten5 = 0.13.7&lt;br /&gt;
| Feldname6 = Ingress-Nginx    | Daten6 = 1.5.1&lt;br /&gt;
| Feldname7 = OAUTH2-Proxy    | Daten7 = 7.4.0&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
=== API-Server konfigurieren ===&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
vi /etc/kubernetes/manifests/kube-apiserver.yaml&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&amp;lt;syntaxhighlight lang=&amp;quot;yaml&amp;quot; line=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
spec:&lt;br /&gt;
  containers:&lt;br /&gt;
  - command:&lt;br /&gt;
    - kube-apiserver&lt;br /&gt;
... &lt;br /&gt;
	- --oidc-issuer-url=https://&amp;lt;my.keycloak.server&amp;gt;/realms/&amp;lt;Realm-Name&amp;gt;&lt;br /&gt;
    - --oidc-client-id=k8s-cluster&lt;br /&gt;
    - --oidc-username-claim=email&lt;br /&gt;
    #- --oidc-ca-file=/path/to/oidc-ca.pem&lt;br /&gt;
	#- --oidc-username-prefix=-&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''Hinweis:'''&lt;br /&gt;
&lt;br /&gt;
''Wenn &amp;lt;code&amp;gt;oidc-username-claim&amp;lt;/code&amp;gt; '''NICHT''' 'email' ist, wird standardmäßig die 'issuer-url' als Präfix vor den Benutzer gestellt (z.B. https://&amp;lt;my.keycloak.server&amp;gt;/realms/&amp;lt;Realm-Name&amp;gt;:&amp;lt;username&amp;gt;).''&lt;br /&gt;
&lt;br /&gt;
''Um den Präfix zu deaktivieren muss bei &amp;lt;code&amp;gt;oidc-username-prefix&amp;lt;/code&amp;gt; der Wert '-' angegeben werden.''&lt;br /&gt;
&lt;br /&gt;
=== Load Balancer installieren ===&lt;br /&gt;
'# MetalLB installieren / Aktiviert den Service Typ &amp;quot;LoadBalancer&amp;quot; der sonst nur in Cloud Umgebungen verfügbar ist&lt;br /&gt;
&lt;br /&gt;
'# Bildet IPs aus dem Cluster in einen physischen Adressbereich des LANs&lt;br /&gt;
&lt;br /&gt;
==== Ports in der Firewall öffnen ====&lt;br /&gt;
Sowohl auf dem Controller als auch den Worker-Nodes&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
firewall-cmd --permanent --add-port=7472/tcp&lt;br /&gt;
firewall-cmd --permanent --add-port=7946/tcp&lt;br /&gt;
firewall-cmd --permanent --add-port=7946/udp&lt;br /&gt;
firewall-cmd --reload&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Installieren ====&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
kubectl apply -f https://raw.githubusercontent.com/metallb/metallb/v0.13.7/config/manifests/metallb-native.yaml&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
address_pool.yaml&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;yaml&amp;quot; line=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
apiVersion: metallb.io/v1beta1&lt;br /&gt;
kind: IPAddressPool&lt;br /&gt;
metadata:&lt;br /&gt;
  name: first-pool&lt;br /&gt;
  namespace: metallb-system&lt;br /&gt;
spec:&lt;br /&gt;
  addresses:&lt;br /&gt;
  - 192.168.1.240-192.168.1.250&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
l2_advert.yaml&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;yaml&amp;quot; line=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
apiVersion: metallb.io/v1beta1&lt;br /&gt;
kind: L2Advertisement&lt;br /&gt;
metadata:&lt;br /&gt;
  name: example&lt;br /&gt;
  namespace: metallb-system&lt;br /&gt;
  #- first-pool&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
IPAddressPools können explizit ausgewählt werden. Ohne Angabe werden alle Pools dem L2Advertisement zugeordnet.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
kubectl apply -f address_pool.yaml&lt;br /&gt;
kubectl apply -f l2_advert.yaml&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Reverse Proxy installieren (ingress-nginx) ===&lt;br /&gt;
Reverse Proxy um mehrere Domains auf einer IP erreichbar zu machen.&lt;br /&gt;
&lt;br /&gt;
values.yaml&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;yaml&amp;quot; line=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
controller:&lt;br /&gt;
  config:&lt;br /&gt;
    proxy-buffer-size: &amp;quot;8k&amp;quot;&lt;br /&gt;
    &lt;br /&gt;
    #extraArgs:&lt;br /&gt;
        #default-ssl-certificate: &amp;quot;default/my-tls-secret&amp;quot;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;'''Hinweise:'''&lt;br /&gt;
&lt;br /&gt;
''Bei Keycloak kann es vorkommen, dass mehr als 4 kb Daten über den Header gesendet werden.''&lt;br /&gt;
&lt;br /&gt;
''Wenn der Header zu groß wird, bekommt man einen Fehler (502).'' &lt;br /&gt;
&lt;br /&gt;
''Deswegen erhöhen wir diesen direkt während der Installation auf 8 kb.''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
''Für TLS benötigen wir ein 'Secret&amp;quot; mit dem &amp;quot;Privat Key&amp;quot; und dem &amp;quot;Public Certificate&amp;quot; für die Domain, die später für das Dashboard genutzt werden soll.''&lt;br /&gt;
&lt;br /&gt;
''Dieses kann man als Standard, direkt in der Config für Ingress-Nginx hinerlegen oder später im Ingress definieren.''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Tipp:'''&lt;br /&gt;
&lt;br /&gt;
Wenn man bei &amp;lt;code&amp;gt;default-ssl-certificate&amp;lt;/code&amp;gt; ein Wildcard-Zertifikat (z.B. *.my-cluster.host) für den Cluster hinterlegt, &lt;br /&gt;
&lt;br /&gt;
kann für jeden Ingress einfach eine Sub-Domain vergeben, die dann automatisch ein gültiges Zertifikat hat.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Installation starten:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
helm upgrade --install ingress-nginx ingress-nginx \&lt;br /&gt;
  --repo https://kubernetes.github.io/ingress-nginx \&lt;br /&gt;
  --namespace ingress-nginx --create-namespace \&lt;br /&gt;
  -f values.yaml&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== OAUTH2 Proxy installieren ===&lt;br /&gt;
Authentifizierung gegen Keyclok und Token Weiterleitung an Dashboard&lt;br /&gt;
&lt;br /&gt;
values.yaml&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;yaml&amp;quot; line=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
extraArgs:&lt;br /&gt;
  provider: keycloak-oidc&lt;br /&gt;
  #provider-display-name: OIDC Login&lt;br /&gt;
  #http-address: &amp;quot;0.0.0.0:4180&amp;quot;&lt;br /&gt;
  #skip-provider-button: true&lt;br /&gt;
  #skip-jwt-bearer-tokens: true&lt;br /&gt;
  #ssl-insecure-skip-verify: true&lt;br /&gt;
  #ssl-upstream-insecure-skip-verify: true&lt;br /&gt;
  #pass-access-token: true&lt;br /&gt;
  #pass-authorization-header: true&lt;br /&gt;
  set-authorization-header: true&lt;br /&gt;
  #set-xauthrequest: true&lt;br /&gt;
  client-id: XXX # Change XXX to your client_id&lt;br /&gt;
  client-secret: XXX # Change XXX to your client_secret&lt;br /&gt;
  cookie-secret: XXX # Generate with 'openssl rand -base64 32 | head -c 32 | base64'&lt;br /&gt;
  #cookie-secure: false&lt;br /&gt;
  #cookie-httponly: false&lt;br /&gt;
  cookie-refresh: 4m # Zeit nach der ein neuer Access Token über den Refresh Token bezogen wird&lt;br /&gt;
  oidc-issuer-url: &amp;quot;https://&amp;lt;my.keycloak.server&amp;gt;/realms/&amp;lt;Realm-Name&amp;gt;&amp;quot;&lt;br /&gt;
  redirect-url: &amp;quot;https://&amp;lt;my.dashboard.url&amp;gt;/oauth2/callback&amp;quot;&lt;br /&gt;
  #whitelist-domain: [&amp;quot;*&amp;quot;]&lt;br /&gt;
  #allowed-group: [&amp;quot;*&amp;quot;]&lt;br /&gt;
  #allowed-role: [&amp;quot;*&amp;quot;]&lt;br /&gt;
  #email-domain: [&amp;quot;*&amp;quot;]&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
'''Hinweis:'''&lt;br /&gt;
&lt;br /&gt;
''Der Parameter &amp;lt;code&amp;gt;cookie-refresh&amp;lt;/code&amp;gt; sollte kleiner als die &amp;quot;Access Token Lifespan&amp;quot; in Keycloak sein (&amp;quot;Realm Settings-&amp;gt;Token&amp;quot;).''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Installation starten:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
helm upgrade --install oauth2-proxy oauth2-proxy \&lt;br /&gt;
  --repo https://oauth2-proxy.github.io/manifests \&lt;br /&gt;
  --namespace kubernetes-dashboard \&lt;br /&gt;
  -f values.yaml&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Dem Keycloak Benutzer die Admin Rolle zuweisen===&lt;br /&gt;
oidc-role.yaml&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;yaml&amp;quot;&amp;gt;&lt;br /&gt;
apiVersion: rbac.authorization.k8s.io/v1&lt;br /&gt;
kind: ClusterRoleBinding&lt;br /&gt;
metadata:&lt;br /&gt;
  name: oidc-user&lt;br /&gt;
roleRef:&lt;br /&gt;
  apiGroup: rbac.authorization.k8s.io&lt;br /&gt;
  kind: ClusterRole&lt;br /&gt;
  name: cluster-admin&lt;br /&gt;
subjects:&lt;br /&gt;
- kind: User&lt;br /&gt;
  name: user@keycloak.com&lt;br /&gt;
  namespace: kube-system&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;'''''Hinweis:'''''&lt;br /&gt;
&lt;br /&gt;
''Der Benutzername (subjects.name) entspricht dem'' &amp;lt;code&amp;gt;oidc-username-claim&amp;lt;/code&amp;gt; ''aus der &amp;quot;kube-apiserver.yaml&amp;quot;.''&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
kubectl apply -f oidc-role.yaml&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Ingress erstellen===&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;yaml&amp;quot; line=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
apiVersion: networking.k8s.io/v1&lt;br /&gt;
kind: Ingress&lt;br /&gt;
metadata:&lt;br /&gt;
  annotations:&lt;br /&gt;
    nginx.ingress.kubernetes.io/backend-protocol: &amp;quot;HTTPS&amp;quot;&lt;br /&gt;
    nginx.ingress.kubernetes.io/auth-url: &amp;quot;https://$host/oauth2/auth&amp;quot;&lt;br /&gt;
    nginx.ingress.kubernetes.io/auth-signin: &amp;quot;https://$host/oauth2/start?rd=$escaped_request_uri&amp;quot;&lt;br /&gt;
    nginx.ingress.kubernetes.io/auth-response-headers: &amp;quot;authorization&amp;quot;&lt;br /&gt;
  name: k8s-dashboard&lt;br /&gt;
  namespace: kubernetes-dashboard&lt;br /&gt;
spec:&lt;br /&gt;
  ingressClassName: nginx&lt;br /&gt;
  tls:&lt;br /&gt;
  - hosts:&lt;br /&gt;
    - my.dashboard.url&lt;br /&gt;
  rules:&lt;br /&gt;
  - host: my.dashboard.url&lt;br /&gt;
    http:&lt;br /&gt;
      paths:&lt;br /&gt;
      - backend:&lt;br /&gt;
          service:&lt;br /&gt;
            name: kubernetes-dashboard&lt;br /&gt;
            port:&lt;br /&gt;
              number: 443&lt;br /&gt;
        path: /&lt;br /&gt;
        pathType: Prefix&lt;br /&gt;
---&lt;br /&gt;
apiVersion: networking.k8s.io/v1&lt;br /&gt;
kind: Ingress&lt;br /&gt;
metadata:&lt;br /&gt;
  name: k8s-dashboard-oauth&lt;br /&gt;
  namespace: oauth2-proxy&lt;br /&gt;
spec:&lt;br /&gt;
  ingressClassName: nginx&lt;br /&gt;
  tls:&lt;br /&gt;
  - hosts:&lt;br /&gt;
    - my.dashboard.url&lt;br /&gt;
  rules:&lt;br /&gt;
  - host: my.dashboard.url&lt;br /&gt;
    http:&lt;br /&gt;
      paths:&lt;br /&gt;
      - backend:&lt;br /&gt;
          service:&lt;br /&gt;
            name: oauth2-proxy&lt;br /&gt;
            port:&lt;br /&gt;
              number: 80&lt;br /&gt;
        path: /oauth2&lt;br /&gt;
        pathType: Prefix&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
kubectl apply -f ingress.yaml&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;/div&gt;</summary>
		<author><name>Robin Tönniges</name></author>
	</entry>
	<entry>
		<id>https://wiki.toenniges.de/index.php?title=Kubernetes_Dashboard_mit_Keycloak_OIDC&amp;diff=1808</id>
		<title>Kubernetes Dashboard mit Keycloak OIDC</title>
		<link rel="alternate" type="text/html" href="https://wiki.toenniges.de/index.php?title=Kubernetes_Dashboard_mit_Keycloak_OIDC&amp;diff=1808"/>
		<updated>2025-01-11T05:21:54Z</updated>

		<summary type="html">&lt;p&gt;Robin Tönniges: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Infobox&lt;br /&gt;
| Titel      = Testumgebung&lt;br /&gt;
| Bildname   = &lt;br /&gt;
| Bildbreite = &lt;br /&gt;
| Bildtext   = &lt;br /&gt;
| Stil            = 2&lt;br /&gt;
| Titelfarbe      = 6&lt;br /&gt;
| Abschnittsfarbe = &lt;br /&gt;
| Farbe           = &lt;br /&gt;
| Style           = &lt;br /&gt;
| Feldstyle       = &lt;br /&gt;
| Feldname1 = OS    | Daten1 = AlmaLinux 8.7&lt;br /&gt;
| Feldname2 = Keycloak    | Daten2 = 20.0.2&lt;br /&gt;
| Feldname3 = Kubernetes    | Daten3 = 1.26.0&lt;br /&gt;
| Feldname4 = Kubenetes-Dashboard    | Daten6 = 2.7.0&lt;br /&gt;
| Feldname5 = MetalLB    | Daten4 = 0.13.7&lt;br /&gt;
| Feldname6 = Ingress-Nginx    | Daten5 = 1.5.1&lt;br /&gt;
| Feldname7 = OAUTH2-Proxy    | Daten6 = 7.4.0&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
=== API-Server konfigurieren ===&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
vi /etc/kubernetes/manifests/kube-apiserver.yaml&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&amp;lt;syntaxhighlight lang=&amp;quot;yaml&amp;quot; line=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
spec:&lt;br /&gt;
  containers:&lt;br /&gt;
  - command:&lt;br /&gt;
    - kube-apiserver&lt;br /&gt;
... &lt;br /&gt;
	- --oidc-issuer-url=https://&amp;lt;my.keycloak.server&amp;gt;/realms/&amp;lt;Realm-Name&amp;gt;&lt;br /&gt;
    - --oidc-client-id=k8s-cluster&lt;br /&gt;
    - --oidc-username-claim=email&lt;br /&gt;
    #- --oidc-ca-file=/path/to/oidc-ca.pem&lt;br /&gt;
	#- --oidc-username-prefix=-&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''Hinweis:'''&lt;br /&gt;
&lt;br /&gt;
''Wenn &amp;lt;code&amp;gt;oidc-username-claim&amp;lt;/code&amp;gt; '''NICHT''' 'email' ist, wird standardmäßig die 'issuer-url' als Präfix vor den Benutzer gestellt (z.B. https://&amp;lt;my.keycloak.server&amp;gt;/realms/&amp;lt;Realm-Name&amp;gt;:&amp;lt;username&amp;gt;).''&lt;br /&gt;
&lt;br /&gt;
''Um den Präfix zu deaktivieren muss bei &amp;lt;code&amp;gt;oidc-username-prefix&amp;lt;/code&amp;gt; der Wert '-' angegeben werden.''&lt;br /&gt;
&lt;br /&gt;
=== Load Balancer installieren ===&lt;br /&gt;
'# MetalLB installieren / Aktiviert den Service Typ &amp;quot;LoadBalancer&amp;quot; der sonst nur in Cloud Umgebungen verfügbar ist&lt;br /&gt;
&lt;br /&gt;
'# Bildet IPs aus dem Cluster in einen physischen Adressbereich des LANs&lt;br /&gt;
&lt;br /&gt;
==== Ports in der Firewall öffnen ====&lt;br /&gt;
Sowohl auf dem Controller als auch den Worker-Nodes&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
firewall-cmd --permanent --add-port=7472/tcp&lt;br /&gt;
firewall-cmd --permanent --add-port=7946/tcp&lt;br /&gt;
firewall-cmd --permanent --add-port=7946/udp&lt;br /&gt;
firewall-cmd --reload&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Installieren ====&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
kubectl apply -f https://raw.githubusercontent.com/metallb/metallb/v0.13.7/config/manifests/metallb-native.yaml&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
address_pool.yaml&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;yaml&amp;quot; line=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
apiVersion: metallb.io/v1beta1&lt;br /&gt;
kind: IPAddressPool&lt;br /&gt;
metadata:&lt;br /&gt;
  name: first-pool&lt;br /&gt;
  namespace: metallb-system&lt;br /&gt;
spec:&lt;br /&gt;
  addresses:&lt;br /&gt;
  - 192.168.1.240-192.168.1.250&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
l2_advert.yaml&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;yaml&amp;quot; line=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
apiVersion: metallb.io/v1beta1&lt;br /&gt;
kind: L2Advertisement&lt;br /&gt;
metadata:&lt;br /&gt;
  name: example&lt;br /&gt;
  namespace: metallb-system&lt;br /&gt;
  #- first-pool&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
IPAddressPools können explizit ausgewählt werden. Ohne Angabe werden alle Pools dem L2Advertisement zugeordnet.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
kubectl apply -f address_pool.yaml&lt;br /&gt;
kubectl apply -f l2_advert.yaml&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Reverse Proxy installieren (ingress-nginx) ===&lt;br /&gt;
Reverse Proxy um mehrere Domains auf einer IP erreichbar zu machen.&lt;br /&gt;
&lt;br /&gt;
values.yaml&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;yaml&amp;quot; line=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
controller:&lt;br /&gt;
  config:&lt;br /&gt;
    proxy-buffer-size: &amp;quot;8k&amp;quot;&lt;br /&gt;
    &lt;br /&gt;
    #extraArgs:&lt;br /&gt;
        #default-ssl-certificate: &amp;quot;default/my-tls-secret&amp;quot;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;'''Hinweise:'''&lt;br /&gt;
&lt;br /&gt;
''Bei Keycloak kann es vorkommen, dass mehr als 4 kb Daten über den Header gesendet werden.''&lt;br /&gt;
&lt;br /&gt;
''Wenn der Header zu groß wird, bekommt man einen Fehler (502).'' &lt;br /&gt;
&lt;br /&gt;
''Deswegen erhöhen wir diesen direkt während der Installation auf 8 kb.''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
''Für TLS benötigen wir ein 'Secret&amp;quot; mit dem &amp;quot;Privat Key&amp;quot; und dem &amp;quot;Public Certificate&amp;quot; für die Domain, die später für das Dashboard genutzt werden soll.''&lt;br /&gt;
&lt;br /&gt;
''Dieses kann man als Standard, direkt in der Config für Ingress-Nginx hinerlegen oder später im Ingress definieren.''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Tipp:'''&lt;br /&gt;
&lt;br /&gt;
Wenn man bei &amp;lt;code&amp;gt;default-ssl-certificate&amp;lt;/code&amp;gt; ein Wildcard-Zertifikat (z.B. *.my-cluster.host) für den Cluster hinterlegt, &lt;br /&gt;
&lt;br /&gt;
kann für jeden Ingress einfach eine Sub-Domain vergeben, die dann automatisch ein gültiges Zertifikat hat.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Installation starten:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
helm upgrade --install ingress-nginx ingress-nginx \&lt;br /&gt;
  --repo https://kubernetes.github.io/ingress-nginx \&lt;br /&gt;
  --namespace ingress-nginx --create-namespace \&lt;br /&gt;
  -f values.yaml&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== OAUTH2 Proxy installieren ===&lt;br /&gt;
Authentifizierung gegen Keyclok und Token Weiterleitung an Dashboard&lt;br /&gt;
&lt;br /&gt;
values.yaml&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;yaml&amp;quot; line=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
extraArgs:&lt;br /&gt;
  provider: keycloak-oidc&lt;br /&gt;
  #provider-display-name: OIDC Login&lt;br /&gt;
  #http-address: &amp;quot;0.0.0.0:4180&amp;quot;&lt;br /&gt;
  #skip-provider-button: true&lt;br /&gt;
  #skip-jwt-bearer-tokens: true&lt;br /&gt;
  #ssl-insecure-skip-verify: true&lt;br /&gt;
  #ssl-upstream-insecure-skip-verify: true&lt;br /&gt;
  #pass-access-token: true&lt;br /&gt;
  #pass-authorization-header: true&lt;br /&gt;
  set-authorization-header: true&lt;br /&gt;
  #set-xauthrequest: true&lt;br /&gt;
  client-id: XXX # Change XXX to your client_id&lt;br /&gt;
  client-secret: XXX # Change XXX to your client_secret&lt;br /&gt;
  cookie-secret: XXX # Generate with 'openssl rand -base64 32 | head -c 32 | base64'&lt;br /&gt;
  #cookie-secure: false&lt;br /&gt;
  #cookie-httponly: false&lt;br /&gt;
  cookie-refresh: 4m # Zeit nach der ein neuer Access Token über den Refresh Token bezogen wird&lt;br /&gt;
  oidc-issuer-url: &amp;quot;https://&amp;lt;my.keycloak.server&amp;gt;/realms/&amp;lt;Realm-Name&amp;gt;&amp;quot;&lt;br /&gt;
  redirect-url: &amp;quot;https://&amp;lt;my.dashboard.url&amp;gt;/oauth2/callback&amp;quot;&lt;br /&gt;
  #whitelist-domain: [&amp;quot;*&amp;quot;]&lt;br /&gt;
  #allowed-group: [&amp;quot;*&amp;quot;]&lt;br /&gt;
  #allowed-role: [&amp;quot;*&amp;quot;]&lt;br /&gt;
  #email-domain: [&amp;quot;*&amp;quot;]&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
'''Hinweis:'''&lt;br /&gt;
&lt;br /&gt;
''Der Parameter &amp;lt;code&amp;gt;cookie-refresh&amp;lt;/code&amp;gt; sollte kleiner als die &amp;quot;Access Token Lifespan&amp;quot; in Keycloak sein (&amp;quot;Realm Settings-&amp;gt;Token&amp;quot;).''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Installation starten:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
helm upgrade --install oauth2-proxy oauth2-proxy \&lt;br /&gt;
  --repo https://oauth2-proxy.github.io/manifests \&lt;br /&gt;
  --namespace kubernetes-dashboard \&lt;br /&gt;
  -f values.yaml&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Dem Keycloak Benutzer die Admin Rolle zuweisen===&lt;br /&gt;
oidc-role.yaml&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;yaml&amp;quot;&amp;gt;&lt;br /&gt;
apiVersion: rbac.authorization.k8s.io/v1&lt;br /&gt;
kind: ClusterRoleBinding&lt;br /&gt;
metadata:&lt;br /&gt;
  name: oidc-user&lt;br /&gt;
roleRef:&lt;br /&gt;
  apiGroup: rbac.authorization.k8s.io&lt;br /&gt;
  kind: ClusterRole&lt;br /&gt;
  name: cluster-admin&lt;br /&gt;
subjects:&lt;br /&gt;
- kind: User&lt;br /&gt;
  name: user@keycloak.com&lt;br /&gt;
  namespace: kube-system&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;'''''Hinweis:'''''&lt;br /&gt;
&lt;br /&gt;
''Der Benutzername (subjects.name) entspricht dem'' &amp;lt;code&amp;gt;oidc-username-claim&amp;lt;/code&amp;gt; ''aus der &amp;quot;kube-apiserver.yaml&amp;quot;.''&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
kubectl apply -f oidc-role.yaml&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Ingress erstellen===&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;yaml&amp;quot; line=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
apiVersion: networking.k8s.io/v1&lt;br /&gt;
kind: Ingress&lt;br /&gt;
metadata:&lt;br /&gt;
  annotations:&lt;br /&gt;
    nginx.ingress.kubernetes.io/backend-protocol: &amp;quot;HTTPS&amp;quot;&lt;br /&gt;
    nginx.ingress.kubernetes.io/auth-url: &amp;quot;https://$host/oauth2/auth&amp;quot;&lt;br /&gt;
    nginx.ingress.kubernetes.io/auth-signin: &amp;quot;https://$host/oauth2/start?rd=$escaped_request_uri&amp;quot;&lt;br /&gt;
    nginx.ingress.kubernetes.io/auth-response-headers: &amp;quot;authorization&amp;quot;&lt;br /&gt;
  name: k8s-dashboard&lt;br /&gt;
  namespace: kubernetes-dashboard&lt;br /&gt;
spec:&lt;br /&gt;
  ingressClassName: nginx&lt;br /&gt;
  tls:&lt;br /&gt;
  - hosts:&lt;br /&gt;
    - my.dashboard.url&lt;br /&gt;
  rules:&lt;br /&gt;
  - host: my.dashboard.url&lt;br /&gt;
    http:&lt;br /&gt;
      paths:&lt;br /&gt;
      - backend:&lt;br /&gt;
          service:&lt;br /&gt;
            name: kubernetes-dashboard&lt;br /&gt;
            port:&lt;br /&gt;
              number: 443&lt;br /&gt;
        path: /&lt;br /&gt;
        pathType: Prefix&lt;br /&gt;
---&lt;br /&gt;
apiVersion: networking.k8s.io/v1&lt;br /&gt;
kind: Ingress&lt;br /&gt;
metadata:&lt;br /&gt;
  name: k8s-dashboard-oauth&lt;br /&gt;
  namespace: oauth2-proxy&lt;br /&gt;
spec:&lt;br /&gt;
  ingressClassName: nginx&lt;br /&gt;
  tls:&lt;br /&gt;
  - hosts:&lt;br /&gt;
    - my.dashboard.url&lt;br /&gt;
  rules:&lt;br /&gt;
  - host: my.dashboard.url&lt;br /&gt;
    http:&lt;br /&gt;
      paths:&lt;br /&gt;
      - backend:&lt;br /&gt;
          service:&lt;br /&gt;
            name: oauth2-proxy&lt;br /&gt;
            port:&lt;br /&gt;
              number: 80&lt;br /&gt;
        path: /oauth2&lt;br /&gt;
        pathType: Prefix&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
kubectl apply -f ingress.yaml&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;/div&gt;</summary>
		<author><name>Robin Tönniges</name></author>
	</entry>
	<entry>
		<id>https://wiki.toenniges.de/index.php?title=Kubernetes_Dashboard_mit_Keycloak_OIDC&amp;diff=1807</id>
		<title>Kubernetes Dashboard mit Keycloak OIDC</title>
		<link rel="alternate" type="text/html" href="https://wiki.toenniges.de/index.php?title=Kubernetes_Dashboard_mit_Keycloak_OIDC&amp;diff=1807"/>
		<updated>2025-01-11T05:21:40Z</updated>

		<summary type="html">&lt;p&gt;Robin Tönniges: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Infobox&lt;br /&gt;
| Titel      = Testumgebung&lt;br /&gt;
| Bildname   = &lt;br /&gt;
| Bildbreite = &lt;br /&gt;
| Bildtext   = &lt;br /&gt;
| Stil            = 2&lt;br /&gt;
| Titelfarbe      = 6&lt;br /&gt;
| Abschnittsfarbe = &lt;br /&gt;
| Farbe           = &lt;br /&gt;
| Style           = &lt;br /&gt;
| Feldstyle       = &lt;br /&gt;
| Feldname1 = OS    | Daten1 = AlmaLinux 8.7&lt;br /&gt;
| Feldname2 = Keycloak    | Daten2 = 20.0.2&lt;br /&gt;
| Feldname3 = Kubernetes    | Daten3 = 1.26.0&lt;br /&gt;
| Feldname6 = Kubenetes-Dashboard    | Daten6 = 2.7.0&lt;br /&gt;
| Feldname4 = MetalLB    | Daten4 = 0.13.7&lt;br /&gt;
| Feldname5 = Ingress-Nginx    | Daten5 = 1.5.1&lt;br /&gt;
| Feldname6 = OAUTH2-Proxy    | Daten6 = 7.4.0&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
=== API-Server konfigurieren ===&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
vi /etc/kubernetes/manifests/kube-apiserver.yaml&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&amp;lt;syntaxhighlight lang=&amp;quot;yaml&amp;quot; line=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
spec:&lt;br /&gt;
  containers:&lt;br /&gt;
  - command:&lt;br /&gt;
    - kube-apiserver&lt;br /&gt;
... &lt;br /&gt;
	- --oidc-issuer-url=https://&amp;lt;my.keycloak.server&amp;gt;/realms/&amp;lt;Realm-Name&amp;gt;&lt;br /&gt;
    - --oidc-client-id=k8s-cluster&lt;br /&gt;
    - --oidc-username-claim=email&lt;br /&gt;
    #- --oidc-ca-file=/path/to/oidc-ca.pem&lt;br /&gt;
	#- --oidc-username-prefix=-&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''Hinweis:'''&lt;br /&gt;
&lt;br /&gt;
''Wenn &amp;lt;code&amp;gt;oidc-username-claim&amp;lt;/code&amp;gt; '''NICHT''' 'email' ist, wird standardmäßig die 'issuer-url' als Präfix vor den Benutzer gestellt (z.B. https://&amp;lt;my.keycloak.server&amp;gt;/realms/&amp;lt;Realm-Name&amp;gt;:&amp;lt;username&amp;gt;).''&lt;br /&gt;
&lt;br /&gt;
''Um den Präfix zu deaktivieren muss bei &amp;lt;code&amp;gt;oidc-username-prefix&amp;lt;/code&amp;gt; der Wert '-' angegeben werden.''&lt;br /&gt;
&lt;br /&gt;
=== Load Balancer installieren ===&lt;br /&gt;
'# MetalLB installieren / Aktiviert den Service Typ &amp;quot;LoadBalancer&amp;quot; der sonst nur in Cloud Umgebungen verfügbar ist&lt;br /&gt;
&lt;br /&gt;
'# Bildet IPs aus dem Cluster in einen physischen Adressbereich des LANs&lt;br /&gt;
&lt;br /&gt;
==== Ports in der Firewall öffnen ====&lt;br /&gt;
Sowohl auf dem Controller als auch den Worker-Nodes&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
firewall-cmd --permanent --add-port=7472/tcp&lt;br /&gt;
firewall-cmd --permanent --add-port=7946/tcp&lt;br /&gt;
firewall-cmd --permanent --add-port=7946/udp&lt;br /&gt;
firewall-cmd --reload&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Installieren ====&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
kubectl apply -f https://raw.githubusercontent.com/metallb/metallb/v0.13.7/config/manifests/metallb-native.yaml&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
address_pool.yaml&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;yaml&amp;quot; line=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
apiVersion: metallb.io/v1beta1&lt;br /&gt;
kind: IPAddressPool&lt;br /&gt;
metadata:&lt;br /&gt;
  name: first-pool&lt;br /&gt;
  namespace: metallb-system&lt;br /&gt;
spec:&lt;br /&gt;
  addresses:&lt;br /&gt;
  - 192.168.1.240-192.168.1.250&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
l2_advert.yaml&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;yaml&amp;quot; line=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
apiVersion: metallb.io/v1beta1&lt;br /&gt;
kind: L2Advertisement&lt;br /&gt;
metadata:&lt;br /&gt;
  name: example&lt;br /&gt;
  namespace: metallb-system&lt;br /&gt;
  #- first-pool&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
IPAddressPools können explizit ausgewählt werden. Ohne Angabe werden alle Pools dem L2Advertisement zugeordnet.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
kubectl apply -f address_pool.yaml&lt;br /&gt;
kubectl apply -f l2_advert.yaml&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Reverse Proxy installieren (ingress-nginx) ===&lt;br /&gt;
Reverse Proxy um mehrere Domains auf einer IP erreichbar zu machen.&lt;br /&gt;
&lt;br /&gt;
values.yaml&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;yaml&amp;quot; line=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
controller:&lt;br /&gt;
  config:&lt;br /&gt;
    proxy-buffer-size: &amp;quot;8k&amp;quot;&lt;br /&gt;
    &lt;br /&gt;
    #extraArgs:&lt;br /&gt;
        #default-ssl-certificate: &amp;quot;default/my-tls-secret&amp;quot;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;'''Hinweise:'''&lt;br /&gt;
&lt;br /&gt;
''Bei Keycloak kann es vorkommen, dass mehr als 4 kb Daten über den Header gesendet werden.''&lt;br /&gt;
&lt;br /&gt;
''Wenn der Header zu groß wird, bekommt man einen Fehler (502).'' &lt;br /&gt;
&lt;br /&gt;
''Deswegen erhöhen wir diesen direkt während der Installation auf 8 kb.''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
''Für TLS benötigen wir ein 'Secret&amp;quot; mit dem &amp;quot;Privat Key&amp;quot; und dem &amp;quot;Public Certificate&amp;quot; für die Domain, die später für das Dashboard genutzt werden soll.''&lt;br /&gt;
&lt;br /&gt;
''Dieses kann man als Standard, direkt in der Config für Ingress-Nginx hinerlegen oder später im Ingress definieren.''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Tipp:'''&lt;br /&gt;
&lt;br /&gt;
Wenn man bei &amp;lt;code&amp;gt;default-ssl-certificate&amp;lt;/code&amp;gt; ein Wildcard-Zertifikat (z.B. *.my-cluster.host) für den Cluster hinterlegt, &lt;br /&gt;
&lt;br /&gt;
kann für jeden Ingress einfach eine Sub-Domain vergeben, die dann automatisch ein gültiges Zertifikat hat.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Installation starten:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
helm upgrade --install ingress-nginx ingress-nginx \&lt;br /&gt;
  --repo https://kubernetes.github.io/ingress-nginx \&lt;br /&gt;
  --namespace ingress-nginx --create-namespace \&lt;br /&gt;
  -f values.yaml&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== OAUTH2 Proxy installieren ===&lt;br /&gt;
Authentifizierung gegen Keyclok und Token Weiterleitung an Dashboard&lt;br /&gt;
&lt;br /&gt;
values.yaml&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;yaml&amp;quot; line=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
extraArgs:&lt;br /&gt;
  provider: keycloak-oidc&lt;br /&gt;
  #provider-display-name: OIDC Login&lt;br /&gt;
  #http-address: &amp;quot;0.0.0.0:4180&amp;quot;&lt;br /&gt;
  #skip-provider-button: true&lt;br /&gt;
  #skip-jwt-bearer-tokens: true&lt;br /&gt;
  #ssl-insecure-skip-verify: true&lt;br /&gt;
  #ssl-upstream-insecure-skip-verify: true&lt;br /&gt;
  #pass-access-token: true&lt;br /&gt;
  #pass-authorization-header: true&lt;br /&gt;
  set-authorization-header: true&lt;br /&gt;
  #set-xauthrequest: true&lt;br /&gt;
  client-id: XXX # Change XXX to your client_id&lt;br /&gt;
  client-secret: XXX # Change XXX to your client_secret&lt;br /&gt;
  cookie-secret: XXX # Generate with 'openssl rand -base64 32 | head -c 32 | base64'&lt;br /&gt;
  #cookie-secure: false&lt;br /&gt;
  #cookie-httponly: false&lt;br /&gt;
  cookie-refresh: 4m # Zeit nach der ein neuer Access Token über den Refresh Token bezogen wird&lt;br /&gt;
  oidc-issuer-url: &amp;quot;https://&amp;lt;my.keycloak.server&amp;gt;/realms/&amp;lt;Realm-Name&amp;gt;&amp;quot;&lt;br /&gt;
  redirect-url: &amp;quot;https://&amp;lt;my.dashboard.url&amp;gt;/oauth2/callback&amp;quot;&lt;br /&gt;
  #whitelist-domain: [&amp;quot;*&amp;quot;]&lt;br /&gt;
  #allowed-group: [&amp;quot;*&amp;quot;]&lt;br /&gt;
  #allowed-role: [&amp;quot;*&amp;quot;]&lt;br /&gt;
  #email-domain: [&amp;quot;*&amp;quot;]&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
'''Hinweis:'''&lt;br /&gt;
&lt;br /&gt;
''Der Parameter &amp;lt;code&amp;gt;cookie-refresh&amp;lt;/code&amp;gt; sollte kleiner als die &amp;quot;Access Token Lifespan&amp;quot; in Keycloak sein (&amp;quot;Realm Settings-&amp;gt;Token&amp;quot;).''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Installation starten:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
helm upgrade --install oauth2-proxy oauth2-proxy \&lt;br /&gt;
  --repo https://oauth2-proxy.github.io/manifests \&lt;br /&gt;
  --namespace kubernetes-dashboard \&lt;br /&gt;
  -f values.yaml&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Dem Keycloak Benutzer die Admin Rolle zuweisen===&lt;br /&gt;
oidc-role.yaml&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;yaml&amp;quot;&amp;gt;&lt;br /&gt;
apiVersion: rbac.authorization.k8s.io/v1&lt;br /&gt;
kind: ClusterRoleBinding&lt;br /&gt;
metadata:&lt;br /&gt;
  name: oidc-user&lt;br /&gt;
roleRef:&lt;br /&gt;
  apiGroup: rbac.authorization.k8s.io&lt;br /&gt;
  kind: ClusterRole&lt;br /&gt;
  name: cluster-admin&lt;br /&gt;
subjects:&lt;br /&gt;
- kind: User&lt;br /&gt;
  name: user@keycloak.com&lt;br /&gt;
  namespace: kube-system&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;'''''Hinweis:'''''&lt;br /&gt;
&lt;br /&gt;
''Der Benutzername (subjects.name) entspricht dem'' &amp;lt;code&amp;gt;oidc-username-claim&amp;lt;/code&amp;gt; ''aus der &amp;quot;kube-apiserver.yaml&amp;quot;.''&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
kubectl apply -f oidc-role.yaml&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Ingress erstellen===&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;yaml&amp;quot; line=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
apiVersion: networking.k8s.io/v1&lt;br /&gt;
kind: Ingress&lt;br /&gt;
metadata:&lt;br /&gt;
  annotations:&lt;br /&gt;
    nginx.ingress.kubernetes.io/backend-protocol: &amp;quot;HTTPS&amp;quot;&lt;br /&gt;
    nginx.ingress.kubernetes.io/auth-url: &amp;quot;https://$host/oauth2/auth&amp;quot;&lt;br /&gt;
    nginx.ingress.kubernetes.io/auth-signin: &amp;quot;https://$host/oauth2/start?rd=$escaped_request_uri&amp;quot;&lt;br /&gt;
    nginx.ingress.kubernetes.io/auth-response-headers: &amp;quot;authorization&amp;quot;&lt;br /&gt;
  name: k8s-dashboard&lt;br /&gt;
  namespace: kubernetes-dashboard&lt;br /&gt;
spec:&lt;br /&gt;
  ingressClassName: nginx&lt;br /&gt;
  tls:&lt;br /&gt;
  - hosts:&lt;br /&gt;
    - my.dashboard.url&lt;br /&gt;
  rules:&lt;br /&gt;
  - host: my.dashboard.url&lt;br /&gt;
    http:&lt;br /&gt;
      paths:&lt;br /&gt;
      - backend:&lt;br /&gt;
          service:&lt;br /&gt;
            name: kubernetes-dashboard&lt;br /&gt;
            port:&lt;br /&gt;
              number: 443&lt;br /&gt;
        path: /&lt;br /&gt;
        pathType: Prefix&lt;br /&gt;
---&lt;br /&gt;
apiVersion: networking.k8s.io/v1&lt;br /&gt;
kind: Ingress&lt;br /&gt;
metadata:&lt;br /&gt;
  name: k8s-dashboard-oauth&lt;br /&gt;
  namespace: oauth2-proxy&lt;br /&gt;
spec:&lt;br /&gt;
  ingressClassName: nginx&lt;br /&gt;
  tls:&lt;br /&gt;
  - hosts:&lt;br /&gt;
    - my.dashboard.url&lt;br /&gt;
  rules:&lt;br /&gt;
  - host: my.dashboard.url&lt;br /&gt;
    http:&lt;br /&gt;
      paths:&lt;br /&gt;
      - backend:&lt;br /&gt;
          service:&lt;br /&gt;
            name: oauth2-proxy&lt;br /&gt;
            port:&lt;br /&gt;
              number: 80&lt;br /&gt;
        path: /oauth2&lt;br /&gt;
        pathType: Prefix&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
kubectl apply -f ingress.yaml&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;/div&gt;</summary>
		<author><name>Robin Tönniges</name></author>
	</entry>
	<entry>
		<id>https://wiki.toenniges.de/index.php?title=Raspberry_Pi_Kernel_f%C3%BCr_Proxmox_optimieren&amp;diff=1806</id>
		<title>Raspberry Pi Kernel für Proxmox optimieren</title>
		<link rel="alternate" type="text/html" href="https://wiki.toenniges.de/index.php?title=Raspberry_Pi_Kernel_f%C3%BCr_Proxmox_optimieren&amp;diff=1806"/>
		<updated>2024-05-28T18:04:26Z</updated>

		<summary type="html">&lt;p&gt;Robin Tönniges: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Um auf einem [[Proxmox auf Raspberry Pi (Pimox)|Raspberry Proxmox Cluster]], Container in einem RBD Storage zu speichern oder auf einer Linux Bridge [https://pve.proxmox.com/wiki/Network_Configuration#_vlan_802_1q VLAN awareness] zu aktivieren, muss der Raspberry Kernel leicht modifiziert werden.&lt;br /&gt;
&lt;br /&gt;
Diese Anleitung zeigt wie man den Raspberry Pi Kernel optimiert für Proxmox baut.&lt;br /&gt;
&lt;br /&gt;
== Vorbereitungen ==&lt;br /&gt;
'''Getestet auf Ubuntu 20.04.2 (64 Bit)'''&lt;br /&gt;
&lt;br /&gt;
Abhängigkeiten und 64Bit Toolchain installieren:&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
apt install git bc bison flex libssl-dev make libc6-dev libncurses5-dev crossbuild-essential-arm64&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;Ins &amp;lt;code&amp;gt;/home/&amp;lt;user&amp;gt;/&amp;lt;/code&amp;gt; Verzeichnis wechseln und Git-Repo klonen:&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
git clone --depth=1 https://github.com/raspberrypi/linux&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;Konfiguration für den Raspberry Pi 4 64 Bit erstellen:&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot; line=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
cd linux&lt;br /&gt;
KERNEL=kernel8&lt;br /&gt;
make ARCH=arm64 CROSS_COMPILE=aarch64-linux-gnu- bcm2711_defconfig&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;Die erstellte .config Datei mit dem Editor öffnen:&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
vi .config&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Module aktivieren ==&lt;br /&gt;
&lt;br /&gt;
=== RBD-Modul (Container auf RBD-Storage speichern) ===&lt;br /&gt;
&lt;br /&gt;
Den Eintrag für das RBD-Modul finden:&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
# CONFIG_BLK_DEV_RBD is not set&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;Kommentar entfernen und als Modul einbinden:&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
CONFIG_BLK_DEV_RBD=m&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== VLAN-Filtering aktivieren (Linux Bridge mit VLAN awareness) ===&lt;br /&gt;
&lt;br /&gt;
Den Eintrag für das VLAN-Filtering finden:&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
# CONFIG_BRIDGE_VLAN_FILTERING is not set&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;Die Funktion aktivieren:&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
CONFIG_BRIDGE_VLAN_FILTERING=y&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== KSM-Sharing aktivieren (RAM bei mehreren VMs sparen) ===&lt;br /&gt;
KSM (Kernel Samepage Merging) führt identische Teile des RAMs von mehreren VMs zusammen.&lt;br /&gt;
&lt;br /&gt;
Bei Proxmox tritt dieser Effekt erst ein wenn der Host &amp;gt;=80% RAM-Auslastung hat.&amp;lt;ref&amp;gt;https://pve.proxmox.com/wiki/Dynamic_Memory_Management#KSM_in_action&amp;lt;/ref&amp;gt; &lt;br /&gt;
&lt;br /&gt;
Den Eintrag für das KSM-Sharing finden:&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
# CONFIG_KSM is not set&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;Die Funktion aktivieren:&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
CONFIG_KSM=y&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
[[Datei:Proxmox Node KSM Sharing.png|mini|KSM sharing / Proxmox Node mit drei VMs]]&lt;br /&gt;
Zur Funktionskontrolle kann in der Übersicht eines Proxmox Nodes der Wert &amp;quot;KSM sharing&amp;quot; beobachtet werden.&lt;br /&gt;
&lt;br /&gt;
Alternativ kann folgender Befehl in der Shell ausgeführt werden:&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
watch cat /sys/kernel/mm/ksm/pages_sharing &lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Kernel bauen ==&lt;br /&gt;
Mit folgendem Befehl den Build-Prozess starten:&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
make ARCH=arm64 CROSS_COMPILE=aarch64-linux-gnu- Image modules dtbs&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;''Tipp: Mit dem Parameter'' &amp;lt;code&amp;gt;-j$(nproc)&amp;lt;/code&amp;gt; ''führt der make-Befehl mehrere Jobs parallel aus (Soviele wie die CPU Kerne hat).''&lt;br /&gt;
&lt;br /&gt;
Alle Abfragen mit '''ENTER''' bestätigen&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Lange warten...&lt;br /&gt;
&lt;br /&gt;
Als nächstes muss die SD Karte des Raspberry eingebunden werden.&lt;br /&gt;
&lt;br /&gt;
Bei Ubuntu 20.04 mit Desktop geschieht dies automatisch sobald Ihr die SD Karte einlegt.&lt;br /&gt;
&lt;br /&gt;
Ansonsten müsst ihr sie manuell einbinden:&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot; line=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
cd /mnt&lt;br /&gt;
mkdir mnt/fat32&lt;br /&gt;
mkdir mnt/ext4&lt;br /&gt;
sudo mount /dev/sdb6 mnt/fat32&lt;br /&gt;
sudo mount /dev/sdb7 mnt/ext4&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
''Der Pfad zu den Partitionen (sdb6, sdb7) muss ggf. angepasst werden.''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
''Bei der automatischen Einbindung unter Ubuntu heißen die Verzeichnisse eventuell anders:''&lt;br /&gt;
&lt;br /&gt;
- &amp;lt;code&amp;gt;/mnt/fat32&amp;lt;/code&amp;gt; → &amp;lt;code&amp;gt;/media/&amp;lt;user&amp;gt;/boot&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
- &amp;lt;code&amp;gt;/mnt/ext4&amp;lt;/code&amp;gt; → &amp;lt;code&amp;gt;/media/&amp;lt;user&amp;gt;/rootfs&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Kernel Module auf SD Karte installieren ===&lt;br /&gt;
&lt;br /&gt;
Bei manueller Einbindung:&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
sudo env PATH=$PATH make ARCH=arm64 CROSS_COMPILE=aarch64-linux-gnu- INSTALL_MOD_PATH=/mnt/ext4 modules_install&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
Bei automatischer Einbindung:&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
sudo env PATH=$PATH make ARCH=arm64 CROSS_COMPILE=aarch64-linux-gnu- INSTALL_MOD_PATH=/media/&amp;lt;user&amp;gt;/rootfs modules_install&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Kernel auf SD Karte kopieren ===&lt;br /&gt;
Bei manueller Einbindung:&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot; line=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
sudo cp /mnt/fat32/$KERNEL.img /mnt/fat32/$KERNEL-backup.img&lt;br /&gt;
sudo cp arch/arm64/boot/Image /mnt/fat32/$KERNEL.img&lt;br /&gt;
sudo cp arch/arm64/boot/dts/broadcom/*.dtb /mnt/fat32/&lt;br /&gt;
sudo cp arch/arm64/boot/dts/overlays/*.dtb* /mnt/fat32/overlays/&lt;br /&gt;
sudo cp arch/arm64/boot/dts/overlays/README /mnt/fat32/overlays/&lt;br /&gt;
sudo umount mnt/fat32&lt;br /&gt;
sudo umount mnt/ext4&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;Bei automatischer Einbindung:&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot; line=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
sudo cp /media/&amp;lt;user&amp;gt;/boot/$KERNEL.img /media/&amp;lt;user&amp;gt;/boot/$KERNEL-backup.img&lt;br /&gt;
sudo cp arch/arm64/boot/Image /media/&amp;lt;user&amp;gt;/boot/$KERNEL.img&lt;br /&gt;
sudo cp arch/arm64/boot/dts/broadcom/*.dtb /media/&amp;lt;user&amp;gt;/boot/&lt;br /&gt;
sudo cp arch/arm64/boot/dts/overlays/*.dtb* /media/&amp;lt;user&amp;gt;/boot/overlays/&lt;br /&gt;
sudo cp arch/arm64/boot/dts/overlays/README /media/&amp;lt;user&amp;gt;/boot/overlays/&lt;br /&gt;
sudo umount /media/&amp;lt;user&amp;gt;/boot&lt;br /&gt;
sudo umount /media/&amp;lt;user&amp;gt;/rootfs&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Kernel Update blockieren ===&lt;br /&gt;
Damit beim nächsten  &amp;lt;code&amp;gt;apt update/upgrade&amp;lt;/code&amp;gt; der Kernel nicht durch die offizielle Version ersetzt wird, blockieren wir die Updates:&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
sudo apt-mark hold raspberrypi-bootloader raspberrypi-kernel raspberrypi-kernel-headers&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Quellen ==&lt;br /&gt;
https://www.raspberrypi.org/documentation/linux/kernel/building.md&lt;br /&gt;
&lt;br /&gt;
=== Einzelnachweise ===&lt;br /&gt;
&amp;lt;references /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Kommentare ==&lt;br /&gt;
&amp;lt;comments nocache=true /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Kategorie:Raspberry Pi]]&lt;/div&gt;</summary>
		<author><name>Robin Tönniges</name></author>
	</entry>
</feed>