Paperless-ngx Installation mit Podman

  • Angeregt durch aktuelle paperless-ngx Threads und einem Artikel auf neryarticles.com wollte ich paperless-ngx auch ausprobieren. Ich möchte paperless-ngx aber nicht als Web-Service auf einem Extra-Server (im Heimnetz oder gar in einer Cloud) haben. Die Papiere sollen auf meinem Rechner im verschlüsselten Homeverzeichnis bleiben.

    Die Standard-Installation basiert auf Docker und Docker-Compose. Entweder man lädt eine von mehreren docker-compose.yml-Dateien von der paperless-ngx-Website herunter oder ein Installationsskript, das verschiedene Optionen abfragt und dann die passende docker-compose.yml-Datei lädt und anpasst.

    Ich möchte aber zumindest auf meinen Fedora-Rechnern kein Docker installieren, sondern rootless-Container mit podman nutzen. Ich habe daher nach entsprechenden Anleitungen für die Installation von paperless-ngx in rootless Containern gesucht, aber nichts passendes gefunden. Teils waren die Anleitungen unnötig kompliziert, teils auch fehlerhaft. Hilfreich für mich war letztlich nur eine Antwort zu einem Issue auf der paperless-github Site: https://github.com/paperless-ngx/…discussions/686

    Da die Kommandozeilen-Schnittstelle von podman weitgehend kompatibel zu docker ist, sollte es eigentlich möglich sein, die `docker-compose.yml` Dateien direkt in podman zu nutzen. Auf einem Fedora 42 System muss man dazu nur das Pendant zu docker-compose installieren:

    dnf install podman-compose

    Zu Vergleichszwecken habe ich zunächst docker, docker-compose und paperless-ngx auf Debian 12 mit dem Paperless-ngx Installationsskript installiert, einige Papiere importiert und dann die Docker-Konfigurationsdateien `docker-compose.yml`, `docker-compose.env` und `.env` auf meinen Fedora-Rechner in das gleiche Verzeichnis `~/Dokumente/paperless` kopiert. In der Theorie müsste man jetzt mit dem Kommando

    podman compose pull
    podman compose up

    die paperless-Container starten können. In der Praxis waren noch folgende Anpassungen nötig, die ich nach einigen Fehlversuchen gefunden hatte:

    In der Datei docker-compose.env die User- und Group-Id auf 0, d.h. auf root setzen. Mit podman läuft der Container mit den Rechten des aufrufenden Nutzers und die root-Id im Container wird standardmäßig auf die User-Id des Aufrufers auf dem Host abgebildet. Das braucht man für die Verzeichnisse `./consume` und `./export`, damit der Systemuser `paperless` vom paperless-ngx-Container darauf lesen und schreiben darf:

    Code
    USERMAP_UID=0
    USERMAP_GID=0
    PAPERLESS_TIME_ZONE=Europe/Berlin
    PAPERLESS_OCR_LANGUAGE=deu
    PAPERLESS_SECRET_KEY='Some-Random*Code'

    Für die docker-compose.yml Datei waren folgende zwei Anpassungen nötig:

    1. Ein Name für den pod, z.B. name: paperless
    2. Ein Flag :z für die geteilten Volumes, z.B.: - ./export:/usr/src/paperless/export:z

    Das :z Flag sorgt dafür, dass SELinux nicht den Zugriff durch den Container auf das Volume blockiert. Das braucht man natürlich nur für Systeme mit SELinux.

    Achtung Falle: Die Flags :z und :Z haben eine unterschiedliche Bedeutung. :z steht für shared, während :Z privat bedeutet, d.h. die Dateien sind nur für den Container les- und schreibbar. Für den Datenaustausch muss klein-:z gewählt werden.

    Meine Container-Konfiguration in docker-compose.yml mit sqlite-DB und ohne Tika sieht dann so aus:

    Die Installation auf einem zweiten Rechner bot dann auch die Gelegenheit das Backup und Restore zu testen. Das Einspielen einer Backup-Datei geht wie auf der paperless-ngx-Doku angegeben:

    podman compose exec webserver document_importer ../export/export-2025-07-07.zip

    Es war nicht nötig, vorher noch einen paperless-Superuser zu setzen, wie bei der Standard-Installation mit Skript.

    Starten des paperless-ngx Service geht dann mit

    cd ~/Dokumente/paperless && podman compose up

    Stoppen entsprechend mit podman compose down.

    Ich habe mir noch das Tool "Podman Desktop" von Flathub installiert, um paperless-ngx und ggf. weitere Container oder Pods mit einer GUI starten und stoppen zu können:

    Das ist aber optional und Geschmackssache.

    Noch 'ne Falle: `podman compose` ist eigentlich ein Wrapper, der je nach Konfiguration das Kommando `podman-compose` oder `docker-compose` aufruft. `docker-compose` gilt als Referenzimplementierung und wird vorrangig aufgerufen. Nach meiner Erfahrung verhalten sich die beiden Tools im Detail unterschiedlich. Das führt dann zu Problemen, wenn man einen Pod mit "podman-compose pull/up" erstellt hat und dann später aus Versehen mit docker-compose up/down/exec" zugreifen will. Deswegen sollte docker-compose nicht installiert werden, oder in `/etc/containers/containers.conf` `podman-compose` als Provider konfiguriert werden.

    Zotac ZBox ID91: Zorin OS 18 (GNOME) und GuideOS 1.0
    Geekom Mini IT11: Fedora 43 Silverblue (GNOME)
    Macbook Pro 2015: Fedora 43 Workstation (GNOME)

  • Der Beitrag hätte wohl besser in "Eigene Software-Projekte" gepasst.

    Ich wollte mich anhand des Beispiels paperless-ngx mit Podman-Desktop und Podman-Compose vertraut machen und testen, ob die Container wirklich auf unterschiedlichen Plattformen funktionieren. Ergebnis des Mini-Projektes wird ein alternatives Install-Skript werden, das man genau gleich wie das Original-Skript von paperless-ngx verwenden kann, also:

    Code
    bash -c "$(curl --location --silent --show-error https://raw.githubusercontent.com/$Mein_Github_Repo/main/install-paperless-ngx-as-pod.sh)"

    das die zu den gewählten Optionen passende docker-compose-Konfiguration erstellt und dann mit "podman compose" die paperless-ngx-Images lädt, die Container erstellt und startet. Erfolgreich getestet habe ich auf Fedora 42 Workstation, Debian 12 und MacOS Sequoia (ARM auf Mac Mini M4).

    Die einzige Anpassung im Installationsskript für MacOS war wegen sed nötig, weil MacOS noch eine uralte Version von sed ausliefert und man statt dessen gsed aus dem Paket gnu-sed verwenden muss. Am zeitaufwendigsten auf dem Mac war die Installation von Podman-Desktop, weil dazu erst das Betriebssystem aktualisiert, dann Xcode Command-Line Tools, Homebrew, Podman-Desktop sowie einige brew-Pakete (wget, gnu-sed, podman-compose) installiert werden mussten.

    Jedenfalls läuft paperless-ngx jetzt auch direkt auf dem Mac:

    Zotac ZBox ID91: Zorin OS 18 (GNOME) und GuideOS 1.0
    Geekom Mini IT11: Fedora 43 Silverblue (GNOME)
    Macbook Pro 2015: Fedora 43 Workstation (GNOME)

    Edited once, last by joka63: Grammatikfehler korrigiert (July 13, 2025 at 10:50 PM).

  • Hat sich erledigt.

    Zotac ZBox ID91: Zorin OS 18 (GNOME) und GuideOS 1.0
    Geekom Mini IT11: Fedora 43 Silverblue (GNOME)
    Macbook Pro 2015: Fedora 43 Workstation (GNOME)

  • Hallo,

    bekomme es nicht hin paperless-ngx auf einen Rasperrs PI 5 zu installieren.

    Habe Raspberry OS + podmann 5.4.2 installiert.

    Habe von meiner Linux-Mint 22.2 mit scp die drei Daten von meiner paperless Verzeichniss mit Ordner media + export in das gleiche Verzeichnis auf den Raspberry kopiert.

    Bei dem Befehl "podmann compose pull" bekomme ich nur Fehlermeldungen

    Code
    Error: looking up compose provider failed
    7 errors occurred:
    	* exec: "/home/hkaufmann/.docker/cli-plugins/docker-compose": stat /home/hkaufmann/.docker/cli-plugins/docker-compose: no such file or directory
    	* exec: "/usr/local/lib/docker/cli-plugins/docker-compose": stat /usr/local/lib/docker/cli-plugins/docker-compose: no such file or directory
    	* exec: "/usr/local/libexec/docker/cli-plugins/docker-compose": stat /usr/local/libexec/docker/cli-plugins/docker-compose: no such file or directory
    	* exec: "/usr/lib/docker/cli-plugins/docker-compose": stat /usr/lib/docker/cli-plugins/docker-compose: no such file or directory
    	* exec: "/usr/libexec/docker/cli-plugins/docker-compose": stat /usr/libexec/docker/cli-plugins/docker-compose: no such file or directory
    	* exec: "docker-compose": executable file not found in $PATH
    	* exec: "podman-compose": executable file not found in $PATH

    docker-compose.env

    Habe ich angepasst.

    Ergebnis des Mini-Projektes wird ein alternatives Install-Skript werden, das man genau gleich wie das Original-Skript von paperless-ngx verwenden kann, also:

    mit dem curl Befehl bekomme ich sofort Fehler :

    Code
    bash: Zeile 1: 400:: Kommando nicht gefunden.

    Vielleicht kann mir einer helfen.

    Gruß Holger

    Linux Mint 21.3 auf externe Festplatte ADATA SE880 ; Rechner Dell Precision M4800 mit 16GB RAM + Quadro K2 100M/PCle/SSE2

    seit 02-2026 Linux-Mint 22.3

  • Sind die Pakete podman-compose und curl installiert?

    Das in Beitrag #2 erwähnte auf Podman zugeschnittene Installationsskript für paperless-ngx habe ich nie veröffentlicht. Ist auch nicht notwendig, da die 3 Konfigurationsdateien ja schon vorhanden sind.

    Ich nehme an, dass der Raspi als Server für Paperless-ngx dienen soll. In dem Fall müsste noch in docker-compose.yml

    ports:
    - "127.0.0.1:8000:8000"

    die IP-Adresse 127.0.0.1: entfernt werden, (falls so konfiguriert wie ich mal vorgeschlagen hatte). Die Angabe bestimmt, dass ein Browser nur lokal auf den Paperless-Container zugreifen kann.

    Zotac ZBox ID91: Zorin OS 18 (GNOME) und GuideOS 1.0
    Geekom Mini IT11: Fedora 43 Silverblue (GNOME)
    Macbook Pro 2015: Fedora 43 Workstation (GNOME)

  • Sind die Pakete podman-compose und curl installiert?

    Bekomme Fehler bein installieren von podman-comose:

    curl ist die neuste Version mit Fehler wie bei podman-compose.

    Linux Mint 21.3 auf externe Festplatte ADATA SE880 ; Rechner Dell Precision M4800 mit 16GB RAM + Quadro K2 100M/PCle/SSE2

    seit 02-2026 Linux-Mint 22.3

  • Wenn ich "sudo apt update" eingebe sind alle Pakete aktuell.

    Bei "sudo apt upgrade" gibt es die Meldung:

    Code
    Zusammenfassung:                                    
      Aktualisiere: 0, Installiere: 0, Entferne: 0, Aktualisiere nicht: 0
      8 nicht vollständig installiert oder entfernt.
      Benötigter Platz: 0 B / 110 GB verfügbar

    Bin erst seit ca. einem Jahr bei Linux. Bis jetzt habe ich fast alles über die Graphische Oberflächen der Programme gemacht.

    Linux Mint 21.3 auf externe Festplatte ADATA SE880 ; Rechner Dell Precision M4800 mit 16GB RAM + Quadro K2 100M/PCle/SSE2

    seit 02-2026 Linux-Mint 22.3

  • Wenn die Fehler nur beim Installieren von podman-compose, also beim Aufruf von "apt install podman-compose" auftreten, dann vermute ich einen Fehler in den Abhängigkeitsdefinitionen des .deb-Paketes. Dann kann man leider wenig machen. Einen Versuch wert ist noch das Kommando:

    apt install --no-install-recommends podman-compose

    Es ist möglich, docker-compose statt podman-compose zu verwenden. Das habe ich aber nie selber getestet. Außerdem habe ich auch keine Erfahrung mit Raspis und Rasberry Pi OS. Falls du doch docker-compose ausprobieren willst, installiere es mit apt install --no-install-recommends docker-compose, sonst würde Docker mit installiert werden.

    Ich würde trotzdem empfehlen, docker und docker-compose auf dem Raspi zu installieren und sich an die Standard-Installation von paperless-ngx zu halten. Dafür gibt es KI generierte Anleitungen und YouTube-Tutorials, die - wenn ich mich richtig erinnere - auch in manchen paperless-Threads im Forum erwähnt werden.

    Podman auf dem Desktop macht Sinn, wenn man (rootless) Container als Nutzer ohne Root-Rechte laufen lassen will und die Daten = Papiere in verschlüsselten Homverzeichnisse behalten will. Auf einem Heimserver sehe ich jetzt nicht die großen Sicherheitsvorteile von Podman gegenüber Docker. Und Tools zu verwenden, die von den Maintainern nur halbherzig gepflegt werden, scheint mir auch nicht besonders sicher zu sein.

    Zotac ZBox ID91: Zorin OS 18 (GNOME) und GuideOS 1.0
    Geekom Mini IT11: Fedora 43 Silverblue (GNOME)
    Macbook Pro 2015: Fedora 43 Workstation (GNOME)

  • Es sollen keine empfohlenen Abhängigkeiten installiert werden, was normalerweise Standard ist.

    GuideOS ist übrigens (im Gegensatz zu den meisten anderen Debian basierten Distros) so konfiguriert, dass keine empfohlenen Abhängigkeiten installiert werden. Dazu gab es eine kurze Diskussion hier: Wo und wie Fehler in Debian-Paketen melden, die in GuideOS auftreten?

    Zotac ZBox ID91: Zorin OS 18 (GNOME) und GuideOS 1.0
    Geekom Mini IT11: Fedora 43 Silverblue (GNOME)
    Macbook Pro 2015: Fedora 43 Workstation (GNOME)

  • Falls du doch docker-compose ausprobieren willst,

    Es treten die gleich Fehler auf. Vielleich muß man erst bestimme Dateien löschen?

    Vieleicht hängt es damit zusammen, da ich eine NVMe verwende statt eine SD-Karte.

    Linux Mint 21.3 auf externe Festplatte ADATA SE880 ; Rechner Dell Precision M4800 mit 16GB RAM + Quadro K2 100M/PCle/SSE2

    seit 02-2026 Linux-Mint 22.3

    Edited once, last by HKaufmann (January 21, 2026 at 6:29 AM).

  • Auf ein Neues.

    Habe meine SD-Karte mit Raspberry Pi Imager 1.9.6 neu beschrieben. Die NVMe vom Raspberry ausgebaut und über die SD-Karte gestartet. Zum Glück hatte ich ein Monitor + Tastatur angeschlossen, da leider die Einstellung zu SSH nicht übernommen worden ist.

    Habe podman installiert ohne Fehlermeldung => bedeutet das das Betriebsystem auf der NVMe defekt ist.

    Habe von meinen Linux Rechner mit scp die Daten docker-compose.env docker-compose.yml .env in das gleiche Verzeichnis wie auf dem Linux Rechner kopiert. Dort habe ich die docker-compose.yml mit einem andern Port 8010 versehen.

    Wie bekomme ich jetzt Paperless auf den Raspberry?

    Und wie starte ich es dann?

    Habe auf den Linux Rechner Podmann Desktop installiert. Kann man von dort aus auf den Raspberry zugreifen?

    Linux Mint 21.3 auf externe Festplatte ADATA SE880 ; Rechner Dell Precision M4800 mit 16GB RAM + Quadro K2 100M/PCle/SSE2

    seit 02-2026 Linux-Mint 22.3

    Edited once, last by HKaufmann (January 22, 2026 at 7:54 AM).

  • Habe von meinen Linux Rechner mit scp die Daten docker-compose.env docker-compose.yml .env in das gleiche Verzeichnis wie auf dem Linux Rechner kopiert. Dort habe ich die docker-compose.yml mit einem andern Port 8010 versehen.

    Wie bekomme ich jetzt Paperless auf den Raspberry?

    Und wie starte ich es dann?

    Habe auf den Linux Rechner Podmann Desktop installiert. Kann man von dort aus auf den Raspberry zugreifen?

    Die Installation auf dem Raspi sollte genau so funktionieren wie ich sie hier mal beschrieben hatte: Tip wie ich Paperless unter Podman installieren kann.

    Einziger Unterschied: es müsste noch in docker-compose.yml in folgende Zeile

    ports:
    - "127.0.0.1:8010:8010"

    die IP-Adresse 127.0.0.1: entfernt werden.

    Dann müsstest du auf dem Linux-Rechner mit einem Browser und der URL http://$HostnameOrIpAdressVonRaspi:8010 auf Paperless zugreifen können.

    Zotac ZBox ID91: Zorin OS 18 (GNOME) und GuideOS 1.0
    Geekom Mini IT11: Fedora 43 Silverblue (GNOME)
    Macbook Pro 2015: Fedora 43 Workstation (GNOME)

  • Dann müsstest du auf dem Linux-Rechner mit einem Browser und der URL auf Paperless zugreifen können.

    Bekomme keinen Kontakt. Habe die IP-Adresse angegeben die ich im Router festgelegt habe.

    Meldung: "Die Verbindung zum Server wurde zurückgesetzt, während die Seite geladen wurde."

    Linux Mint 21.3 auf externe Festplatte ADATA SE880 ; Rechner Dell Precision M4800 mit 16GB RAM + Quadro K2 100M/PCle/SSE2

    seit 02-2026 Linux-Mint 22.3

  • Was sagt denn podman ps -a ?

    Code
    ONTAINER ID  IMAGE                                       COMMAND               CREATED         STATUS                   PORTS                             NAMES
    add79620e986  quay.io/podman/hello:latest                 /usr/local/bin/po...  11 hours ago    Exited (0) 11 hours ago                                    priceless_aryabhata
    0fc3a87295c3  docker.io/library/redis:8                   redis-server          17 minutes ago  Up 17 minutes            6379/tcp                          paperless_broker_1
    0b430db01757  ghcr.io/paperless-ngx/paperless-ngx:latest                        17 minutes ago  Up 17 minutes            0.0.0.0:8010->8010/tcp, 8000/tcp  paperless_webserver_1

    Ja, es läuft.

    Linux Mint 21.3 auf externe Festplatte ADATA SE880 ; Rechner Dell Precision M4800 mit 16GB RAM + Quadro K2 100M/PCle/SSE2

    seit 02-2026 Linux-Mint 22.3

  • Sind Fehler im Log zu sehen? podman logs paperless_webserver_1

    Hier den log. Habe vorerst alle Conatiner mit "podman stop -a" gestoppt.

    Linux Mint 21.3 auf externe Festplatte ADATA SE880 ; Rechner Dell Precision M4800 mit 16GB RAM + Quadro K2 100M/PCle/SSE2

    seit 02-2026 Linux-Mint 22.3

Participate now!

Don’t have an account yet? Register yourself now and be a part of our community!