RackDiff
Alle Guides

Paperless-ngx installieren: Papierloses Büro selbst hosten 2026

Anleitung: Paperless-ngx mit Docker Compose installieren, OCR-Sprache setzen, Dokumente über Consume-Ordner und E-Mail importieren, Backup mit dem Document Exporter.

Dirk Hesse
14. Dezember 2025
11 Min. Lesezeit

Der Schuhkarton voller Rechnungen. Die Ordner, die du seit Jahren nicht mehr aufgemacht hast. Das wichtige Dokument, das du letzte Woche gesucht hast.

Papier-Chaos kostet Zeit und Nerven. Cloud-Dienste speichern deine Verträge und Kontoauszüge auf fremden Servern; wer darauf zugreifen kann, regeln deren Bedingungen.

Auf einem eigenen VPS (Virtual Private Server, ein virtueller Server in einem Rechenzentrum) läuft Paperless-ngx mit OCR, automatischer Zuordnung und Volltextsuche. Die aktuellen Preise zeigt der VPS-Vergleich, sortiert nach Preis.

Voraussetzungen

Du brauchst:

  • Einen VPS. Die Doku nennt keine RAM-Mindestwerte; laut FAQ läuft Paperless auch auf einem Raspberry Pi 3 B, Teile wie die OCR dann aber sehr langsam (laut Paperless-ngx-Doku, Stand: 08.11.2026). Eine Schätzung nach Dokumentenmenge liefert der Paperless-Rechner.
  • Einen Linux-Server, z. B. Ubuntu. Paperless läuft nur unter Linux, Windows wird nicht unterstützt (laut Paperless-ngx-Doku, Stand: 08.11.2026).
  • Docker & Docker Compose
  • Optional: Domain für HTTPS
  • Optional: Dokumentenscanner oder Smartphone

Anbieter im Überblick: Hetzner, Netcup; alle Tarife im VPS-Vergleich.

Du bist dir noch nicht sicher, ob du Paperless auf deinem NAS oder einem VPS installieren sollst? Unser Vergleich NAS vs VPS hilft bei der Entscheidung.

Server für Paperless gesucht?

Wie viel RAM und Speicher dein Archiv braucht, schätzt der Paperless-Rechner.

Paperless-Rechner öffnen

Schritt 1: Paperless-ngx installieren

Wir nutzen Docker Compose mit PostgreSQL. Die Dateien stammen aus dem Projekt-Repository (laut Paperless-ngx-Repository, Stand: 08.11.2026); alternativ bietet die Setup-Seite ein Installationsskript (laut Paperless-ngx-Doku, Stand: 08.11.2026).

mkdir -p ~/paperless && cd ~/paperless

Compose-Datei, Env-Datei und .env herunterladen:

curl -O https://raw.githubusercontent.com/paperless-ngx/paperless-ngx/main/docker/compose/docker-compose.postgres.yml
mv docker-compose.postgres.yml docker-compose.yml
curl -O https://raw.githubusercontent.com/paperless-ngx/paperless-ngx/main/docker/compose/docker-compose.env
curl -O https://raw.githubusercontent.com/paperless-ngx/paperless-ngx/main/docker/compose/.env
docker compose pull

Die .env setzt den Projektnamen paperless. Vor dem ersten Start ersetzt du beim Dienst webserver die Port-Zeile "8000:8000" durch "127.0.0.1:8000:8000": Sonst ist Port 8000 auf allen Schnittstellen offen, und Docker umgeht ufw (laut Docker-Doku, Stand: 08.11.2026). Wichtige Einstellungen passt du in docker-compose.env an:

nano docker-compose.env

# Setze:
PAPERLESS_TIME_ZONE=Europe/Berlin
PAPERLESS_OCR_LANGUAGE=deu+eng
PAPERLESS_SECRET_KEY=hier-den-erzeugten-wert-eintragen

PAPERLESS_OCR_LANGUAGE ist standardmäßig eng; Englisch, Deutsch, Italienisch, Spanisch und Französisch sind im Docker-Image bereits enthalten (laut Paperless-ngx-Doku, Stand: 08.11.2026). Den Secret Key erzeugst du im Terminal mit openssl rand -hex 32 und trägst den ausgegebenen Wert ein; Env-Dateien führen keine Shell-Befehle aus.


Schritt 2: Starten und Admin erstellen

Container starten:

docker compose up -d

Beim ersten Aufruf der Weboberfläche fordert Paperless dich auf, einen Superuser anzulegen (laut Paperless-ngx-Doku, Stand: 08.11.2026). Alternativ setzt du PAPERLESS_ADMIN_USER und PAPERLESS_ADMIN_PASSWORD in der Env-Datei (laut Paperless-ngx-Doku, Stand: 08.11.2026).

Dieser User ist dein Admin-Account.


Schritt 3: Erster Login

Port 8000 ist der Standard (laut Paperless-ngx-Doku, Stand: 08.11.2026). Weil der Port nur lokal gebunden ist, erreichst du ihn für die Ersteinrichtung per SSH-Tunnel: ssh -L 8000:127.0.0.1:8000 user@server, dann http://localhost:8000 im Browser. Danach HTTPS (Schritt 8).

  1. Mit deinem Admin-Account einloggen
  2. Dashboard erkunden
  3. Gängige OCR-Einstellungen lassen sich auch in der Weboberfläche setzen und haben dort Vorrang vor den Umgebungsvariablen (laut Paperless-ngx-Doku, Stand: 08.11.2026)

Schritt 4: Consume-Folder verstehen

Der Consume-Folder ist das Herzstück von Paperless:

Dateien, die du in diesen Ordner legst, verarbeitet Paperless automatisch: OCR, Indexierung, Zuordnung. Nach der Verarbeitung entfernt Paperless die Datei aus dem Consume-Ordner und legt sie in seinem eigenen Speicher ab; auf Mehrkernsystemen laufen mehrere Dokumente parallel (laut Paperless-ngx-Doku, Stand: 08.11.2026).

# Consume-Folder-Pfad (Standard)
~/paperless/consume/
# Oder im Container: /usr/src/paperless/consume/

Beispiel: Dokument manuell hinzufügen:

cp rechnung-beispiel.pdf ~/paperless/consume/
# Nach der Verarbeitung erscheint das Dokument in der Weboberfläche

Schritt 5: Scanner einrichten

Mehrere Optionen, Dokumente in den Consume-Folder zu bekommen:

Option A: Smartphone-App

Für gelegentliche Scans:

  1. Eine Scanner-App installieren, die PDFs exportiert. Apps mit direkter Paperless-Anbindung listet das Projekt-Wiki; sie stammen von Drittentwicklern, das Paperless-Team unterstützt sie nicht (laut Paperless-ngx-Wiki, Stand: 08.11.2026)
  2. Dokument fotografieren
  3. Als PDF exportieren
  4. Per SFTP auf den Server hochladen

Option B: Netzwerk-Scanner

Für regelmäßige Scans:

  1. Scanner mit SFTP-Upload konfigurieren, falls er das kann
  2. Ziel: ~/paperless/consume/
  3. SMB oder FTP nicht offen ins Internet stellen, sondern über ein VPN nutzen

Option C: E-Mail-Import

Für digitale Rechnungen – siehe nächster Abschnitt.


Schritt 6: E-Mail-Import einrichten (Optional)

Mail-Konten und Mail-Regeln legst du in der Weboberfläche an (Einstellungen → Mail), nicht über Umgebungsvariablen (laut Paperless-ngx-Doku, Stand: 08.11.2026). Die SMTP-Variablen wie PAPERLESS_EMAIL_HOST gehören zum Versand von E-Mails, nicht zum Abruf.

Standardmäßig ruft Paperless die Mails alle zehn Minuten ab. Das Intervall änderst du über PAPERLESS_EMAIL_TASK_CRON (laut Paperless-ngx-Doku, Stand: 08.11.2026), danach Container neu starten:

docker compose down && docker compose up -d

Was importiert wird, legen deine Mail-Regeln fest.

Warnung: Nutze ein dediziertes E-Mail-Konto für Paperless, nicht deine Haupt-Adresse!


Schritt 7: Automatische Zuordnung einrichten

Die automatische Zuordnung lernt aus Dokumenten, die du bereits zugeordnet hast:

1. Korrespondenten anlegen

Unter 'Manage' → 'Correspondents' häufige Absender anlegen (Telefonanbieter, Online-Shop, Versicherung)

2. Dokumententypen definieren

Unter 'Document Types': Rechnung, Vertrag, Kontoauszug, Steuer, etc.

3. Tags erstellen

Für Kategorien: 'Steuer 2026', 'Wichtig', 'Versicherung', etc.

4. Zuordnungsregeln definieren

Bei jedem Korrespondenten, Dokumenttyp oder Tag den Algorithmus „Auto“ wählen. Paperless lernt dann aus deinen Zuordnungen; Dokumente im Posteingang zählen dabei nicht, der Abgleich läuft standardmäßig einmal pro Stunde (laut Paperless-ngx-Doku, Stand: 08.11.2026).

Tipp: Laut Doku braucht die Zuordnung eine ausreichende Zahl zugeordneter Dokumente und auch Gegenbeispiele. Je mehr, desto zuverlässiger (laut Paperless-ngx-Doku, Stand: 08.11.2026).


Schritt 8: HTTPS einrichten (Empfohlen)

Für sicheren Zugriff von außen setzt du Caddy als Reverse Proxy davor. Hinter einem Reverse Proxy setzt du PAPERLESS_URL=https://paperless.deinedomain.de (ohne Slash am Ende) in der Env-Datei (laut Paperless-ngx-Doku, Stand: 08.11.2026).

Ergänze die docker-compose.yml:

services:
  # ... bestehende Services (Port von webserver seit Schritt 1 nur lokal gebunden)

  caddy:
    image: caddy:2
    restart: always
    ports:
      - 80:80
      - 443:443
    volumes:
      - ./Caddyfile:/etc/caddy/Caddyfile
      - caddy_data:/data

# im vorhandenen volumes:-Block ergänzen:
#   caddy_data:

Caddyfile:

paperless.deinedomain.de {
    reverse_proxy webserver:8000
}

Danach startest du mit docker compose up -d neu. Das lokale Binding aus Schritt 1 und caddy_data im vorhandenen volumes:-Block sind Hinweise von RackDiff, keine Vorgabe der Paperless-Doku.


Schritt 9: Backup einrichten (Wichtig!)

Sichern musst du die Volumes media und data sowie bei PostgreSQL die Datenbank (laut Paperless-ngx-Doku, Stand: 08.11.2026). Am einfachsten ist der eingebaute Export; vorher sollte keine Verarbeitung laufen:

cd ~/paperless
docker compose exec -T webserver document_exporter ../export
# Die Ausgabe landet im Ordner export neben der Compose-Datei

Backup-Script:

#!/bin/bash
BACKUP_DIR="/backup/paperless"
DATE=$(date +%Y%m%d)
mkdir -p "$BACKUP_DIR"
cd ~/paperless

# Dokumente und Metadaten exportieren
docker compose exec -T webserver document_exporter ../export

# PostgreSQL-Backup
docker compose exec -T db pg_dump -U paperless > "$BACKUP_DIR/db-$DATE.sql"

# Export archivieren
tar -czf "$BACKUP_DIR/export-$DATE.tar.gz" export

# Alte Backups löschen (30 Tage)
find "$BACKUP_DIR" -mtime +30 -delete

Warnung: Probiere die Wiederherstellung mindestens einmal aus. Ein Backup, das du nie zurückgespielt hast, ist ein Risiko. Die Archive liegen unverschlüsselt auf demselben Server; verschlüssele sie, etwa mit restic oder borgbackup, und übertrage sie an einen zweiten Standort.


Advanced: Weitere Konfiguration

Nützliche Einstellungen laut Konfigurationsseite (laut Paperless-ngx-Doku, Stand: 08.11.2026):

EinstellungConfigBeschreibung
OCR neu ausführenPAPERLESS_OCR_MODE=redoAlle Seiten neu per OCR, vorhandene Textebenen werden ersetzt; force rastert die Seiten
Format der ArchivversionPAPERLESS_OCR_OUTPUT_TYPE=pdfaStandard pdfa; das Original bleibt erhalten
Speicher sparenPAPERLESS_ARCHIVE_FILE_GENERATION=neverNur das Original speichern; die Vorschau zeigt dann die Originaldatei
Mehr OCR-SprachenPAPERLESS_OCR_LANGUAGE=deu+eng+fraFranzösisch ist im Image enthalten, weitere Sprachen über PAPERLESS_OCR_LANGUAGES
Barcode-ErkennungPAPERLESS_CONSUMER_ENABLE_BARCODES=trueTrennt Dokumente an Trennseiten mit Barcode (Standard PATCHT), standardmäßig aus

Zur Barcode-Trennung gibt es eine eigene Seite (laut Paperless-ngx-Doku, Stand: 08.11.2026).


Beispiel-Workflow: Steuererklärung

Ein möglicher Ablauf für die Steuererklärung:

  1. Tag 'Steuer 2026' anlegen
  2. Alle relevanten Dokumente scannen (Spendenbescheinigungen, Rechnungen, etc.)
  3. Steht der Tag auf Zuordnung „Auto“, kann Paperless ihn neuen Dokumenten zuordnen; prüfe die Zuordnung vor dem Export (laut Paperless-ngx-Doku, Stand: 08.11.2026)
  4. Am Jahresende: Filter 'Tag = Steuer 2026'
  5. Alle Dokumente exportieren oder direkt dem Steuerberater zeigen
  6. Nach Abschluss: Tag auf 'Steuer 2026 erledigt' ändern

Paperless verändert das Original nicht und legt für gescannte Dokumente eine Archivversion an (laut Paperless-ngx-Doku, Stand: 08.11.2026). Ob du Papieroriginale nach dem Scannen vernichten darfst, hängt von Aufbewahrungsvorschriften ab, für Unternehmen etwa § 147 AO (laut § 147 AO, Stand: 08.11.2026). Im Zweifel frag deine Steuerberatung.


OCR & Sprachen optimieren

