Benutzer online
Gäste online 1
Mitglieder online 0

Mitglieder insgesamt: 1
Neuestes Mitglied: Loop1403
Foren-Statistiken
Besucher-Zähler
Besucher heute: 36
Besucher gestern: 19
Rekord: 485 (09.09.2026)
Besucher gesamt: 4961

Gesamt-Statistiken
Themen gesamt: 19
Beiträge gesamt: 19
Mitgliederumfragen
Hostet ihr eure Clouds selber?
ja100 %
100% [1 Vote]
Nein0 %
0% [0 Votes]
Kontaktformular
Für Hinweise, Fragen und Kritik haben wir stets ein offenes Ohr.
Einfach nachfolgendes Formular absenden und wir antworten schnellstmöglich.
CAPTCHA ImageRefresh Image

[Anleitung] Paperless-ngx (Digitales Dokumenten-Archiv) via Docker Compose einrichten

Letzte Aktualisierung
Loop1403Loop1403Seiten Administrator
Veröffentlicht am
# [Anleitung] Paperless-ngx (Digitales Dokumenten-Archiv) via Docker Compose einrichten

Hallo zusammen,

wer seine Briefe, Rechnungen und Dokumente digitalisieren, per OCR-Texterkennung durchsuchbar machen und intelligent taggen lassen möchte, kommt an **Paperless-ngx** nicht vorbei. Das System analysiert eure PDFs automatisch, liest das Datum sowie Beträge aus und archiviert alles revisionssicher.

Hier ist das fertige Docker Compose Setup für euren eigenen Paperless-Server.

---

### Die docker-compose.yml

yaml
version: '3.8'

services:
 # 1. Das Herzstück: Paperless-ngx Webapp
 webserver:
 image: ghcr.io/paperless-ngx/paperless-ngx:latest
 container_name: paperless-webserver
 restart: unless-stopped
 depends_on:
 - db
 - redis
 networks:
 Netzwerk-Container:
 ipv4_address: 192.168.164.108 # <--- FREIE IP AUS EUREM NETZWERK EINTRAGEN!
 backend:
 volumes:
 - ./data:/usr/src/paperless/data # Anwendungsdaten
 - ./media:/usr/src/paperless/media # Eure archivierten PDFs
 - ./export:/usr/src/paperless/export # Für Backups / Exporte
 - ./consume:/usr/src/paperless/consume # <--- DER SCAN-ORDNER! (Hier Dokumente zum Einlesen reinwerfen)
 environment:
 # Zwingend erforderlicher geheimer Schlüssel für die Verschlüsselung (Bitte ändern!)
 PAPERLESS_SECRET_KEY: "HIER_EINE_LANGE_ZUFÄLLIGE_ZEICHENKETTE_EINTRAGEN"
 PAPERLESS_REDIS: redis://paperless-redis:6379
 PAPERLESS_DBHOST: paperless-db
 PAPERLESS_DBUSER: paperless
 PAPERLESS_DBPASS: DEIN_SICHERES_DATENBANK_PASSWORT # <--- ANPASSEN!
 PAPERLESS_DBNAME: paperless
 PAPERLESS_OCR_LANGUAGE: deu+eng # Standard-Texterkennung auf Deutsch und Englisch
 PAPERLESS_TIME_ZONE: Europe/Berlin
 PAPERLESS_URL: https://deine-domain.de # <--- EURE SPÄTERE HTTPs-DOMAIN!

 # 2. Die Datenbank (PostgreSQL)
 db:
 image: docker.io/library/postgres:18-alpine # 18-alpine für ressourcensparenden Betrieb
 container_name: paperless-db
 restart: unless-stopped
 networks:
 - backend
 volumes:
 - ./pgdata:/var/lib/postgresql/data
 environment:
 POSTGRES_DB: paperless
 POSTGRES_USER: paperless
 POSTGRES_PASSWORD: DEIN_SICHERES_DATENBANK_PASSWORT # <--- IDENTISCH MIT OBEN!

 # 3. Der Task-Broker (Redis für die Hintergrund-Warteschlange)
 redis:
 image: docker.io/library/redis:7-alpine
 container_name: paperless-redis
 restart: unless-stopped
 networks:
 - backend

networks:
 backend:
 driver: bridge

 Netzwerk-Container:
 name: Netzwerk-Container # <--- NAME EURES EXISTIERENDEN NETZWERKS!
 external: true


---

### 👤 Ersten Admin-Nutzer anlegen (Wichtig nach dem ersten Start!)

Sobald ihr den Stack gestartet habt, könnt ihr euch noch nicht direkt einloggen, da noch kein Benutzer existiert. Öffnet die Konsole des Containers paperless-webserver (oder via Putty auf dem Host) und führt folgenden Befehl aus, um euren Admin-Account zu erstellen:

bash
docker exec -it paperless-webserver manage_createsuperuser


Folgt einfach den Anweisungen im Terminal, um euren Benutzernamen, eure E-Mail und das gewünschte Login-Passwort festzulegen.

---

### 🌐 Einrichtung im Nginx Proxy Manager (NPM)

Um Paperless sicher über den Browser zu nutzen, legt ihr im NPM einen neuen **Proxy Host** an:

1. **Domain Names:** paperless.deine-domain.de
2. **Scheme:** http
3. **Forward Hostname / IP:** 192.168.164.108
4. **Forward Port:** 8000 *(Standard-Port von Paperless-ngx)*
5. **Websockets Support:** 🟩 **Häkchen setzen / Aktivieren!** *(Wichtig, damit Statusmeldungen beim Scannen live im Browser aktualisiert werden).*
6. **SSL:** Ein neues Let's Encrypt Zertifikat anfordern und *Force SSL* aktivieren.

---

### 🛠️ Nginx-Erweiterung für große Datei-Uploads (Advanced Settings)

Wenn ihr dicke, mehrseitige Dokumente oder hochauflösende Scans hochladet, bricht der Proxy standardmäßig ab. Erhöht das Limit im NPM im Reiter **Advanced** mit diesem Code:

nginx
# Maximale Upload-Größe für große PDFs anheben (z. B. auf 100 M<img class='smiley' style='width:20px;height:20px;' src='../../images/smiley/cool.svg' alt='Cool'>
client_max_body_size 100M;

# Timeouts hochsetzen, falls die OCR-Texterkennung beim Upload etwas länger braucht
proxy_read_timeout 120s;
proxy_send_timeout 120s;
Du kannst alle Themen in diesem Forum sehen.
Du kannst nicht ein neues Thema in diesem Forum eröffnen.
Du kannst nicht auf dieses Thema antworten.
Du kannst nicht Umfragen in diesem Forum erstellen.
Du kannst nicht Anhänge in diesem Forum hochladen.
Du kannst nicht Anhänge in diesem Forum herunterladen.
Anmelden
Noch keinen Account? Klicke hier, um dich zu registrieren.
Passwort vergessen?
Shoutbox
Du musst dich anmelden, um eine Nachricht zu senden.
Loop1403
Loop1403#1
Moingsen
SERVER BEITRETEN
Echte Live-Kanäle:
Eurotruck SimulatorJoin
LS 25Join
Schwesing BahnhofJoin
MindenerwaldJoin
Hebby`s SabbeleckeJoin
Sven,s ZockerbudeJoin
Left for DeadJoin
CounterstrikeJoin
World of WarshipsJoin
BattlefieldJoin
Klönecke( wenn nicht Gespielt wird)Join
Tratschecke ( im Single Player )Join
TeamJoin
AwayJoin
BesprechungJoin