Papra installieren auf ZimaOS oder in Portainer

Viktor Dite, Autor des Beitrags

Von - Publiziert in Homeserver
Dipl. Informatiker und Tech-Blogger seit 2006.


Papra ist ein modernes, webbasiertes Dokumenten-Management-System (DMS), das sich auf einfache Organisation, automatische Verarbeitung und einen sauberen Import-Workflow konzentriert. Gerade in Kombination mit einem Scanner oder Netzlaufwerk eignet sich Papra sehr gut für ein lokales Paperless-Setup auf ZimaOS oder anderen Docker-Hosts.

In dieser Anleitung zeige ich dir Schritt für Schritt, wie du Papra mit Docker über Portainer installierst, korrekt konfigurierst und den automatischen Dokumenten-Import (Ingestion) aktivierst.

papra installieren

Papra installieren über Portainer

Ordnerstruktur vorbereiten

Papra speichert Daten persistent auf dem Host. Lege daher zunächst die benötigten Verzeichnisse an:

/DATA/AppData/papra2
/DATA/AppData/papra2/ingestion

Führe diese Schritte dann in Portainer durch

  • Öffne Portainer auf deinem ZimaOS.
  • Gehe links im Menü auf Stacks.
  • Klicke oben rechts auf + Add stack.
  • Gib dem Stack einen Namen, z.B. papra.
  • Füge im Web-Editor die folgende Konfiguration ein:

Finales Docker-Compose-YAML (minimal & produktiv)

services:
  papra:
    image: ghcr.io/papra-hq/papra:latest
    container_name: papra
    restart: unless-stopped
    ports:
      - "1221:1221"
    environment:
      # SICHERHEIT: Generiere hier unbedingt einen eigenen, zufälligen String!
      # (z.B. im Terminal mit `openssl rand -hex 32` erstellen)
      - AUTH_SECRET=iugehquvqeouvbqebouvbqeiurfhöc3fu4hvpi4uv4vhp4ivuhb4   

      # WICHTIG: Ersetze die IP (192.168.x.x) durch die IP deines ZimaOS!
      # Diese URL ist nötig, damit Bilder und Skripte korrekt laden.
      - APP_BASE_URL=http://192.168.x.x:1221

      # Aktiviert den automatischen Import-Ordner
      - INGESTION_FOLDER_IS_ENABLED=true
    volumes:
      # Der Pfad zum Papra-Ordner auf deinem OS
      - /DATA/AppData/papra:/app/app-data
      # Der Pfad zum Import-Ordner auf deinem OS
      - /DATA/AppData/papra/ingestion:/app/ingestion

    # Format: "UID:GID"
    user: "1000:1000"

Was du anpassen musst:

  • AUTH_SECRET: Denke dir ein langes, zufälliges Passwort aus.
  • APP_BASE_URL: Trage hier die echte IP-Adresse deines Servers ein.
  • Den Pfad zum Papra-Ordner auf deinem OS

Papra direkt über ZimaOS installieren (ohne Portainer)

ZimaOS bringt eine eigene, stark vereinfachte Docker-Oberfläche mit. Für viele Setups ist Portainer daher nicht zwingend notwendig. Papra lässt sich auch direkt über diese ZimaOS-Weboberfläche als benutzerdefinierte App installieren.

Papra installieren unter ZimaOS
Papra installieren unter ZimaOS
  • Klicke im ZimaOS Dashboard auf das Plus oben rechts über den Apps
  • Klicke dann auf Install custom App.
  • Klick dann auf Import
  • Füge den yaml Code von weiter oben im Beitrag ein
  • Klicke auf Submit

Jetzt prüfst Du noch bei den Ordnern (mit dem Ordner-picker), ob das Verzeichnis wie gewünscht gesetzt ist und Du auf der gewünschten HDD installierst.

Papra in ZimaOS

Achtung in ZimaOS: Die Verzeichnisse dürfen noch nicht existieren und müssen beim Installationsvorgang von dem Instalationsprozess selbst angelegt werden. Legst Du die mit dem Ordner-Picker an, werden sie mit falschen Rechten angelegt, sodass Dateien nicht geschrieben werden können.

Weiter geht es mit der Installation, egal ob über Portainer oder ZimaOS direkt.

Erster Start und Login

Nach ein paar Sekunden sollte der Container laufen. Rufe nun Papra im Browser auf:

http://DEINE-IP:1221

Du wirst begrüßt und kannst einen ersten Benutzer registrieren. Sobald du eingeloggt bist, siehst du das Dashboard.

Den automatischen Import (Ingestion) einrichten

