{"id":3051,"date":"2025-11-02T15:36:52","date_gmt":"2025-11-02T14:36:52","guid":{"rendered":"https:\/\/digital-cleaning.de\/?p=3051"},"modified":"2026-01-25T18:39:16","modified_gmt":"2026-01-25T17:39:16","slug":"paperless-ngx-teil-24-sofortinstallation","status":"publish","type":"post","link":"https:\/\/digital-cleaning.de\/index.php\/paperless-ngx-teil-24-sofortinstallation\/","title":{"rendered":"Paperless-ngx, Teil 24: Der Mega-All-in-One-Befehl f\u00fcr die Sofortinstallation (Beta)"},"content":{"rendered":"\n<p><strong>Mit einem einzigen Befehl<\/strong> nicht nur Paperless-ngx installieren, sondern auch alle zus\u00e4tzlichen Funktionen aktivieren? So, dass man bereits nach wenigen Minuten die ersten Dokumente in das System schieben kann, die Texterkennung funktioniert (f\u00fcr deutsche und englische Texte), Dateiverzeichnisse zug\u00e4nglich sind, ein Admin-Konto angelegt ist? Auch Bilder und gespeicherte Mails aufgenommen werden k\u00f6nnen? Und dazu noch das neue Raspberry Pi OS Trixie zum Einsatz kommen kann und die neueste Datenbank-Version 17 von Postgres (Unterst\u00fctzung bis 2029) zum Einsatz kommt? Auch die Docker-Installation geschieht durch diesen Befehl,  &#8211; und man muss sich um nichts Gedanken machen. Ja, das funktioniert.<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"586\" src=\"https:\/\/digital-cleaning.de\/wp-content\/uploads\/2025\/11\/ppl24_1-1024x586.jpg\" alt=\"\" class=\"wp-image-3052\" srcset=\"https:\/\/digital-cleaning.de\/wp-content\/uploads\/2025\/11\/ppl24_1-1024x586.jpg 1024w, https:\/\/digital-cleaning.de\/wp-content\/uploads\/2025\/11\/ppl24_1-300x172.jpg 300w, https:\/\/digital-cleaning.de\/wp-content\/uploads\/2025\/11\/ppl24_1-768x439.jpg 768w, https:\/\/digital-cleaning.de\/wp-content\/uploads\/2025\/11\/ppl24_1-1536x879.jpg 1536w, https:\/\/digital-cleaning.de\/wp-content\/uploads\/2025\/11\/ppl24_1-1140x652.jpg 1140w, https:\/\/digital-cleaning.de\/wp-content\/uploads\/2025\/11\/ppl24_1.jpg 1678w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<h2 class=\"wp-block-heading\">Das vorkonfigurierte Paket<\/h2>\n\n\n\n<p>In Teil 5 der Serie habe ich die &#8222;traditionelle&#8220; Vorgehensweise zur Installation von Paperless-ngx auf einem Raspberry Pi beschrieben. Durch eine Reihe von einzelnen Schritten und Abfragen kann man das System den eigenen W\u00fcnschen anpassen &#8211; etwa auf die Texterkennung in MS-Word-Dokumenten verzichten, um Speicher zu sparen. Es hat sich aber gezeigt, dass viele Anwender:innen das &#8222;volle Paket&#8220; haben m\u00f6chten, um <strong>alle Funktionen<\/strong> zu nutzen, die das Dokumentenmanagementsystem bietet. Daher habe ich die Installation vorkonfiguriert mit allen Parametern, die in meiner Serie benutzt werden. So wird das Medienverzeichnis beispielsweise auf eine Weise angelegt, die direkt \u00fcber den Dateimanager zug\u00e4nglich ist. Man kommt also zu jedem Zeitpunkt an seine Daten, Dokumente, Unterverzeichnisse ran &#8211; selbst wenn Paperless-ngx  einmal nicht funktionieren sollte. Auch die 1-Klick-Sicherung mit Versionierung klappt und die anderen empfohlenen Backup-Methoden. Nach wie vor kann man also alles, was in der umfangreichen Artikelserie beschrieben wird mit der neuen Installation nachvollziehen, ohne etwas \u00e4ndern zu m\u00fcssen. Nat\u00fcrlich kann man den Befehl gem\u00e4\u00df den eigenen W\u00fcnschen anpassen, aber gedacht ist er f\u00fcr absolute Beginner. Befehl kopieren und sofort ein vollst\u00e4ndig funktionierendes System vor sich haben, das ist das Ziel. Bei mir funktioniert der Befehl zwar, aber ich m\u00f6chte abwarten, welche R\u00fcckmeldungen ich erhalte.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Auf welchem Raspberry Pi funktioniert es?<\/h2>\n\n\n\n<p>Sehr gut l\u00e4uft Paperless-ngx bereits auf einem <strong>Raspberry Pi 4 mit 4 GB<\/strong>. Mit dieser Hardware habe ich den Befehl auch bei mir getestet (mein Hauptarchiv liegt auf einem Raspberry Pi 5 mit 8 GB und 500 GB NVMe M.2 SSD). Wer noch kein Ger\u00e4t hat, dem empfehle ich einen Raspberry Pi 400. Der ist aktuell neu f\u00fcr ca. 70 Euro zu haben und l\u00e4uft &#8222;lautlos&#8220;, da keinen Ventilator zur K\u00fchlung ben\u00f6tigt wird. Und ein (Tastatur-)Geh\u00e4use ist auch direkt dabei. <\/p>\n\n\n\n<p>Ob man das Betriebssystem auf eine microSD-Karte spielt oder einen USB-Stick ist nicht so wichtig. Wichtiger ist, dass das Speichermedium &#8222;schnell&#8220; ist &#8211; man sollte also keine Billigvarianten verwenden.<\/p>\n\n\n\n<p>Installiert sollte auf dem Raspberry Pi das neueste 64-Bit-Betriebssystem (Trixie) mit Desktop sein. Wenn man sich ein Starter-Kit von einem Raspberry Pi kauft, ist dieses bereits auf der beiliegenden SD-Karte installiert, ansonsten \u00fcberspielt man kurz die aktuelle Version. Aber sogar das muss man nicht mehr machen: Sofern man ein LAN-Kabel in den Raspberry Pi steckt, holt sich dieser das neue System \u00fcber das Internet und installiert es.<\/p>\n\n\n\n<p>Der Stromverbrauch bei allen Raspberry-Pi-Ger\u00e4ten ist mit ca. 4 &#8211; 6 W derart gering, dass man Paperless-ngx durchgehend laufen lassen kann und so zu jeder Zeit und auch von unterwegs Zugriff auf alle Dokumente hat.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Aber auf YouTube sieht das immer so kompliziert aus. Und braucht man nicht auch ein NAS?<\/h2>\n\n\n\n<p>Ich wei\u00df &#8211; es schlackern einem die Ohren, wenn da von Portainern, Stacks, Proxmox, Stacks und wei\u00df der Geier von was noch die Rede ist. Ein simpler Befehl gibt halt keine Einschaltquoten. &#8222;Nerds&#8220; werden in dem komplexen Vorgehen Vorteile sehen &#8211; ich sehe keine. Gegen ein gutes NAS f\u00fcr Backups habe ich nichts &#8211; aber man ben\u00f6tigt die teuren Ger\u00e4te nicht f\u00fcr Paperless-ngx. Selbst wenn man tausende von Dokumenten verwalten m\u00f6chte. Im Gegenteil, die Power eine Raspberry Pi kann bei der Verarbeitung einem einfacheren NAS sogar \u00fcberlegen sein. Nebenbei: Der Raspberry Pi eignet sich auch hervorragend f\u00fcr Backup-Aufgaben, wenn man noch eine USB-SSD anschlie\u00dft. Alternativ kann man auch gebrauchte ThinClients von Ebay nehmen, wie ich in meiner &#8222;25-Euro-NAS&#8220;-Serie gezeigt habe. <em>(Ich will hier ja keine Werbung f\u00fcr eine bestimmte Hardware machen. Es geht mir nur darum, Anwendern, die noch keine Erfahrung mit Homeservern haben, etwas die Sorge zu nehmen, dass ein preisg\u00fcnstiges Ger\u00e4t nicht ausreicht.)<\/em><\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Wie wird der Befehl eingegeben?<\/h2>\n\n\n\n<p>Raspberry Pi starten, auf dem Ger\u00e4t den Browser starten (der ist schon installiert), diese Webseite aufrufen <strong>(1)<\/strong>, zur Text-Box scrollen, in der rechten Ecke ist ein Kopier-Symbol <strong>(2)<\/strong>, das anklicken. Dann Terminal aufrufen <strong>(3)<\/strong> und ins Terminal den gesamten Text kopieren <strong>(4)<\/strong> &#8211; am einfachsten mit der rechten Maustaste und &#8222;einf\u00fcgen&#8220;. Enter dr\u00fccken. Fertig.<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"713\" src=\"https:\/\/digital-cleaning.de\/wp-content\/uploads\/2025\/11\/ppl24_2-1024x713.jpg\" alt=\"\" class=\"wp-image-3054\" srcset=\"https:\/\/digital-cleaning.de\/wp-content\/uploads\/2025\/11\/ppl24_2-1024x713.jpg 1024w, https:\/\/digital-cleaning.de\/wp-content\/uploads\/2025\/11\/ppl24_2-300x209.jpg 300w, https:\/\/digital-cleaning.de\/wp-content\/uploads\/2025\/11\/ppl24_2-768x535.jpg 768w, https:\/\/digital-cleaning.de\/wp-content\/uploads\/2025\/11\/ppl24_2-1140x793.jpg 1140w, https:\/\/digital-cleaning.de\/wp-content\/uploads\/2025\/11\/ppl24_2.jpg 1454w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<p>Damit wird die gesamte Installation in Gang gesetzt. Es muss lediglich 1 x neu gebootet werden (nach ca. 2 Minuten). Das versuche ich noch zu automatisieren, aber momentan gibt man einfach ein:<\/p>\n\n\n\n<div class=\"wp-block-kevinbatdorf-code-block-pro\" data-code-block-pro-font-family=\"Code-Pro-JetBrains-Mono\" style=\"font-size:.875rem;font-family:Code-Pro-JetBrains-Mono,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;line-height:1.25rem;--cbp-tab-width:2;tab-size:var(--cbp-tab-width, 2)\"><span role=\"button\" tabindex=\"0\" style=\"color:#f6f6f4;display:none\" aria-label=\"Copy\" class=\"code-block-pro-copy-button\"><pre class=\"code-block-pro-copy-button-pre\" aria-hidden=\"true\"><textarea class=\"code-block-pro-copy-button-textarea\" tabindex=\"-1\" aria-hidden=\"true\" readonly>sudo reboot<\/textarea><\/pre><svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" style=\"width:24px;height:24px\" fill=\"none\" viewBox=\"0 0 24 24\" stroke=\"currentColor\" stroke-width=\"2\"><path class=\"with-check\" stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2m-6 9l2 2 4-4\"><\/path><path class=\"without-check\" stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2\"><\/path><\/svg><\/span><pre class=\"shiki dracula-soft\" style=\"background-color: #282A36\" tabindex=\"0\"><code><span class=\"line\"><span style=\"color: #F6F6F4\">sudo reboot<\/span><\/span><\/code><\/pre><\/div>\n\n\n\n<p>Wenn der Raspberry Pi hochgefahren ist:<\/p>\n\n\n\n<div class=\"wp-block-kevinbatdorf-code-block-pro\" data-code-block-pro-font-family=\"Code-Pro-JetBrains-Mono\" style=\"font-size:.875rem;font-family:Code-Pro-JetBrains-Mono,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;line-height:1.25rem;--cbp-tab-width:2;tab-size:var(--cbp-tab-width, 2)\"><span role=\"button\" tabindex=\"0\" style=\"color:#f6f6f4;display:none\" aria-label=\"Copy\" class=\"code-block-pro-copy-button\"><pre class=\"code-block-pro-copy-button-pre\" aria-hidden=\"true\"><textarea class=\"code-block-pro-copy-button-textarea\" tabindex=\"-1\" aria-hidden=\"true\" readonly>cd paperless-ngx &amp;&amp; docker compose up -d<\/textarea><\/pre><svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" style=\"width:24px;height:24px\" fill=\"none\" viewBox=\"0 0 24 24\" stroke=\"currentColor\" stroke-width=\"2\"><path class=\"with-check\" stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2m-6 9l2 2 4-4\"><\/path><path class=\"without-check\" stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2\"><\/path><\/svg><\/span><pre class=\"shiki dracula-soft\" style=\"background-color: #282A36\" tabindex=\"0\"><code><span class=\"line\"><span style=\"color: #F6F6F4\">cd paperless<\/span><span style=\"color: #F286C4\">-<\/span><span style=\"color: #F6F6F4\">ngx <\/span><span style=\"color: #F286C4\">&amp;&amp;<\/span><span style=\"color: #F6F6F4\"> docker compose up <\/span><span style=\"color: #F286C4\">-<\/span><span style=\"color: #F6F6F4\">d<\/span><\/span><\/code><\/pre><\/div>\n\n\n\n<p>Durch diesen Befehl wird der Code von den Servern geholt und alle notwendigen Dienste werden gestartet. Das hat bei mir knapp 7 Minuten gedauert, dann ist alles erledigt. (Falls man langsame Speichermedien benutzt, dauert alles ein paar Minuten l\u00e4nger.)<\/p>\n\n\n\n<blockquote class=\"wp-block-quote is-layout-flow wp-block-quote-is-layout-flow\">\n<p>Aufgerufen wird Paperless-ngx in einem Browser auf einem beliebigen Ger\u00e4t mit [IP-des-Ger\u00e4ts]:8011, also z. B. http:\/\/192.168.178.77<strong>:8011<\/strong>. <br><strong>Beim ersten Start ben\u00f6tigt das System 2 &#8211; 3 Minuten, bis es hochgefahren ist <\/strong>&#8211; also nicht ungeduldig werden :-). <br><strong>Nutzername: admin, Passwort: admin <\/strong>(und nat\u00fcrlich dann in den Einstellungen \u00e4ndern nach dem ersten Login).<\/p>\n<\/blockquote>\n\n\n\n<h2 class=\"wp-block-heading\">Ein Befehl &#8211; zwei Varianten<\/h2>\n\n\n\n<h3 class=\"wp-block-heading\">Variante 1: mit Docker-Installation<\/h3>\n\n\n\n<p>Wenn man Raspberry Pi OS frisch startet und bisher noch keine Homeserver-Anwendungen genutzt hat, so ist dieser Befehl die richtige Variante. In einem Vorschub installiert er gleich Docker mit und geht dann nahtlos zur Installation von Paperless-ngx \u00fcber.<\/p>\n\n\n\n<div class=\"wp-block-kevinbatdorf-code-block-pro\" data-code-block-pro-font-family=\"Code-Pro-JetBrains-Mono\" style=\"font-size:.875rem;font-family:Code-Pro-JetBrains-Mono,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;line-height:1.25rem;--cbp-tab-width:2;tab-size:var(--cbp-tab-width, 2)\"><span role=\"button\" tabindex=\"0\" style=\"color:#f6f6f4;display:none\" aria-label=\"Copy\" class=\"code-block-pro-copy-button\"><pre class=\"code-block-pro-copy-button-pre\" aria-hidden=\"true\"><textarea class=\"code-block-pro-copy-button-textarea\" tabindex=\"-1\" aria-hidden=\"true\" readonly>bash -c 'set -e; SCRIPT_MARKER=\"\/tmp\/paperless_install_stage2\"; if &#91; ! -f \"$SCRIPT_MARKER\" &#93;; then echo \"=== Paperless-ngx Installation - Stage 1 (Mit Office-Support) ===\"; sudo apt update &amp;&amp; sudo apt install -y ca-certificates curl extrepo &amp;&amp; sudo extrepo enable docker-ce &amp;&amp; sudo apt update &amp;&amp; sudo apt install -y docker-ce docker-ce-cli containerd.io docker-compose-plugin &amp;&amp; sudo systemctl enable docker &amp;&amp; sudo systemctl start docker &amp;&amp; sudo usermod -aG docker $USER &amp;&amp; mkdir -p ~\/paperless-ngx\/{data,media,consume,pgdata} &amp;&amp; cd ~\/paperless-ngx &amp;&amp; cat > docker-compose.yml &lt;&lt; \"EOF\"\nservices:\n  broker:\n    image: redis:alpine\n    restart: unless-stopped\n\n  db:\n    image: postgres:17\n    restart: unless-stopped\n    volumes:\n      - pgdata:\/var\/lib\/postgresql\/data\n    environment:\n      POSTGRES_DB: paperless\n      POSTGRES_USER: paperless\n      POSTGRES_PASSWORD: paperless\n\n  paperless-ngx:\n    image: ghcr.io\/paperless-ngx\/paperless-ngx:latest\n    restart: unless-stopped\n    depends_on:\n      - db\n      - broker\n      - tika\n      - gotenberg\n    ports:\n      - 8011:8000\n    volumes:\n      - .\/data:\/usr\/src\/paperless\/data\n      - .\/media:\/usr\/src\/paperless\/media\n      - .\/consume:\/usr\/src\/paperless\/consume\n    environment:\n      PAPERLESS_REDIS: redis:\/\/broker:6379\n      PAPERLESS_DBHOST: db\n      PAPERLESS_DBNAME: paperless\n      PAPERLESS_DBUSER: paperless\n      PAPERLESS_DBPASS: paperless\n      PAPERLESS_MEDIA_ROOT: \/usr\/src\/paperless\/media\n      PAPERLESS_DATA_DIR: \/usr\/src\/paperless\/data\n      PAPERLESS_OCR_LANGUAGE: deu+eng\n      PAPERLESS_ADMIN_USER: admin\n      PAPERLESS_ADMIN_PASSWORD: admin\n      PAPERLESS_TIME_ZONE: Europe\/Berlin\n      PAPERLESS_OCR_USER_ARGS: \"{\\\"continue_on_soft_render_error\\\": true}\"\n      # Office Support Konfiguration\n      PAPERLESS_TIKA_ENABLED: 1\n      PAPERLESS_TIKA_ENDPOINT: http:\/\/tika:9998\n      PAPERLESS_TIKA_GOTENBERG_ENDPOINT: http:\/\/gotenberg:3000\n\n  tika:\n    image: apache\/tika:latest\n    restart: unless-stopped\n\n  gotenberg:\n    image: gotenberg\/gotenberg:latest\n    restart: unless-stopped\n    command: \n      - \"gotenberg\"\n      - \"--chromium-disable-javascript=true\"\n      - \"--chromium-allow-list=file:\/\/\/tmp\/.*\"\n\nvolumes:\n  pgdata:\nEOF\ntouch \"$SCRIPT_MARKER\" &amp;&amp; cat > ~\/.config\/autostart\/paperless-installer.desktop &lt;&lt; \"AUTOSTART\"\n&#91;Desktop Entry&#93;\nType=Application\nName=Paperless Installer Stage 2\nExec=lxterminal -e bash -c \"cd ~\/paperless-ngx &amp;&amp; docker compose up -d &amp;&amp; sleep 3 &amp;&amp; echo &amp;&amp; echo \\\"=== Installation abgeschlossen! ===\\\" &amp;&amp; echo \\\"Paperless-ngx l\u00e4uft jetzt auf: http:\/\/\\$(hostname -I | awk \\\"{print \\\\\\$1}\\\"):8011\\\" &amp;&amp; echo \\\"Standard-Login: admin \/ admin\\\" &amp;&amp; echo \\\"WICHTIG: Bitte \u00e4ndern Sie das Passwort!\\\" &amp;&amp; echo \\\"Dokumente-Ordner: ~\/paperless-ngx\/consume\\\" &amp;&amp; echo &amp;&amp; docker compose ps &amp;&amp; rm ~\/.config\/autostart\/paperless-installer.desktop &amp;&amp; rm \/tmp\/paperless_install_stage2 &amp;&amp; echo &amp;&amp; echo \\\"Dr\u00fccken Sie ENTER zum Schlie\u00dfen...\\\" &amp;&amp; read\"\nHidden=false\nNoDisplay=false\nX-GNOME-Autostart-enabled=true\nAUTOSTART\necho \"\" &amp;&amp; echo \"=== Stage 1 abgeschlossen - System wird neu gestartet ===\" &amp;&amp; echo \"Nach dem Neustart wird die Installation automatisch fortgesetzt...\" &amp;&amp; sleep 3 &amp;&amp; sudo reboot; else echo \"Stage 2 wurde bereits ausgef\u00fchrt oder Marker existiert.\"; fi'<\/textarea><\/pre><svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" style=\"width:24px;height:24px\" fill=\"none\" viewBox=\"0 0 24 24\" stroke=\"currentColor\" stroke-width=\"2\"><path class=\"with-check\" stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2m-6 9l2 2 4-4\"><\/path><path class=\"without-check\" stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2\"><\/path><\/svg><\/span><pre class=\"shiki dracula-soft\" style=\"background-color: #282A36\" tabindex=\"0\"><code><span class=\"line\"><span style=\"color: #F6F6F4\">bash <\/span><span style=\"color: #F286C4\">-<\/span><span style=\"color: #F6F6F4\">c <\/span><span style=\"color: #DEE492\">&#39;<\/span><span style=\"color: #E7EE98\">set -e; SCRIPT_MARKER=&quot;\/tmp\/paperless_install_stage2&quot;; if &#91; ! -f &quot;$SCRIPT_MARKER&quot; &#93;; then echo &quot;=== Paperless-ngx Installation - Stage 1 (Mit Office-Support) ===&quot;; sudo apt update &amp;&amp; sudo apt install -y ca-certificates curl extrepo &amp;&amp; sudo extrepo enable docker-ce &amp;&amp; sudo apt update &amp;&amp; sudo apt install -y docker-ce docker-ce-cli containerd.io docker-compose-plugin &amp;&amp; sudo systemctl enable docker &amp;&amp; sudo systemctl start docker &amp;&amp; sudo usermod -aG docker $USER &amp;&amp; mkdir -p ~\/paperless-ngx\/{data,media,consume,pgdata} &amp;&amp; cd ~\/paperless-ngx &amp;&amp; cat &gt; docker-compose.yml &lt;&lt; &quot;EOF<\/span><span style=\"color: #EE6666; font-style: italic; text-decoration: underline\">&quot;<\/span><\/span>\n<span class=\"line\"><span style=\"color: #F6F6F4\">services:<\/span><\/span>\n<span class=\"line\"><span style=\"color: #F6F6F4\">  broker:<\/span><\/span>\n<span class=\"line\"><span style=\"color: #F6F6F4\">    image: redis:alpine<\/span><\/span>\n<span class=\"line\"><span style=\"color: #F6F6F4\">    restart: unless<\/span><span style=\"color: #F286C4\">-<\/span><span style=\"color: #F6F6F4\">stopped<\/span><\/span>\n<span class=\"line\"><\/span>\n<span class=\"line\"><span style=\"color: #F6F6F4\">  db:<\/span><\/span>\n<span class=\"line\"><span style=\"color: #F6F6F4\">    image: postgres:<\/span><span style=\"color: #BF9EEE\">17<\/span><\/span>\n<span class=\"line\"><span style=\"color: #F6F6F4\">    restart: unless<\/span><span style=\"color: #F286C4\">-<\/span><span style=\"color: #F6F6F4\">stopped<\/span><\/span>\n<span class=\"line\"><span style=\"color: #F6F6F4\">    volumes:<\/span><\/span>\n<span class=\"line\"><span style=\"color: #F6F6F4\">      <\/span><span style=\"color: #F286C4\">-<\/span><span style=\"color: #F6F6F4\"> pgdata:<\/span><span style=\"color: #F286C4\">\/var<\/span><span style=\"color: #F6F6F4\">\/lib\/postgresql\/data<\/span><\/span>\n<span class=\"line\"><span style=\"color: #F6F6F4\">    environment:<\/span><\/span>\n<span class=\"line\"><span style=\"color: #F6F6F4\">      POSTGRES_DB: paperless<\/span><\/span>\n<span class=\"line\"><span style=\"color: #F6F6F4\">      POSTGRES_USER: paperless<\/span><\/span>\n<span class=\"line\"><span style=\"color: #F6F6F4\">      POSTGRES_PASSWORD: paperless<\/span><\/span>\n<span class=\"line\"><\/span>\n<span class=\"line\"><span style=\"color: #F6F6F4\">  paperless<\/span><span style=\"color: #F286C4\">-<\/span><span style=\"color: #F6F6F4\">ngx:<\/span><\/span>\n<span class=\"line\"><span style=\"color: #F6F6F4\">    image: ghcr.io<\/span><span style=\"color: #F286C4\">\/<\/span><span style=\"color: #F6F6F4\">paperless<\/span><span style=\"color: #F286C4\">-<\/span><span style=\"color: #F6F6F4\">ngx<\/span><span style=\"color: #F286C4\">\/<\/span><span style=\"color: #F6F6F4\">paperless<\/span><span style=\"color: #F286C4\">-<\/span><span style=\"color: #F6F6F4\">ngx:latest<\/span><\/span>\n<span class=\"line\"><span style=\"color: #F6F6F4\">    restart: unless<\/span><span style=\"color: #F286C4\">-<\/span><span style=\"color: #F6F6F4\">stopped<\/span><\/span>\n<span class=\"line\"><span style=\"color: #F6F6F4\">    depends_on:<\/span><\/span>\n<span class=\"line\"><span style=\"color: #F6F6F4\">      <\/span><span style=\"color: #F286C4\">-<\/span><span style=\"color: #F6F6F4\"> db<\/span><\/span>\n<span class=\"line\"><span style=\"color: #F6F6F4\">      <\/span><span style=\"color: #F286C4\">-<\/span><span style=\"color: #F6F6F4\"> broker<\/span><\/span>\n<span class=\"line\"><span style=\"color: #F6F6F4\">      <\/span><span style=\"color: #F286C4\">-<\/span><span style=\"color: #F6F6F4\"> tika<\/span><\/span>\n<span class=\"line\"><span style=\"color: #F6F6F4\">      <\/span><span style=\"color: #F286C4\">-<\/span><span style=\"color: #F6F6F4\"> gotenberg<\/span><\/span>\n<span class=\"line\"><span style=\"color: #F6F6F4\">    ports:<\/span><\/span>\n<span class=\"line\"><span style=\"color: #F6F6F4\">      <\/span><span style=\"color: #F286C4\">-<\/span><span style=\"color: #F6F6F4\"> <\/span><span style=\"color: #BF9EEE\">8011<\/span><span style=\"color: #F6F6F4\">:<\/span><span style=\"color: #BF9EEE\">8000<\/span><\/span>\n<span class=\"line\"><span style=\"color: #F6F6F4\">    volumes:<\/span><\/span>\n<span class=\"line\"><span style=\"color: #F6F6F4\">      <\/span><span style=\"color: #F286C4\">-<\/span><span style=\"color: #F6F6F4\"> .<\/span><span style=\"color: #F286C4\">\/<\/span><span style=\"color: #F6F6F4\">data:<\/span><span style=\"color: #F286C4\">\/<\/span><span style=\"color: #F6F6F4\">usr<\/span><span style=\"color: #F286C4\">\/<\/span><span style=\"color: #F6F6F4\">src<\/span><span style=\"color: #F286C4\">\/<\/span><span style=\"color: #F6F6F4\">paperless<\/span><span style=\"color: #F286C4\">\/<\/span><span style=\"color: #F6F6F4\">data<\/span><\/span>\n<span class=\"line\"><span style=\"color: #F6F6F4\">      <\/span><span style=\"color: #F286C4\">-<\/span><span style=\"color: #F6F6F4\"> .<\/span><span style=\"color: #F286C4\">\/<\/span><span style=\"color: #F6F6F4\">media:<\/span><span style=\"color: #F286C4\">\/<\/span><span style=\"color: #F6F6F4\">usr<\/span><span style=\"color: #F286C4\">\/<\/span><span style=\"color: #F6F6F4\">src<\/span><span style=\"color: #F286C4\">\/<\/span><span style=\"color: #F6F6F4\">paperless<\/span><span style=\"color: #F286C4\">\/<\/span><span style=\"color: #F6F6F4\">media<\/span><\/span>\n<span class=\"line\"><span style=\"color: #F6F6F4\">      <\/span><span style=\"color: #F286C4\">-<\/span><span style=\"color: #F6F6F4\"> .<\/span><span style=\"color: #F286C4\">\/<\/span><span style=\"color: #F6F6F4\">consume:<\/span><span style=\"color: #F286C4\">\/<\/span><span style=\"color: #F6F6F4\">usr<\/span><span style=\"color: #F286C4\">\/<\/span><span style=\"color: #F6F6F4\">src<\/span><span style=\"color: #F286C4\">\/<\/span><span style=\"color: #F6F6F4\">paperless<\/span><span style=\"color: #F286C4\">\/<\/span><span style=\"color: #F6F6F4\">consume<\/span><\/span>\n<span class=\"line\"><span style=\"color: #F6F6F4\">    environment:<\/span><\/span>\n<span class=\"line\"><span style=\"color: #F6F6F4\">      PAPERLESS_REDIS: redis:<\/span><span style=\"color: #7B7F8B\">\/\/broker:6379<\/span><\/span>\n<span class=\"line\"><span style=\"color: #F6F6F4\">      PAPERLESS_DBHOST: db<\/span><\/span>\n<span class=\"line\"><span style=\"color: #F6F6F4\">      PAPERLESS_DBNAME: paperless<\/span><\/span>\n<span class=\"line\"><span style=\"color: #F6F6F4\">      PAPERLESS_DBUSER: paperless<\/span><\/span>\n<span class=\"line\"><span style=\"color: #F6F6F4\">      PAPERLESS_DBPASS: paperless<\/span><\/span>\n<span class=\"line\"><span style=\"color: #F6F6F4\">      PAPERLESS_MEDIA_ROOT: <\/span><span style=\"color: #F286C4\">\/<\/span><span style=\"color: #F6F6F4\">usr<\/span><span style=\"color: #F286C4\">\/<\/span><span style=\"color: #F6F6F4\">src<\/span><span style=\"color: #F286C4\">\/<\/span><span style=\"color: #F6F6F4\">paperless<\/span><span style=\"color: #F286C4\">\/<\/span><span style=\"color: #F6F6F4\">media<\/span><\/span>\n<span class=\"line\"><span style=\"color: #F6F6F4\">      PAPERLESS_DATA_DIR: <\/span><span style=\"color: #F286C4\">\/<\/span><span style=\"color: #F6F6F4\">usr<\/span><span style=\"color: #F286C4\">\/<\/span><span style=\"color: #F6F6F4\">src<\/span><span style=\"color: #F286C4\">\/<\/span><span style=\"color: #F6F6F4\">paperless<\/span><span style=\"color: #F286C4\">\/<\/span><span style=\"color: #F6F6F4\">data<\/span><\/span>\n<span class=\"line\"><span style=\"color: #F6F6F4\">      PAPERLESS_OCR_LANGUAGE: deu<\/span><span style=\"color: #F286C4\">+<\/span><span style=\"color: #F6F6F4\">eng<\/span><\/span>\n<span class=\"line\"><span style=\"color: #F6F6F4\">      PAPERLESS_ADMIN_USER: admin<\/span><\/span>\n<span class=\"line\"><span style=\"color: #F6F6F4\">      PAPERLESS_ADMIN_PASSWORD: admin<\/span><\/span>\n<span class=\"line\"><span style=\"color: #F6F6F4\">      PAPERLESS_TIME_ZONE: Europe<\/span><span style=\"color: #F286C4\">\/<\/span><span style=\"color: #F6F6F4\">Berlin<\/span><\/span>\n<span class=\"line\"><span style=\"color: #F6F6F4\">      PAPERLESS_OCR_USER_ARGS: <\/span><span style=\"color: #DEE492\">&quot;<\/span><span style=\"color: #E7EE98\">{<\/span><span style=\"color: #F286C4\">\\&quot;<\/span><span style=\"color: #E7EE98\">continue_on_soft_render_error<\/span><span style=\"color: #F286C4\">\\&quot;<\/span><span style=\"color: #E7EE98\">: true}<\/span><span style=\"color: #DEE492\">&quot;<\/span><\/span>\n<span class=\"line\"><span style=\"color: #F6F6F4\">      # Office Support Konfiguration<\/span><\/span>\n<span class=\"line\"><span style=\"color: #F6F6F4\">      PAPERLESS_TIKA_ENABLED: <\/span><span style=\"color: #BF9EEE\">1<\/span><\/span>\n<span class=\"line\"><span style=\"color: #F6F6F4\">      PAPERLESS_TIKA_ENDPOINT: http:<\/span><span style=\"color: #7B7F8B\">\/\/tika:9998<\/span><\/span>\n<span class=\"line\"><span style=\"color: #F6F6F4\">      PAPERLESS_TIKA_GOTENBERG_ENDPOINT: http:<\/span><span style=\"color: #7B7F8B\">\/\/gotenberg:3000<\/span><\/span>\n<span class=\"line\"><\/span>\n<span class=\"line\"><span style=\"color: #F6F6F4\">  tika:<\/span><\/span>\n<span class=\"line\"><span style=\"color: #F6F6F4\">    image: apache<\/span><span style=\"color: #F286C4\">\/<\/span><span style=\"color: #F6F6F4\">tika:latest<\/span><\/span>\n<span class=\"line\"><span style=\"color: #F6F6F4\">    restart: unless<\/span><span style=\"color: #F286C4\">-<\/span><span style=\"color: #F6F6F4\">stopped<\/span><\/span>\n<span class=\"line\"><\/span>\n<span class=\"line\"><span style=\"color: #F6F6F4\">  gotenberg:<\/span><\/span>\n<span class=\"line\"><span style=\"color: #F6F6F4\">    image: gotenberg<\/span><span style=\"color: #F286C4\">\/<\/span><span style=\"color: #F6F6F4\">gotenberg:latest<\/span><\/span>\n<span class=\"line\"><span style=\"color: #F6F6F4\">    restart: unless<\/span><span style=\"color: #F286C4\">-<\/span><span style=\"color: #F6F6F4\">stopped<\/span><\/span>\n<span class=\"line\"><span style=\"color: #F6F6F4\">    command: <\/span><\/span>\n<span class=\"line\"><span style=\"color: #F6F6F4\">      <\/span><span style=\"color: #F286C4\">-<\/span><span style=\"color: #F6F6F4\"> <\/span><span style=\"color: #DEE492\">&quot;<\/span><span style=\"color: #E7EE98\">gotenberg<\/span><span style=\"color: #DEE492\">&quot;<\/span><\/span>\n<span class=\"line\"><span style=\"color: #F6F6F4\">      <\/span><span style=\"color: #F286C4\">-<\/span><span style=\"color: #F6F6F4\"> <\/span><span style=\"color: #DEE492\">&quot;<\/span><span style=\"color: #E7EE98\">--chromium-disable-javascript=true<\/span><span style=\"color: #DEE492\">&quot;<\/span><\/span>\n<span class=\"line\"><span style=\"color: #F6F6F4\">      <\/span><span style=\"color: #F286C4\">-<\/span><span style=\"color: #F6F6F4\"> <\/span><span style=\"color: #DEE492\">&quot;<\/span><span style=\"color: #E7EE98\">--chromium-allow-list=file:\/\/\/tmp\/.*<\/span><span style=\"color: #DEE492\">&quot;<\/span><\/span>\n<span class=\"line\"><\/span>\n<span class=\"line\"><span style=\"color: #F6F6F4\">volumes:<\/span><\/span>\n<span class=\"line\"><span style=\"color: #F6F6F4\">  pgdata:<\/span><\/span>\n<span class=\"line\"><span style=\"color: #F6F6F4\">EOF<\/span><\/span>\n<span class=\"line\"><span style=\"color: #F6F6F4\">touch <\/span><span style=\"color: #DEE492\">&quot;<\/span><span style=\"color: #E7EE98\">$SCRIPT_MARKER<\/span><span style=\"color: #DEE492\">&quot;<\/span><span style=\"color: #F6F6F4\"> <\/span><span style=\"color: #F286C4\">&amp;&amp;<\/span><span style=\"color: #F6F6F4\"> cat <\/span><span style=\"color: #F286C4\">&gt;<\/span><span style=\"color: #F6F6F4\"> <\/span><span style=\"color: #F286C4\">~\/<\/span><span style=\"color: #F6F6F4\">.config<\/span><span style=\"color: #F286C4\">\/<\/span><span style=\"color: #F6F6F4\">autostart<\/span><span style=\"color: #F286C4\">\/<\/span><span style=\"color: #F6F6F4\">paperless<\/span><span style=\"color: #F286C4\">-<\/span><span style=\"color: #F6F6F4\">installer.desktop <\/span><span style=\"color: #F286C4\">&lt;&lt;<\/span><span style=\"color: #F6F6F4\"> <\/span><span style=\"color: #DEE492\">&quot;<\/span><span style=\"color: #E7EE98\">AUTOSTART<\/span><span style=\"color: #DEE492\">&quot;<\/span><\/span>\n<span class=\"line\"><span style=\"color: #F6F6F4\">&#91;Desktop Entry&#93;<\/span><\/span>\n<span class=\"line\"><span style=\"color: #F6F6F4\">Type<\/span><span style=\"color: #F286C4\">=<\/span><span style=\"color: #F6F6F4\">Application<\/span><\/span>\n<span class=\"line\"><span style=\"color: #F6F6F4\">Name<\/span><span style=\"color: #F286C4\">=<\/span><span style=\"color: #F6F6F4\">Paperless Installer Stage <\/span><span style=\"color: #BF9EEE\">2<\/span><\/span>\n<span class=\"line\"><span style=\"color: #F6F6F4\">Exec<\/span><span style=\"color: #F286C4\">=<\/span><span style=\"color: #F6F6F4\">lxterminal <\/span><span style=\"color: #F286C4\">-<\/span><span style=\"color: #F6F6F4\">e bash <\/span><span style=\"color: #F286C4\">-<\/span><span style=\"color: #F6F6F4\">c <\/span><span style=\"color: #DEE492\">&quot;<\/span><span style=\"color: #E7EE98\">cd ~\/paperless-ngx &amp;&amp; docker compose up -d &amp;&amp; sleep 3 &amp;&amp; echo &amp;&amp; echo <\/span><span style=\"color: #F286C4\">\\&quot;<\/span><span style=\"color: #E7EE98\">=== Installation abgeschlossen! ===<\/span><span style=\"color: #F286C4\">\\&quot;<\/span><span style=\"color: #E7EE98\"> &amp;&amp; echo <\/span><span style=\"color: #F286C4\">\\&quot;<\/span><span style=\"color: #E7EE98\">Paperless-ngx l\u00e4uft jetzt auf: http:\/\/<\/span><span style=\"color: #F286C4\">\\$<\/span><span style=\"color: #E7EE98\">(hostname -I | awk <\/span><span style=\"color: #F286C4\">\\&quot;<\/span><span style=\"color: #E7EE98\">{print <\/span><span style=\"color: #F286C4\">\\\\\\$<\/span><span style=\"color: #E7EE98\">1}<\/span><span style=\"color: #F286C4\">\\&quot;<\/span><span style=\"color: #E7EE98\">):8011<\/span><span style=\"color: #F286C4\">\\&quot;<\/span><span style=\"color: #E7EE98\"> &amp;&amp; echo <\/span><span style=\"color: #F286C4\">\\&quot;<\/span><span style=\"color: #E7EE98\">Standard-Login: admin \/ admin<\/span><span style=\"color: #F286C4\">\\&quot;<\/span><span style=\"color: #E7EE98\"> &amp;&amp; echo <\/span><span style=\"color: #F286C4\">\\&quot;<\/span><span style=\"color: #E7EE98\">WICHTIG: Bitte \u00e4ndern Sie das Passwort!<\/span><span style=\"color: #F286C4\">\\&quot;<\/span><span style=\"color: #E7EE98\"> &amp;&amp; echo <\/span><span style=\"color: #F286C4\">\\&quot;<\/span><span style=\"color: #E7EE98\">Dokumente-Ordner: ~\/paperless-ngx\/consume<\/span><span style=\"color: #F286C4\">\\&quot;<\/span><span style=\"color: #E7EE98\"> &amp;&amp; echo &amp;&amp; docker compose ps &amp;&amp; rm ~\/.config\/autostart\/paperless-installer.desktop &amp;&amp; rm \/tmp\/paperless_install_stage2 &amp;&amp; echo &amp;&amp; echo <\/span><span style=\"color: #F286C4\">\\&quot;<\/span><span style=\"color: #E7EE98\">Dr\u00fccken Sie ENTER zum Schlie\u00dfen...<\/span><span style=\"color: #F286C4\">\\&quot;<\/span><span style=\"color: #E7EE98\"> &amp;&amp; read<\/span><span style=\"color: #DEE492\">&quot;<\/span><\/span>\n<span class=\"line\"><span style=\"color: #F6F6F4\">Hidden<\/span><span style=\"color: #F286C4\">=<\/span><span style=\"color: #BF9EEE\">false<\/span><\/span>\n<span class=\"line\"><span style=\"color: #F6F6F4\">NoDisplay<\/span><span style=\"color: #F286C4\">=<\/span><span style=\"color: #BF9EEE\">false<\/span><\/span>\n<span class=\"line\"><span style=\"color: #F6F6F4\">X<\/span><span style=\"color: #F286C4\">-<\/span><span style=\"color: #F6F6F4\">GNOME<\/span><span style=\"color: #F286C4\">-<\/span><span style=\"color: #F6F6F4\">Autostart<\/span><span style=\"color: #F286C4\">-<\/span><span style=\"color: #F6F6F4\">enabled<\/span><span style=\"color: #F286C4\">=<\/span><span style=\"color: #BF9EEE\">true<\/span><\/span>\n<span class=\"line\"><span style=\"color: #F6F6F4\">AUTOSTART<\/span><\/span>\n<span class=\"line\"><span style=\"color: #F6F6F4\">echo <\/span><span style=\"color: #DEE492\">&quot;&quot;<\/span><span style=\"color: #F6F6F4\"> <\/span><span style=\"color: #F286C4\">&amp;&amp;<\/span><span style=\"color: #F6F6F4\"> echo <\/span><span style=\"color: #DEE492\">&quot;<\/span><span style=\"color: #E7EE98\">=== Stage 1 abgeschlossen - System wird neu gestartet ===<\/span><span style=\"color: #DEE492\">&quot;<\/span><span style=\"color: #F6F6F4\"> <\/span><span style=\"color: #F286C4\">&amp;&amp;<\/span><span style=\"color: #F6F6F4\"> echo <\/span><span style=\"color: #DEE492\">&quot;<\/span><span style=\"color: #E7EE98\">Nach dem Neustart wird die Installation automatisch fortgesetzt...<\/span><span style=\"color: #DEE492\">&quot;<\/span><span style=\"color: #F6F6F4\"> <\/span><span style=\"color: #F286C4\">&amp;&amp;<\/span><span style=\"color: #F6F6F4\"> sleep <\/span><span style=\"color: #BF9EEE\">3<\/span><span style=\"color: #F6F6F4\"> <\/span><span style=\"color: #F286C4\">&amp;&amp;<\/span><span style=\"color: #F6F6F4\"> sudo reboot; <\/span><span style=\"color: #F286C4\">else<\/span><span style=\"color: #F6F6F4\"> echo <\/span><span style=\"color: #DEE492\">&quot;<\/span><span style=\"color: #E7EE98\">Stage 2 wurde bereits ausgef\u00fchrt oder Marker existiert.<\/span><span style=\"color: #DEE492\">&quot;<\/span><span style=\"color: #F6F6F4\">; fi<\/span><span style=\"color: #DEE492\">&#39;<\/span><\/span><\/code><\/pre><\/div>\n\n\n\n<h3 class=\"wp-block-heading\">Variante 2: ohne Docker-Installation<\/h3>\n\n\n\n<p>Sofern bereits andere Dienste auf die Raspberry Pi laufen, die Docker mit docker-compose verwenden, ist die Installation von Docker unn\u00f6tig. Daher reicht ein k\u00fcrzerer Befehl und die Installationszeit sollte sich entsprechend verringern:<\/p>\n\n\n\n<div class=\"wp-block-kevinbatdorf-code-block-pro\" data-code-block-pro-font-family=\"Code-Pro-JetBrains-Mono\" style=\"font-size:.875rem;font-family:Code-Pro-JetBrains-Mono,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;line-height:1.25rem;--cbp-tab-width:2;tab-size:var(--cbp-tab-width, 2)\"><span role=\"button\" tabindex=\"0\" style=\"color:#f6f6f4;display:none\" aria-label=\"Copy\" class=\"code-block-pro-copy-button\"><pre class=\"code-block-pro-copy-button-pre\" aria-hidden=\"true\"><textarea class=\"code-block-pro-copy-button-textarea\" tabindex=\"-1\" aria-hidden=\"true\" readonly>bash -c 'set -e; SCRIPT_MARKER=\"\/tmp\/paperless_install_stage2\"; if &#91; ! -f \"$SCRIPT_MARKER\" &#93;; then echo \"=== Paperless-ngx Installation - Stage 1 (Ohne Docker-Installation, mit Office-Support) ===\"; mkdir -p ~\/paperless-ngx\/{data,media,consume,pgdata} &amp;&amp; cd ~\/paperless-ngx &amp;&amp; cat > docker-compose.yml &lt;&lt; \"EOF\"\nservices:\n  broker:\n    image: redis:alpine\n    restart: unless-stopped\n\n  db:\n    image: postgres:17\n    restart: unless-stopped\n    volumes:\n      - pgdata:\/var\/lib\/postgresql\/data\n    environment:\n      POSTGRES_DB: paperless\n      POSTGRES_USER: paperless\n      POSTGRES_PASSWORD: paperless\n\n  paperless-ngx:\n    image: ghcr.io\/paperless-ngx\/paperless-ngx:latest\n    restart: unless-stopped\n    depends_on:\n      - db\n      - broker\n      - tika\n      - gotenberg\n    ports:\n      - 8011:8000\n    volumes:\n      - .\/data:\/usr\/src\/paperless\/data\n      - .\/media:\/usr\/src\/paperless\/media\n      - .\/consume:\/usr\/src\/paperless\/consume\n    environment:\n      PAPERLESS_REDIS: redis:\/\/broker:6379\n      PAPERLESS_DBHOST: db\n      PAPERLESS_DBNAME: paperless\n      PAPERLESS_DBUSER: paperless\n      PAPERLESS_DBPASS: paperless\n      PAPERLESS_MEDIA_ROOT: \/usr\/src\/paperless\/media\n      PAPERLESS_DATA_DIR: \/usr\/src\/paperless\/data\n      PAPERLESS_OCR_LANGUAGE: deu+eng\n      PAPERLESS_ADMIN_USER: admin\n      PAPERLESS_ADMIN_PASSWORD: admin\n      PAPERLESS_TIME_ZONE: Europe\/Berlin\n      PAPERLESS_OCR_USER_ARGS: \"{\\\"continue_on_soft_render_error\\\": true}\"\n      # Office Support Konfiguration\n      PAPERLESS_TIKA_ENABLED: 1\n      PAPERLESS_TIKA_ENDPOINT: http:\/\/tika:9998\n      PAPERLESS_TIKA_GOTENBERG_ENDPOINT: http:\/\/gotenberg:3000\n\n  tika:\n    image: apache\/tika:latest\n    restart: unless-stopped\n\n  gotenberg:\n    image: gotenberg\/gotenberg:latest\n    restart: unless-stopped\n    command: \n      - \"gotenberg\"\n      - \"--chromium-disable-javascript=true\"\n      - \"--chromium-allow-list=file:\/\/\/tmp\/.*\"\n\nvolumes:\n  pgdata:\nEOF\ntouch \"$SCRIPT_MARKER\" &amp;&amp; cat > ~\/.config\/autostart\/paperless-installer.desktop &lt;&lt; \"AUTOSTART\"\n&#91;Desktop Entry&#93;\nType=Application\nName=Paperless Installer Stage 2\nExec=lxterminal -e bash -c \"cd ~\/paperless-ngx &amp;&amp; docker compose up -d &amp;&amp; sleep 3 &amp;&amp; echo &amp;&amp; echo \\\"=== Installation abgeschlossen! ===\\\" &amp;&amp; echo \\\"Paperless-ngx l\u00e4uft jetzt auf: http:\/\/\\$(hostname -I | awk \\\"{print \\\\\\$1}\\\"):8011\\\" &amp;&amp; echo \\\"Standard-Login: admin \/ admin\\\" &amp;&amp; echo \\\"WICHTIG: Bitte \u00e4ndern Sie das Passwort!\\\" &amp;&amp; echo \\\"Dokumente-Ordner: ~\/paperless-ngx\/consume\\\" &amp;&amp; echo &amp;&amp; docker compose ps &amp;&amp; rm ~\/.config\/autostart\/paperless-installer.desktop &amp;&amp; rm \/tmp\/paperless_install_stage2 &amp;&amp; echo &amp;&amp; echo \\\"Dr\u00fccken Sie ENTER zum Schlie\u00dfen...\\\" &amp;&amp; read\"\nHidden=false\nNoDisplay=false\nX-GNOME-Autostart-enabled=true\nAUTOSTART\necho \"\" &amp;&amp; echo \"=== Stage 1 abgeschlossen - System wird neu gestartet ===\" &amp;&amp; echo \"Nach dem Neustart wird die Installation automatisch fortgesetzt...\" &amp;&amp; sleep 3 &amp;&amp; sudo reboot; else echo \"Stage 2 wurde bereits ausgef\u00fchrt oder Marker existiert.\"; fi'<\/textarea><\/pre><svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" style=\"width:24px;height:24px\" fill=\"none\" viewBox=\"0 0 24 24\" stroke=\"currentColor\" stroke-width=\"2\"><path class=\"with-check\" stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2m-6 9l2 2 4-4\"><\/path><path class=\"without-check\" stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2\"><\/path><\/svg><\/span><pre class=\"shiki dracula-soft\" style=\"background-color: #282A36\" tabindex=\"0\"><code><span class=\"line\"><span style=\"color: #F6F6F4\">bash <\/span><span style=\"color: #F286C4\">-<\/span><span style=\"color: #F6F6F4\">c <\/span><span style=\"color: #DEE492\">&#39;<\/span><span style=\"color: #E7EE98\">set -e; SCRIPT_MARKER=&quot;\/tmp\/paperless_install_stage2&quot;; if &#91; ! -f &quot;$SCRIPT_MARKER&quot; &#93;; then echo &quot;=== Paperless-ngx Installation - Stage 1 (Ohne Docker-Installation, mit Office-Support) ===&quot;; mkdir -p ~\/paperless-ngx\/{data,media,consume,pgdata} &amp;&amp; cd ~\/paperless-ngx &amp;&amp; cat &gt; docker-compose.yml &lt;&lt; &quot;EOF<\/span><span style=\"color: #EE6666; font-style: italic; text-decoration: underline\">&quot;<\/span><\/span>\n<span class=\"line\"><span style=\"color: #F6F6F4\">services:<\/span><\/span>\n<span class=\"line\"><span style=\"color: #F6F6F4\">  broker:<\/span><\/span>\n<span class=\"line\"><span style=\"color: #F6F6F4\">    image: redis:alpine<\/span><\/span>\n<span class=\"line\"><span style=\"color: #F6F6F4\">    restart: unless<\/span><span style=\"color: #F286C4\">-<\/span><span style=\"color: #F6F6F4\">stopped<\/span><\/span>\n<span class=\"line\"><\/span>\n<span class=\"line\"><span style=\"color: #F6F6F4\">  db:<\/span><\/span>\n<span class=\"line\"><span style=\"color: #F6F6F4\">    image: postgres:<\/span><span style=\"color: #BF9EEE\">17<\/span><\/span>\n<span class=\"line\"><span style=\"color: #F6F6F4\">    restart: unless<\/span><span style=\"color: #F286C4\">-<\/span><span style=\"color: #F6F6F4\">stopped<\/span><\/span>\n<span class=\"line\"><span style=\"color: #F6F6F4\">    volumes:<\/span><\/span>\n<span class=\"line\"><span style=\"color: #F6F6F4\">      <\/span><span style=\"color: #F286C4\">-<\/span><span style=\"color: #F6F6F4\"> pgdata:<\/span><span style=\"color: #F286C4\">\/var<\/span><span style=\"color: #F6F6F4\">\/lib\/postgresql\/data<\/span><\/span>\n<span class=\"line\"><span style=\"color: #F6F6F4\">    environment:<\/span><\/span>\n<span class=\"line\"><span style=\"color: #F6F6F4\">      POSTGRES_DB: paperless<\/span><\/span>\n<span class=\"line\"><span style=\"color: #F6F6F4\">      POSTGRES_USER: paperless<\/span><\/span>\n<span class=\"line\"><span style=\"color: #F6F6F4\">      POSTGRES_PASSWORD: paperless<\/span><\/span>\n<span class=\"line\"><\/span>\n<span class=\"line\"><span style=\"color: #F6F6F4\">  paperless<\/span><span style=\"color: #F286C4\">-<\/span><span style=\"color: #F6F6F4\">ngx:<\/span><\/span>\n<span class=\"line\"><span style=\"color: #F6F6F4\">    image: ghcr.io<\/span><span style=\"color: #F286C4\">\/<\/span><span style=\"color: #F6F6F4\">paperless<\/span><span style=\"color: #F286C4\">-<\/span><span style=\"color: #F6F6F4\">ngx<\/span><span style=\"color: #F286C4\">\/<\/span><span style=\"color: #F6F6F4\">paperless<\/span><span style=\"color: #F286C4\">-<\/span><span style=\"color: #F6F6F4\">ngx:latest<\/span><\/span>\n<span class=\"line\"><span style=\"color: #F6F6F4\">    restart: unless<\/span><span style=\"color: #F286C4\">-<\/span><span style=\"color: #F6F6F4\">stopped<\/span><\/span>\n<span class=\"line\"><span style=\"color: #F6F6F4\">    depends_on:<\/span><\/span>\n<span class=\"line\"><span style=\"color: #F6F6F4\">      <\/span><span style=\"color: #F286C4\">-<\/span><span style=\"color: #F6F6F4\"> db<\/span><\/span>\n<span class=\"line\"><span style=\"color: #F6F6F4\">      <\/span><span style=\"color: #F286C4\">-<\/span><span style=\"color: #F6F6F4\"> broker<\/span><\/span>\n<span class=\"line\"><span style=\"color: #F6F6F4\">      <\/span><span style=\"color: #F286C4\">-<\/span><span style=\"color: #F6F6F4\"> tika<\/span><\/span>\n<span class=\"line\"><span style=\"color: #F6F6F4\">      <\/span><span style=\"color: #F286C4\">-<\/span><span style=\"color: #F6F6F4\"> gotenberg<\/span><\/span>\n<span class=\"line\"><span style=\"color: #F6F6F4\">    ports:<\/span><\/span>\n<span class=\"line\"><span style=\"color: #F6F6F4\">      <\/span><span style=\"color: #F286C4\">-<\/span><span style=\"color: #F6F6F4\"> <\/span><span style=\"color: #BF9EEE\">8011<\/span><span style=\"color: #F6F6F4\">:<\/span><span style=\"color: #BF9EEE\">8000<\/span><\/span>\n<span class=\"line\"><span style=\"color: #F6F6F4\">    volumes:<\/span><\/span>\n<span class=\"line\"><span style=\"color: #F6F6F4\">      <\/span><span style=\"color: #F286C4\">-<\/span><span style=\"color: #F6F6F4\"> .<\/span><span style=\"color: #F286C4\">\/<\/span><span style=\"color: #F6F6F4\">data:<\/span><span style=\"color: #F286C4\">\/<\/span><span style=\"color: #F6F6F4\">usr<\/span><span style=\"color: #F286C4\">\/<\/span><span style=\"color: #F6F6F4\">src<\/span><span style=\"color: #F286C4\">\/<\/span><span style=\"color: #F6F6F4\">paperless<\/span><span style=\"color: #F286C4\">\/<\/span><span style=\"color: #F6F6F4\">data<\/span><\/span>\n<span class=\"line\"><span style=\"color: #F6F6F4\">      <\/span><span style=\"color: #F286C4\">-<\/span><span style=\"color: #F6F6F4\"> .<\/span><span style=\"color: #F286C4\">\/<\/span><span style=\"color: #F6F6F4\">media:<\/span><span style=\"color: #F286C4\">\/<\/span><span style=\"color: #F6F6F4\">usr<\/span><span style=\"color: #F286C4\">\/<\/span><span style=\"color: #F6F6F4\">src<\/span><span style=\"color: #F286C4\">\/<\/span><span style=\"color: #F6F6F4\">paperless<\/span><span style=\"color: #F286C4\">\/<\/span><span style=\"color: #F6F6F4\">media<\/span><\/span>\n<span class=\"line\"><span style=\"color: #F6F6F4\">      <\/span><span style=\"color: #F286C4\">-<\/span><span style=\"color: #F6F6F4\"> .<\/span><span style=\"color: #F286C4\">\/<\/span><span style=\"color: #F6F6F4\">consume:<\/span><span style=\"color: #F286C4\">\/<\/span><span style=\"color: #F6F6F4\">usr<\/span><span style=\"color: #F286C4\">\/<\/span><span style=\"color: #F6F6F4\">src<\/span><span style=\"color: #F286C4\">\/<\/span><span style=\"color: #F6F6F4\">paperless<\/span><span style=\"color: #F286C4\">\/<\/span><span style=\"color: #F6F6F4\">consume<\/span><\/span>\n<span class=\"line\"><span style=\"color: #F6F6F4\">    environment:<\/span><\/span>\n<span class=\"line\"><span style=\"color: #F6F6F4\">      PAPERLESS_REDIS: redis:<\/span><span style=\"color: #7B7F8B\">\/\/broker:6379<\/span><\/span>\n<span class=\"line\"><span style=\"color: #F6F6F4\">      PAPERLESS_DBHOST: db<\/span><\/span>\n<span class=\"line\"><span style=\"color: #F6F6F4\">      PAPERLESS_DBNAME: paperless<\/span><\/span>\n<span class=\"line\"><span style=\"color: #F6F6F4\">      PAPERLESS_DBUSER: paperless<\/span><\/span>\n<span class=\"line\"><span style=\"color: #F6F6F4\">      PAPERLESS_DBPASS: paperless<\/span><\/span>\n<span class=\"line\"><span style=\"color: #F6F6F4\">      PAPERLESS_MEDIA_ROOT: <\/span><span style=\"color: #F286C4\">\/<\/span><span style=\"color: #F6F6F4\">usr<\/span><span style=\"color: #F286C4\">\/<\/span><span style=\"color: #F6F6F4\">src<\/span><span style=\"color: #F286C4\">\/<\/span><span style=\"color: #F6F6F4\">paperless<\/span><span style=\"color: #F286C4\">\/<\/span><span style=\"color: #F6F6F4\">media<\/span><\/span>\n<span class=\"line\"><span style=\"color: #F6F6F4\">      PAPERLESS_DATA_DIR: <\/span><span style=\"color: #F286C4\">\/<\/span><span style=\"color: #F6F6F4\">usr<\/span><span style=\"color: #F286C4\">\/<\/span><span style=\"color: #F6F6F4\">src<\/span><span style=\"color: #F286C4\">\/<\/span><span style=\"color: #F6F6F4\">paperless<\/span><span style=\"color: #F286C4\">\/<\/span><span style=\"color: #F6F6F4\">data<\/span><\/span>\n<span class=\"line\"><span style=\"color: #F6F6F4\">      PAPERLESS_OCR_LANGUAGE: deu<\/span><span style=\"color: #F286C4\">+<\/span><span style=\"color: #F6F6F4\">eng<\/span><\/span>\n<span class=\"line\"><span style=\"color: #F6F6F4\">      PAPERLESS_ADMIN_USER: admin<\/span><\/span>\n<span class=\"line\"><span style=\"color: #F6F6F4\">      PAPERLESS_ADMIN_PASSWORD: admin<\/span><\/span>\n<span class=\"line\"><span style=\"color: #F6F6F4\">      PAPERLESS_TIME_ZONE: Europe<\/span><span style=\"color: #F286C4\">\/<\/span><span style=\"color: #F6F6F4\">Berlin<\/span><\/span>\n<span class=\"line\"><span style=\"color: #F6F6F4\">      PAPERLESS_OCR_USER_ARGS: <\/span><span style=\"color: #DEE492\">&quot;<\/span><span style=\"color: #E7EE98\">{<\/span><span style=\"color: #F286C4\">\\&quot;<\/span><span style=\"color: #E7EE98\">continue_on_soft_render_error<\/span><span style=\"color: #F286C4\">\\&quot;<\/span><span style=\"color: #E7EE98\">: true}<\/span><span style=\"color: #DEE492\">&quot;<\/span><\/span>\n<span class=\"line\"><span style=\"color: #F6F6F4\">      # Office Support Konfiguration<\/span><\/span>\n<span class=\"line\"><span style=\"color: #F6F6F4\">      PAPERLESS_TIKA_ENABLED: <\/span><span style=\"color: #BF9EEE\">1<\/span><\/span>\n<span class=\"line\"><span style=\"color: #F6F6F4\">      PAPERLESS_TIKA_ENDPOINT: http:<\/span><span style=\"color: #7B7F8B\">\/\/tika:9998<\/span><\/span>\n<span class=\"line\"><span style=\"color: #F6F6F4\">      PAPERLESS_TIKA_GOTENBERG_ENDPOINT: http:<\/span><span style=\"color: #7B7F8B\">\/\/gotenberg:3000<\/span><\/span>\n<span class=\"line\"><\/span>\n<span class=\"line\"><span style=\"color: #F6F6F4\">  tika:<\/span><\/span>\n<span class=\"line\"><span style=\"color: #F6F6F4\">    image: apache<\/span><span style=\"color: #F286C4\">\/<\/span><span style=\"color: #F6F6F4\">tika:latest<\/span><\/span>\n<span class=\"line\"><span style=\"color: #F6F6F4\">    restart: unless<\/span><span style=\"color: #F286C4\">-<\/span><span style=\"color: #F6F6F4\">stopped<\/span><\/span>\n<span class=\"line\"><\/span>\n<span class=\"line\"><span style=\"color: #F6F6F4\">  gotenberg:<\/span><\/span>\n<span class=\"line\"><span style=\"color: #F6F6F4\">    image: gotenberg<\/span><span style=\"color: #F286C4\">\/<\/span><span style=\"color: #F6F6F4\">gotenberg:latest<\/span><\/span>\n<span class=\"line\"><span style=\"color: #F6F6F4\">    restart: unless<\/span><span style=\"color: #F286C4\">-<\/span><span style=\"color: #F6F6F4\">stopped<\/span><\/span>\n<span class=\"line\"><span style=\"color: #F6F6F4\">    command: <\/span><\/span>\n<span class=\"line\"><span style=\"color: #F6F6F4\">      <\/span><span style=\"color: #F286C4\">-<\/span><span style=\"color: #F6F6F4\"> <\/span><span style=\"color: #DEE492\">&quot;<\/span><span style=\"color: #E7EE98\">gotenberg<\/span><span style=\"color: #DEE492\">&quot;<\/span><\/span>\n<span class=\"line\"><span style=\"color: #F6F6F4\">      <\/span><span style=\"color: #F286C4\">-<\/span><span style=\"color: #F6F6F4\"> <\/span><span style=\"color: #DEE492\">&quot;<\/span><span style=\"color: #E7EE98\">--chromium-disable-javascript=true<\/span><span style=\"color: #DEE492\">&quot;<\/span><\/span>\n<span class=\"line\"><span style=\"color: #F6F6F4\">      <\/span><span style=\"color: #F286C4\">-<\/span><span style=\"color: #F6F6F4\"> <\/span><span style=\"color: #DEE492\">&quot;<\/span><span style=\"color: #E7EE98\">--chromium-allow-list=file:\/\/\/tmp\/.*<\/span><span style=\"color: #DEE492\">&quot;<\/span><\/span>\n<span class=\"line\"><\/span>\n<span class=\"line\"><span style=\"color: #F6F6F4\">volumes:<\/span><\/span>\n<span class=\"line\"><span style=\"color: #F6F6F4\">  pgdata:<\/span><\/span>\n<span class=\"line\"><span style=\"color: #F6F6F4\">EOF<\/span><\/span>\n<span class=\"line\"><span style=\"color: #F6F6F4\">touch <\/span><span style=\"color: #DEE492\">&quot;<\/span><span style=\"color: #E7EE98\">$SCRIPT_MARKER<\/span><span style=\"color: #DEE492\">&quot;<\/span><span style=\"color: #F6F6F4\"> <\/span><span style=\"color: #F286C4\">&amp;&amp;<\/span><span style=\"color: #F6F6F4\"> cat <\/span><span style=\"color: #F286C4\">&gt;<\/span><span style=\"color: #F6F6F4\"> <\/span><span style=\"color: #F286C4\">~\/<\/span><span style=\"color: #F6F6F4\">.config<\/span><span style=\"color: #F286C4\">\/<\/span><span style=\"color: #F6F6F4\">autostart<\/span><span style=\"color: #F286C4\">\/<\/span><span style=\"color: #F6F6F4\">paperless<\/span><span style=\"color: #F286C4\">-<\/span><span style=\"color: #F6F6F4\">installer.desktop <\/span><span style=\"color: #F286C4\">&lt;&lt;<\/span><span style=\"color: #F6F6F4\"> <\/span><span style=\"color: #DEE492\">&quot;<\/span><span style=\"color: #E7EE98\">AUTOSTART<\/span><span style=\"color: #DEE492\">&quot;<\/span><\/span>\n<span class=\"line\"><span style=\"color: #F6F6F4\">&#91;Desktop Entry&#93;<\/span><\/span>\n<span class=\"line\"><span style=\"color: #F6F6F4\">Type<\/span><span style=\"color: #F286C4\">=<\/span><span style=\"color: #F6F6F4\">Application<\/span><\/span>\n<span class=\"line\"><span style=\"color: #F6F6F4\">Name<\/span><span style=\"color: #F286C4\">=<\/span><span style=\"color: #F6F6F4\">Paperless Installer Stage <\/span><span style=\"color: #BF9EEE\">2<\/span><\/span>\n<span class=\"line\"><span style=\"color: #F6F6F4\">Exec<\/span><span style=\"color: #F286C4\">=<\/span><span style=\"color: #F6F6F4\">lxterminal <\/span><span style=\"color: #F286C4\">-<\/span><span style=\"color: #F6F6F4\">e bash <\/span><span style=\"color: #F286C4\">-<\/span><span style=\"color: #F6F6F4\">c <\/span><span style=\"color: #DEE492\">&quot;<\/span><span style=\"color: #E7EE98\">cd ~\/paperless-ngx &amp;&amp; docker compose up -d &amp;&amp; sleep 3 &amp;&amp; echo &amp;&amp; echo <\/span><span style=\"color: #F286C4\">\\&quot;<\/span><span style=\"color: #E7EE98\">=== Installation abgeschlossen! ===<\/span><span style=\"color: #F286C4\">\\&quot;<\/span><span style=\"color: #E7EE98\"> &amp;&amp; echo <\/span><span style=\"color: #F286C4\">\\&quot;<\/span><span style=\"color: #E7EE98\">Paperless-ngx l\u00e4uft jetzt auf: http:\/\/<\/span><span style=\"color: #F286C4\">\\$<\/span><span style=\"color: #E7EE98\">(hostname -I | awk <\/span><span style=\"color: #F286C4\">\\&quot;<\/span><span style=\"color: #E7EE98\">{print <\/span><span style=\"color: #F286C4\">\\\\\\$<\/span><span style=\"color: #E7EE98\">1}<\/span><span style=\"color: #F286C4\">\\&quot;<\/span><span style=\"color: #E7EE98\">):8011<\/span><span style=\"color: #F286C4\">\\&quot;<\/span><span style=\"color: #E7EE98\"> &amp;&amp; echo <\/span><span style=\"color: #F286C4\">\\&quot;<\/span><span style=\"color: #E7EE98\">Standard-Login: admin \/ admin<\/span><span style=\"color: #F286C4\">\\&quot;<\/span><span style=\"color: #E7EE98\"> &amp;&amp; echo <\/span><span style=\"color: #F286C4\">\\&quot;<\/span><span style=\"color: #E7EE98\">WICHTIG: Bitte \u00e4ndern Sie das Passwort!<\/span><span style=\"color: #F286C4\">\\&quot;<\/span><span style=\"color: #E7EE98\"> &amp;&amp; echo <\/span><span style=\"color: #F286C4\">\\&quot;<\/span><span style=\"color: #E7EE98\">Dokumente-Ordner: ~\/paperless-ngx\/consume<\/span><span style=\"color: #F286C4\">\\&quot;<\/span><span style=\"color: #E7EE98\"> &amp;&amp; echo &amp;&amp; docker compose ps &amp;&amp; rm ~\/.config\/autostart\/paperless-installer.desktop &amp;&amp; rm \/tmp\/paperless_install_stage2 &amp;&amp; echo &amp;&amp; echo <\/span><span style=\"color: #F286C4\">\\&quot;<\/span><span style=\"color: #E7EE98\">Dr\u00fccken Sie ENTER zum Schlie\u00dfen...<\/span><span style=\"color: #F286C4\">\\&quot;<\/span><span style=\"color: #E7EE98\"> &amp;&amp; read<\/span><span style=\"color: #DEE492\">&quot;<\/span><\/span>\n<span class=\"line\"><span style=\"color: #F6F6F4\">Hidden<\/span><span style=\"color: #F286C4\">=<\/span><span style=\"color: #BF9EEE\">false<\/span><\/span>\n<span class=\"line\"><span style=\"color: #F6F6F4\">NoDisplay<\/span><span style=\"color: #F286C4\">=<\/span><span style=\"color: #BF9EEE\">false<\/span><\/span>\n<span class=\"line\"><span style=\"color: #F6F6F4\">X<\/span><span style=\"color: #F286C4\">-<\/span><span style=\"color: #F6F6F4\">GNOME<\/span><span style=\"color: #F286C4\">-<\/span><span style=\"color: #F6F6F4\">Autostart<\/span><span style=\"color: #F286C4\">-<\/span><span style=\"color: #F6F6F4\">enabled<\/span><span style=\"color: #F286C4\">=<\/span><span style=\"color: #BF9EEE\">true<\/span><\/span>\n<span class=\"line\"><span style=\"color: #F6F6F4\">AUTOSTART<\/span><\/span>\n<span class=\"line\"><span style=\"color: #F6F6F4\">echo <\/span><span style=\"color: #DEE492\">&quot;&quot;<\/span><span style=\"color: #F6F6F4\"> <\/span><span style=\"color: #F286C4\">&amp;&amp;<\/span><span style=\"color: #F6F6F4\"> echo <\/span><span style=\"color: #DEE492\">&quot;<\/span><span style=\"color: #E7EE98\">=== Stage 1 abgeschlossen - System wird neu gestartet ===<\/span><span style=\"color: #DEE492\">&quot;<\/span><span style=\"color: #F6F6F4\"> <\/span><span style=\"color: #F286C4\">&amp;&amp;<\/span><span style=\"color: #F6F6F4\"> echo <\/span><span style=\"color: #DEE492\">&quot;<\/span><span style=\"color: #E7EE98\">Nach dem Neustart wird die Installation automatisch fortgesetzt...<\/span><span style=\"color: #DEE492\">&quot;<\/span><span style=\"color: #F6F6F4\"> <\/span><span style=\"color: #F286C4\">&amp;&amp;<\/span><span style=\"color: #F6F6F4\"> sleep <\/span><span style=\"color: #BF9EEE\">3<\/span><span style=\"color: #F6F6F4\"> <\/span><span style=\"color: #F286C4\">&amp;&amp;<\/span><span style=\"color: #F6F6F4\"> sudo reboot; <\/span><span style=\"color: #F286C4\">else<\/span><span style=\"color: #F6F6F4\"> echo <\/span><span style=\"color: #DEE492\">&quot;<\/span><span style=\"color: #E7EE98\">Stage 2 wurde bereits ausgef\u00fchrt oder Marker existiert.<\/span><span style=\"color: #DEE492\">&quot;<\/span><span style=\"color: #F6F6F4\">; fi<\/span><span style=\"color: #DEE492\">&#39;<\/span><\/span><\/code><\/pre><\/div>\n\n\n\n<p>Den Code m\u00f6chte ich noch optimieren. Gerne nehme ich dazu Eure Tipps an. Wie immer gilt: Ich gebe das hier so weiter, wie das bei <em>mir <\/em>klappt. *) <\/p>\n\n\n\n<p>Ein Dokument zur Erkl\u00e4rung, wie der Befehl funktioniert, kann abgerufen mit diesen Links:<\/p>\n\n\n\n<p><a href=\"https:\/\/cloud.hertramph.de\/s\/LJM2qRSkmaEb2Ww\">PDF-Format<\/a><br><a href=\"https:\/\/cloud.hertramph.de\/s\/LR2mQj8Q924pztW\">EPUB-Format<\/a><\/p>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-large\"><a href=\"https:\/\/digital-cleaning.de\/wp-content\/uploads\/2025\/11\/ppl24_3.jpg\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"541\" src=\"https:\/\/digital-cleaning.de\/wp-content\/uploads\/2025\/11\/ppl24_3-1024x541.jpg\" alt=\"\" class=\"wp-image-3065\" srcset=\"https:\/\/digital-cleaning.de\/wp-content\/uploads\/2025\/11\/ppl24_3-1024x541.jpg 1024w, https:\/\/digital-cleaning.de\/wp-content\/uploads\/2025\/11\/ppl24_3-300x159.jpg 300w, https:\/\/digital-cleaning.de\/wp-content\/uploads\/2025\/11\/ppl24_3-768x406.jpg 768w, https:\/\/digital-cleaning.de\/wp-content\/uploads\/2025\/11\/ppl24_3-1140x602.jpg 1140w, https:\/\/digital-cleaning.de\/wp-content\/uploads\/2025\/11\/ppl24_3.jpg 1336w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/a><\/figure><\/div>\n\n\n<p><em>*) Ab und zu &#8211; sehr selten &#8211; erhalte ich eine Mail mit Vorw\u00fcrfen, dass etwas auf dem eigenen Ger\u00e4t nicht so klappt, wie ich das hier beschreibe. Ich bin kein IT-Berater &#8211; ich gebe das so weiter, wie ich es kann, aber man muss selbst entscheiden, ob man das \u00fcbernehmen m\u00f6chte. Das nur mal nebenbei &#8230; \ud83d\ude09<\/em><\/p>\n\n\n\n<p><strong>Bisherige Teile der Paperless-ngx-Serie:<\/strong><\/p>\n\n\n\n<p>Teil 1: <strong><a href=\"https:\/\/digital-cleaning.de\/index.php\/paperless-ngx-auf-dem-raspberry-pi-erstaunlich-gut-teil-1\/\">Ausf\u00fchrlicher \u00dcberblick<\/a><\/strong><br>Teil 2: <strong><a href=\"https:\/\/digital-cleaning.de\/index.php\/paperless-ngx-teil-2-suche-tags\/\">Suche &amp; Tags<\/a><\/strong><br>Teil 3: <strong><a href=\"https:\/\/digital-cleaning.de\/index.php\/paperless-ngx-teil-3-consume-der-laub-sauger-fur-dokumente\/\">consume-Ordner &#8211; Einsatz von Scannern<\/a><\/strong><br>Teil 4: <a href=\"https:\/\/digital-cleaning.de\/?p=1600\"><strong>Speicherpfade konfigurieren<\/strong><\/a><br>Teil 5: <a href=\"https:\/\/digital-cleaning.de\/?p=1623\"><strong>Installation auf dem Raspberry Pi<\/strong><\/a><br>Teil 6: <strong><a href=\"https:\/\/digital-cleaning.de\/index.php\/paperless-ngx-teil-6-neue-funktionen-in-version-2\/\" data-type=\"link\" data-id=\"https:\/\/digital-cleaning.de\/index.php\/paperless-ngx-teil-6-neue-funktionen-in-version-2\/\">Neue Funktionen in Version 2<\/a><\/strong><br>Teil 7: <strong><a href=\"https:\/\/digital-cleaning.de\/index.php\/paperless-ngx-teil-7-dokumente-unterwegs-ueber-das-eigene-modem-abrufen\/\" data-type=\"link\" data-id=\"https:\/\/digital-cleaning.de\/index.php\/paperless-ngx-teil-7-dokumente-unterwegs-ueber-das-eigene-modem-abrufen\/\">Dokumente unterwegs \u00fcber das eigene Modem abrufen<\/a><\/strong><br>Teil 8: <strong><a href=\"https:\/\/digital-cleaning.de\/index.php\/paperless-ngx-teil-8-exportfunktion-nutzen\/\" data-type=\"link\" data-id=\"https:\/\/digital-cleaning.de\/index.php\/paperless-ngx-teil-8-exportfunktion-nutzen\/\">Exportfunktion nutzen<\/a><\/strong><br>Teil 9: <strong><a href=\"https:\/\/digital-cleaning.de\/index.php\/paperless-ngx-teil-9-update-durchfuehren\/\" data-type=\"link\" data-id=\"https:\/\/digital-cleaning.de\/index.php\/paperless-ngx-teil-9-update-durchfuehren\/\">Update durchf\u00fchren<\/a><\/strong><br>Teil 10: <strong><a href=\"https:\/\/digital-cleaning.de\/index.php\/paperless-ngx-teil-10-das-rundum-sorglos-backup\/\" data-type=\"link\" data-id=\"https:\/\/digital-cleaning.de\/index.php\/paperless-ngx-teil-10-das-rundum-sorglos-backup\/\">Das Rundum-sorglos-Backup<\/a><\/strong><br>Teil 11: <strong><a href=\"https:\/\/digital-cleaning.de\/index.php\/paperless-ngx-teil-11-mail-abruf-mit-vielen-extras\/\" data-type=\"link\" data-id=\"https:\/\/digital-cleaning.de\/index.php\/paperless-ngx-teil-11-mail-abruf-mit-vielen-extras\/\">Mail-Abruf mit vielen Extras<\/a><\/strong><br>Teil 12: <strong><a href=\"https:\/\/digital-cleaning.de\/index.php\/paperless-ngx-teil-12-mein-alltag-mit-paperless-ngx\/\" data-type=\"link\" data-id=\"https:\/\/digital-cleaning.de\/index.php\/paperless-ngx-teil-12-mein-alltag-mit-paperless-ngx\/\">Mein Alltag mit Paperless-ngx<\/a><\/strong><br>Teil 13: <strong><a href=\"https:\/\/digital-cleaning.de\/index.php\/paperless-ngx-teil-13-ein-quanten-code-fuer-das-papier-archiv\/\" data-type=\"link\" data-id=\"https:\/\/digital-cleaning.de\/index.php\/paperless-ngx-teil-13-ein-quanten-code-fuer-das-papier-archiv\/\">Ein Quanten-Code f\u00fcr das Papier-Archiv<\/a><\/strong><br>Teil 14: <strong><a href=\"https:\/\/digital-cleaning.de\/?p=1819\">Automatisierte Ablage auf Speicherpfaden<\/a><\/strong><br>Teil 15: <strong><a href=\"https:\/\/digital-cleaning.de\/index.php\/paperless-ngx-teil-15-neue-funktion-fuer-das-verbinden-und-trennen-von-dokumenten\/\" data-type=\"link\" data-id=\"https:\/\/digital-cleaning.de\/index.php\/paperless-ngx-teil-15-neue-funktion-fuer-das-verbinden-und-trennen-von-dokumenten\/\">Neue Funktion f\u00fcr das Verbinden und Trennen von Dokumenten<\/a><\/strong><br>Teil 16: <a href=\"https:\/\/digital-cleaning.de\/index.php\/paperless-ngx-teil-16-dashboard-smarte-widgets-und-erweiterte-ansichten\/\"><strong>Dashboard, smarte Widgets und erweiterte Ansichten<\/strong><\/a><br>Teil 17: <strong><a href=\"https:\/\/digital-cleaning.de\/?p=2105\">Unterordner des consume-Verzeichnisses nutzen<\/a><\/strong><br>Teil 18: <a href=\"https:\/\/digital-cleaning.de\/index.php\/paperless-ngx-teil-18-synology-nas-ohne-docker-nutzen\/\"><strong>Paperless-ngx auf Synology\/NAS ohne Docker nutzen<\/strong><\/a><br>Teil 19: <a href=\"https:\/\/digital-cleaning.de\/index.php\/paperless-ngx-teil-19-praxisbeispiel-kleine-hausverwaltung\/\" data-type=\"post\" data-id=\"2648\"><strong>Praxisbeispiel \u2013 kleine Hausverwaltung<\/strong><\/a><br>Teil 20: <a href=\"https:\/\/digital-cleaning.de\/index.php\/paperless-ngx-teil-20-dokumente-per-mail-aus-dem-heimnetz-versenden\/\" data-type=\"link\" data-id=\"https:\/\/digital-cleaning.de\/index.php\/paperless-ngx-teil-20-dokumente-per-mail-aus-dem-heimnetz-versenden\/\u2197\"><strong>Dokumente per Mail aus dem Heimnetz versenden<\/strong><\/a><br>Teil 21: <strong><a href=\"https:\/\/digital-cleaning.de\/index.php\/paperless-ngx-teil-21-die-1-klick-sicherung-mit-allem-drum-und-dran\/\">Die 1-Klick-Sicherung mit allem Drum und Dran<\/a><\/strong><br>Teil 22: <strong><a href=\"https:\/\/digital-cleaning.de\/?p=2911\" data-type=\"link\" data-id=\"https:\/\/digital-cleaning.de\/?p=2911\">Update der Datenbank &#8211; super-simpel<\/a><\/strong><br>Teil 23: <strong><a href=\"https:\/\/digital-cleaning.de\/?p=2962\">Neuer PDF-Editor<\/a><\/strong><br>Teil 24: <strong><a href=\"https:\/\/digital-cleaning.de\/index.php\/paperless-ngx-teil-24-sofortinstallation\/\">Der Mega-All-in-One-Befehl f\u00fcr die Sofortinstallation<\/a><\/strong><br>Teil 25: <strong><a href=\"https:\/\/digital-cleaning.de\/index.php\/paperless-ngx-teil-25-der-briefmarken-pc\/\" data-type=\"link\" data-id=\"https:\/\/digital-cleaning.de\/index.php\/paperless-ngx-teil-25-der-briefmarken-pc\/\">Der Briefmarken-PC f\u00fcr die Weitergabe<\/a><\/strong><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Mit einem einzigen Befehl nicht nur Paperless-ngx installieren, sondern auch alle zus\u00e4tzlichen Funktionen aktivieren? So, dass man bereits nach wenigen Minuten die ersten Dokumente in das System schieben kann, die Texterkennung funktioniert (f\u00fcr deutsche und englische Texte), Dateiverzeichnisse zug\u00e4nglich sind, ein Admin-Konto angelegt ist? Auch Bilder und gespeicherte Mails aufgenommen werden k\u00f6nnen? Und dazu noch das neue Raspberry Pi OS Trixie zum Einsatz kommen kann und die neueste Datenbank-Version 17 von Postgres (Unterst\u00fctzung bis 2029) zum Einsatz kommt? Auch die Docker-Installation geschieht durch diesen Befehl, &#8211; und man muss sich um nichts Gedanken machen. Ja, das funktioniert. Das vorkonfigurierte Paket In Teil 5 der Serie habe ich die &#8222;traditionelle&#8220; Vorgehensweise zur Installation von Paperless-ngx auf einem Raspberry Pi beschrieben. Durch eine Reihe von einzelnen Schritten und Abfragen kann man das System den eigenen W\u00fcnschen anpassen &#8211; etwa auf die Texterkennung in MS-Word-Dokumenten verzichten, um Speicher zu sparen. Es hat sich aber gezeigt, dass viele Anwender:innen das &#8222;volle Paket&#8220; haben m\u00f6chten, um alle Funktionen zu nutzen, die das Dokumentenmanagementsystem bietet. Daher habe ich die Installation vorkonfiguriert mit allen Parametern, die in meiner Serie benutzt werden. So wird das Medienverzeichnis beispielsweise auf eine Weise angelegt, die direkt \u00fcber den Dateimanager zug\u00e4nglich ist. Man kommt also zu jedem Zeitpunkt an seine Daten, Dokumente, Unterverzeichnisse ran &#8211; selbst wenn Paperless-ngx einmal nicht funktionieren sollte. Auch die 1-Klick-Sicherung mit Versionierung klappt und die anderen empfohlenen Backup-Methoden. Nach wie vor kann man also alles, was in der umfangreichen Artikelserie beschrieben wird mit der neuen Installation nachvollziehen, ohne etwas \u00e4ndern zu m\u00fcssen. Nat\u00fcrlich kann man den Befehl gem\u00e4\u00df den eigenen W\u00fcnschen anpassen, aber gedacht ist er f\u00fcr absolute Beginner. Befehl kopieren und sofort ein vollst\u00e4ndig funktionierendes System vor sich haben, das ist das Ziel. Bei mir funktioniert der Befehl zwar, aber ich m\u00f6chte abwarten, welche R\u00fcckmeldungen ich erhalte. Auf welchem Raspberry Pi funktioniert es? Sehr gut l\u00e4uft Paperless-ngx bereits auf einem Raspberry Pi 4 mit 4 GB. Mit dieser Hardware habe ich den Befehl auch bei mir getestet (mein Hauptarchiv liegt auf einem Raspberry Pi 5 mit 8 GB und 500 GB NVMe M.2 SSD). Wer noch kein Ger\u00e4t hat, dem empfehle ich einen Raspberry Pi 400. Der ist aktuell neu f\u00fcr ca. 70 Euro zu haben und l\u00e4uft &#8222;lautlos&#8220;, da keinen Ventilator zur K\u00fchlung ben\u00f6tigt wird. Und ein (Tastatur-)Geh\u00e4use ist auch direkt dabei. Ob man das Betriebssystem auf eine microSD-Karte spielt oder einen USB-Stick ist nicht so wichtig. Wichtiger ist, dass das Speichermedium &#8222;schnell&#8220; ist &#8211; man sollte also keine Billigvarianten verwenden. Installiert sollte auf dem Raspberry Pi das neueste 64-Bit-Betriebssystem (Trixie) mit Desktop sein. Wenn man sich ein Starter-Kit von einem Raspberry Pi kauft, ist dieses bereits auf der beiliegenden SD-Karte installiert, ansonsten \u00fcberspielt man kurz die aktuelle Version. Aber sogar das muss man nicht mehr machen: Sofern man ein LAN-Kabel in den Raspberry Pi steckt, holt sich dieser das neue System \u00fcber das Internet und installiert es. Der Stromverbrauch bei allen Raspberry-Pi-Ger\u00e4ten ist mit ca. 4 &#8211; 6 W derart gering, dass man Paperless-ngx durchgehend laufen lassen kann und so zu jeder Zeit und auch von unterwegs Zugriff auf alle Dokumente hat. Aber auf YouTube sieht das immer so kompliziert aus. Und braucht man nicht auch ein NAS? Ich wei\u00df &#8211; es schlackern einem die Ohren, wenn da von Portainern, Stacks, Proxmox, Stacks und wei\u00df der Geier von was noch die Rede ist. Ein simpler Befehl gibt halt keine Einschaltquoten. &#8222;Nerds&#8220; werden in dem komplexen Vorgehen Vorteile sehen &#8211; ich sehe keine. Gegen ein gutes NAS f\u00fcr Backups habe ich nichts &#8211; aber man ben\u00f6tigt die teuren Ger\u00e4te nicht f\u00fcr Paperless-ngx. Selbst wenn man tausende von Dokumenten verwalten m\u00f6chte. Im Gegenteil, die Power eine Raspberry Pi kann bei der Verarbeitung einem einfacheren NAS sogar \u00fcberlegen sein. Nebenbei: Der Raspberry Pi eignet sich auch hervorragend f\u00fcr Backup-Aufgaben, wenn man noch eine USB-SSD anschlie\u00dft. Alternativ kann man auch gebrauchte ThinClients von Ebay nehmen, wie ich in meiner &#8222;25-Euro-NAS&#8220;-Serie gezeigt habe. (Ich will hier ja keine Werbung f\u00fcr eine bestimmte Hardware machen. Es geht mir nur darum, Anwendern, die noch keine Erfahrung mit Homeservern haben, etwas die Sorge zu nehmen, dass ein preisg\u00fcnstiges Ger\u00e4t nicht ausreicht.) Wie wird der Befehl eingegeben? Raspberry Pi starten, auf dem Ger\u00e4t den Browser starten (der ist schon installiert), diese Webseite aufrufen (1), zur Text-Box scrollen, in der rechten Ecke ist ein Kopier-Symbol (2), das anklicken. Dann Terminal aufrufen (3) und ins Terminal den gesamten Text kopieren (4) &#8211; am einfachsten mit der rechten Maustaste und &#8222;einf\u00fcgen&#8220;. Enter dr\u00fccken. Fertig. Damit wird die gesamte Installation in Gang gesetzt. Es muss lediglich 1 x neu gebootet werden (nach ca. 2 Minuten). Das versuche ich noch zu automatisieren, aber momentan gibt man einfach ein: Wenn der Raspberry Pi hochgefahren ist: Durch diesen Befehl wird der Code von den Servern geholt und alle notwendigen Dienste werden gestartet. Das hat bei mir knapp 7 Minuten gedauert, dann ist alles erledigt. (Falls man langsame Speichermedien benutzt, dauert alles ein paar Minuten l\u00e4nger.) Aufgerufen wird Paperless-ngx in einem Browser auf einem beliebigen Ger\u00e4t mit [IP-des-Ger\u00e4ts]:8011, also z. B. http:\/\/192.168.178.77:8011. Beim ersten Start ben\u00f6tigt das System 2 &#8211; 3 Minuten, bis es hochgefahren ist &#8211; also nicht ungeduldig werden :-). Nutzername: admin, Passwort: admin (und nat\u00fcrlich dann in den Einstellungen \u00e4ndern nach dem ersten Login). Ein Befehl &#8211; zwei Varianten Variante 1: mit Docker-Installation Wenn man Raspberry Pi OS frisch startet und bisher noch keine Homeserver-Anwendungen genutzt hat, so ist dieser Befehl die richtige Variante. In einem Vorschub installiert er gleich Docker mit und geht dann nahtlos zur Installation von Paperless-ngx \u00fcber. Variante 2: ohne Docker-Installation Sofern bereits andere Dienste auf die Raspberry Pi laufen, die Docker mit docker-compose verwenden, ist die Installation von Docker unn\u00f6tig. Daher reicht ein k\u00fcrzerer Befehl und die Installationszeit sollte sich entsprechend verringern: Den Code m\u00f6chte ich noch optimieren. Gerne nehme ich dazu Eure Tipps an. Wie immer gilt: Ich gebe das hier so weiter, wie das bei mir klappt. *) Ein Dokument zur Erkl\u00e4rung, wie der Befehl funktioniert, kann abgerufen mit diesen Links: PDF-FormatEPUB-Format *) Ab und zu &#8211; sehr selten &#8211; erhalte ich eine Mail mit Vorw\u00fcrfen, dass etwas auf dem eigenen Ger\u00e4t nicht so klappt, wie ich das hier beschreibe. Ich bin kein IT-Berater &#8211; ich gebe das so weiter, wie ich es kann, aber man muss selbst entscheiden, ob man das \u00fcbernehmen m\u00f6chte. Das nur mal nebenbei &#8230; \ud83d\ude09<\/p>\n","protected":false},"author":1,"featured_media":3092,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[1],"tags":[],"class_list":["post-3051","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-allgemein"],"_links":{"self":[{"href":"https:\/\/digital-cleaning.de\/index.php\/wp-json\/wp\/v2\/posts\/3051","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/digital-cleaning.de\/index.php\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/digital-cleaning.de\/index.php\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/digital-cleaning.de\/index.php\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/digital-cleaning.de\/index.php\/wp-json\/wp\/v2\/comments?post=3051"}],"version-history":[{"count":11,"href":"https:\/\/digital-cleaning.de\/index.php\/wp-json\/wp\/v2\/posts\/3051\/revisions"}],"predecessor-version":[{"id":3211,"href":"https:\/\/digital-cleaning.de\/index.php\/wp-json\/wp\/v2\/posts\/3051\/revisions\/3211"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/digital-cleaning.de\/index.php\/wp-json\/wp\/v2\/media\/3092"}],"wp:attachment":[{"href":"https:\/\/digital-cleaning.de\/index.php\/wp-json\/wp\/v2\/media?parent=3051"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/digital-cleaning.de\/index.php\/wp-json\/wp\/v2\/categories?post=3051"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/digital-cleaning.de\/index.php\/wp-json\/wp\/v2\/tags?post=3051"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}