Die Texterkennung ist das Herzstück von Paperless-ngx und ein wesentlicher Hebel für Rechenzeit und Trefferqualität. Paperless erkennt Text mit OCRmyPDF und Tesseract; gesteuert wird das über Umgebungsvariablen in der docker-compose.env (laut Paperless-ngx-Doku, Stand: 08.11.2026):

# Mehrere OCR-Sprachen (Deutsch + Englisch)
PAPERLESS_OCR_LANGUAGE=deu+eng
# Standard: OCR nur, wenn das Dokument noch keinen Text enthält
PAPERLESS_OCR_MODE=auto
# Format der Archivversion
PAPERLESS_OCR_OUTPUT_TYPE=pdfa

Im Standardmodus auto erkennt Paperless per pdftotext, ob ein Dokument schon Text enthält, und überspringt dann die OCR, etwa bei Rechnungen aus dem Online-Banking (laut Paperless-ngx-Doku, Stand: 08.11.2026). Zusätzliche Tesseract-Sprachen installierst du über PAPERLESS_OCR_LANGUAGES.

Speicherbedarf & Wartung

Paperless behält das Original und legt für gescannte oder bildbasierte Dokumente eine Archivversion an (laut Paperless-ngx-Doku, Stand: 08.11.2026). Der Speicherbedarf hängt von Scan-Auflösung, Dateityp und Archivversion ab. Eine Schätzung liefert der Paperless-Rechner; Tarife mit mehr Speicher findest du im VPS-Vergleich, sortiert nach Preis.

Für den laufenden Betrieb:


Mehrere Nutzer & Berechtigungen

Sobald mehr als eine Person das Archiv nutzt, lohnt sich die Benutzerverwaltung von Paperless-ngx. Unter Einstellungen → Benutzer & Gruppen legst du zusätzliche Nutzer und Gruppen an; jedes Objekt hat einen Eigentümer und Rechte zum Ansehen und Bearbeiten (laut Paperless-ngx-Doku, Stand: 08.11.2026).

Praktisch ist das für Familien oder kleine Teams. Dokumente haben eigene Berechtigungen und sind standardmäßig nur für ihren Eigentümer sichtbar. Rechte an einem Tag ändern nichts am Zugriff auf Dokumente mit diesem Tag (laut Paperless-ngx-Doku, Stand: 08.11.2026).

Wichtig: Vergib für jeden Nutzer ein eigenes Konto mit starkem Passwort. Die Zwei-Faktor-Authentifizierung aktiviert jede Person im Dialog „Mein Profil“, mit Wiederherstellungscodes (laut Paperless-ngx-Doku, Stand: 08.11.2026).


Fazit

Du hast jetzt ein Dokumenten-Management-System auf deinem eigenen Server. Scanne, finde, behalte die Kontrolle.

Auf demselben VPS kannst du zusätzlich Vaultwarden als Passwort-Manager, Immich für Fotos oder dein eigenes VPN betreiben. Aktuelle Preise zeigt der VPS-Vergleich.


Häufig gestellte Fragen

Wie lange dauert OCR?
Das hängt von CPU und Seitenzahl ab. Die Verarbeitung läuft im Hintergrund, auf Mehrkernsystemen parallel.
Erkennt Paperless Handschrift?
Paperless erkennt Text per OCR (OCRmyPDF mit Tesseract). Zu Handschrift macht die Doku keine Aussage; prüfe das mit eigenen Beispieldokumenten.
Kann ich bestehende PDFs importieren?
Ja. Lege die PDFs in den Consume-Folder. Im Standardmodus auto überspringt Paperless die OCR für PDFs, die schon Text enthalten.
Gibt es eine Mobile App?
Das Projekt-Wiki listet Apps von Drittentwicklern für Android und iOS. Das Paperless-Team unterstützt sie nicht.
Wie viel RAM und CPU braucht Paperless-ngx?
Die Doku nennt keine Mindestwerte. Laut FAQ läuft Paperless auch auf einem Raspberry Pi 3 B, Teile wie die OCR dann aber sehr langsam. Eine Schätzung liefert der Paperless-Rechner.
Was passiert mit dem Original-Dokument nach dem Scan?
Paperless verändert das Original nicht und legt für gescannte Dokumente eine Archivversion an. Ob du Papieroriginale nach dem Scannen vernichten darfst, hängt von Aufbewahrungsvorschriften ab, für Unternehmen etwa § 147 AO. Im Zweifel frag deine Steuerberatung.

Bereit fürs papierlose Büro?

Wie viel RAM und Speicher dein Archiv braucht, schätzt der Paperless-Rechner.

Paperless-Rechner öffnen

Passender VPS-Rechner

Paperless-ngx Hosting 2026: VPS für dein papierloses Büro

Rechnungen scannen, Verträge archivieren, alles durchsuchbar – auf deinem eigenen Server.

Zum VPS-Rechner

Verwandte Artikel