Das ist der Teil, über den viele stolpern. Papra überwacht den Ordner /ingestion nicht direkt nach Dateien, sondern erwartet eine bestimmte Struktur.

So geht es:

Papra Organization ID
  • Logge dich in Papra ein und schau in die Adresszeile deines Browsers oder in die Einstellungen.
  • Suche deine Organization ID. Diese sieht meist so aus: org_xyz123.
  • Gehe nun zurück in deinen File Manager (oder Konsole).
  • Erstelle im Ingestion-Ordner einen Unterordner mit genau diesem Namen.
  • Der Pfad muss am Ende so in etwa aussehen: /DATA/AppData/papra/ingestion/org_xyz123/
Papra Organization Ingestion

Test: Lege eine PDF-Datei in diesen neuen Unterordner org_xyz123. Nach wenigen Augenblicken sollte sie in Papra auftauchen und verarbeitet werden.

Sobald Dateien dort abgelegt werden:

  • erkennt Papra sie automatisch
  • Import & Verarbeitung starten ohne UI-Interaktion

Ideal für:

  • Scanner
  • SMB-Shares
  • automatisierte Upload-Jobs

Diesen Ordner kannst Du im Netzwerk freigeben, sodass dann bspw. Scanner automatisch dahin scannen können

Papra vs. Paperless-NGX – Kurzvergleich für die Entscheidung

Während Papra einen leichtgewichtigen, monolithischen DMS-Stack ohne separate Datenbank verfolgt, bietet Paperless-NGX ein modulares, regelbasiertes Dokumentenmanagement mit externer Datenbank und Worker-Queues, was besonders bei größeren Archiven und automatisierten Workflows Vorteile bringt.

Wenn du zu Paperless-NGX noch keine eigenen Erfahrungen hast, findest du eine ausführliche Installations- und Betriebsanleitung in meinem Artikel zu Paperless NGX

Im Folgenden findest du eine konkrete Empfehlungstabelle, die dir hilft, basierend auf Archivgröße und deiner ZimaBlade/Celeron-Hardware die richtige Entscheidung zwischen Papra und Paperless-NGX zu treffen.

Kriterium Papra Paperless-NGX
Architektur Ein Container, keine externe Datenbank Mehrere Container (DB, Worker, optional Redis)
Installation Sehr einfach, schnell produktiv Deutlich komplexer
Ressourcenbedarf Niedrig Mittel bis hoch
Automatischer Import Ja (Ordnerbasiert) Ja (Ordner + Regeln)
OCR & Automatisierung Basis Sehr umfangreich
Metadaten / Regeln Einfach Fein granular, mächtig
Skalierung Für kleine bis mittlere Archive Für große Archive & Teams
Wartungsaufwand Gering Höher
Typischer Einsatz Home-Server, Single-User, Minimal-Setup Power-User, Teams, große Dokumentenmengen
Multi-Organization Ja (nativ) Nein (nur Workarounds)

Multi-Organization als Entscheidungsfaktor

Der Multi-Organization-Ansatz von Papra ist ein echter struktureller Vorteil, insbesondere wenn du:

  • Privat + Verein trennen willst
  • mehrere Mandanten sauber isolieren möchtest
  • unterschiedliche Scanner- oder Ingestion-Pfade brauchst
  • keine zweite Instanz betreiben willst

Papra löst das konzeptionell sauber:

  • getrennte Organisationen
  • getrennte Ingestion-Ordner
  • getrennte Daten & Berechtigungen
  • ein Container, ein Stack

Paperless-NGX kennt dieses Modell nicht nativ. Vergleichbare Trennung ist dort nur möglich über:

  • mehrere Instanzen
  • separate Datenbanken
  • höheren Wartungs- und Backup-Aufwand

Papra ist die bessere Wahl, wenn mindestens eines zutrifft:

  • Privat und Verein / Ehrenamt
  • mehrere logische Dokumentenräume
  • begrenzte Hardware (Celeron, wenig RAM)
  • möglichst wenig Wartung
  • klar getrennte Scanner-Workflows

Paperless-NGX bleibt sinnvoll, wenn:

  • ein einziger großer Dokumentenbestand
  • sehr viele Automatisierungsregeln nötig sind
  • OCR-Pipelines im Vordergrund stehen
  • Multi-Organization keine Rolle spielt

Hardwareanforderungen

Auf Mini-Server-Hardware mit Celeron-CPU liefert Papra typischerweise das beste Leistungs-Verhältnis, vor allem für den Home-Server-Einsatz und bis mittlere Archivgrößen.


Letzte Änderung: