Docker Paperless installieren
Inhaltsverzeichnis
Installation und Einrichtung von Paperless-NGX mit Docker Compose
In diesem Beitrag zeige ich dir, wie du Paperless-NGX, eine Lösung für das digitale Dokumentenmanagement, mit Docker Compose einrichtest. Dabei legen wir den Fokus auf eine saubere Konfiguration, die leicht zu verwalten und sicher ist.
Ordnerstruktur vorbereiten
Als Erstes benötigst du einen Ordner, in dem alle Daten und Konfigurationsdateien des Containers gespeichert werden. Achte darauf, dass deine Festplatte genügend freien Speicherplatz bietet. Den Ordner legst du mit folgendem Befehl an:
mkdir -p /daten/docker/paperless
Docker Compose-Datei erstellen
Wechsle in den gerade erstellten Ordner und erstelle eine Datei namens docker-compose.yml
. Diese Datei enthält die Konfiguration für die Container und deren Umgebung. Achte darauf, die Variablen wie Benutzername, Passwort und URL an deine Bedürfnisse anzupassen. Auch die Umgebungsdateien (.env
und docker-compose.env
) müssen im gleichen Ordner wie die docker-compose.yml
liegen, damit alles korrekt funktioniert.
docker-compose.yml
# Docker Compose für Paperless-NGX
services:
broker:
image: docker.io/library/redis:7
container_name: paperless-redis
restart: unless-stopped
volumes:
- /daten/docker/paperless/redis:/data
db:
image: docker.io/library/postgres:15
container_name: paperless-db
restart: unless-stopped
volumes:
- /daten/docker/paperless/pgdata:/var/lib/postgresql/data
env_file: .env
environment:
POSTGRES_DB: paperless
POSTGRES_USER: ${paperless_user}
POSTGRES_PASSWORD: ${paperless_password}
webserver:
image: ghcr.io/paperless-ngx/paperless-ngx:latest
container_name: paperless-webserver
restart: unless-stopped
depends_on:
- db
- broker
ports:
- "8085:8000"
volumes:
- /daten/docker/paperless/data:/usr/src/paperless/data
- /daten/docker/paperless/media:/usr/src/paperless/media
- /daten/docker/paperless/export:/usr/src/paperless/export
- /daten/docker/paperless/consume:/usr/src/paperless/consume
env_file:
- docker-compose.env
- .env
environment:
PAPERLESS_REDIS: redis://broker:6379
PAPERLESS_DBHOST: db
PAPERLESS_DBUSER: ${paperless_user}
PAPERLESS_DBPASS: ${paperless_password}
Environment-Dateien
docker-compose.env
In der Datei docker-compose.env
definierst du Paperless-spezifische Einstellungen. Diese Datei könnte wie folgt aussehen:
# Paperless-Einstellungen
PAPERLESS_URL=https://paperless.lan.reish.de
PAPERLESS_TIME_ZONE=Europe/Berlin
PAPERLESS_OCR_LANGUAGE=deu
# Eigene Einstellungen
PAPERLESS_APP_TITLE=DMS
PAPERLESS_FILENAME_FORMAT={correspondent}/{created_year}/{title}
PAPERLESS_OCR_MODE=redo
PAPERLESS_OCR_CLEAN=clean
.env
Hier speicherst du sensible Daten wie Benutzername und Passwort, um diese aus der Hauptkonfiguration auszulagern. So schützt du deine Daten vor ungewolltem Zugriff oder versehentlichen Leaks. Der Inhalt könnte so aussehen:
paperless_user=<dein-Benutzer>
paperless_password=<dein-Passwort>
paperless_db=<dein-Datenbankname>
Ersetze <dein-Benutzer>
, <dein-Passwort>
und <dein-Datenbankname>
durch deine eigenen Werte.
Container starten
Nachdem du die Dateien erstellt und angepasst hast, kannst du die Container starten:
-
Erstelle die Container und starte sie im Hintergrund:
docker compose up -d
-
Lege einen Superuser für die Anmeldung in Paperless-NGX an:
docker exec -it paperless-webserver /bin/bash python3 manage.py createsuperuser
Gib hier deinen Benutzernamen, deine E-Mail-Adresse und dein Passwort ein, um den Zugang zu erstellen.
Nun kannst du dich über die Web Oberfläche mit den eben erstellten Anmeldeinformationen einloggen. Falls du eine visuelle Anleitung bevorzugst findest du hier ein hilfreiches Video