Installation von Paperless-ngx auf einem Debian Server mit Docker Containern

Installation von Paperless-ngx auf Debian mit Docker

Voraussetzungen

Für den Betrieb eines persönlichen Dokumentenarchivs mit Paperless-ngx empfiehlt sich ein stabiler Linux-Server. In der hier beschriebenen Installation wird ein Debian-System verwendet, auf dem Paperless-ngx in einer Containerumgebung mit Docker betrieben wird.

Die hier dokumentierte Umgebung basiert auf folgenden Komponenten:

  • Debian 12 (Trixie)
  • Docker und Docker Compose
  • Paperless-ngx Container
  • Redis als Message Broker
  • Gotenberg für PDF-Konvertierung
  • Apache Tika zur Dokumentanalyse

Der Einsatz von Docker hat den Vorteil, dass alle benötigten Komponenten isoliert betrieben werden und Updates oder Wartungsarbeiten einfacher durchgeführt werden können.

Grundlegende Systemvorbereitung

Vor der Installation sollte das Debian-System auf den aktuellen Stand gebracht werden. Dies stellt sicher, dass alle benötigten Bibliotheken und Systemkomponenten verfügbar sind.

sudo apt update
sudo apt upgrade

Anschließend werden grundlegende Werkzeuge installiert, die für den Betrieb von Docker erforderlich sind.

sudo apt install ca-certificates curl gnupg

Diese Werkzeuge werden unter anderem benötigt, um externe Paketquellen einzubinden.

Installation von Docker

Docker bildet die Grundlage der Containerumgebung. Die Installation erfolgt über die offiziellen Paketquellen.

Zunächst wird der Docker-Repository-Schlüssel installiert:

sudo install -m 0755 -d /etc/apt/keyrings
curl -fsSL https://download.docker.com/linux/debian/gpg \
| sudo gpg --dearmor -o /etc/apt/keyrings/docker.gpg

Anschließend wird das Docker-Repository eingebunden:

echo \
"deb [arch=$(dpkg --print-architecture) \
signed-by=/etc/apt/keyrings/docker.gpg] \
https://download.docker.com/linux/debian \
$(. /etc/os-release && echo "$VERSION_CODENAME") stable" \
| sudo tee /etc/apt/sources.list.d/docker.list > /dev/null

Danach kann Docker installiert werden:

sudo apt update
sudo apt install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin

Nach der Installation empfiehlt es sich, die Funktion zu überprüfen:

sudo docker run hello-world

Erscheint eine entsprechende Testmeldung, wurde Docker erfolgreich installiert.

Verzeichnisstruktur für Paperless

Für den Betrieb von Paperless-ngx wird eine klare Verzeichnisstruktur empfohlen. In dieser Installation werden alle Daten unter einem gemeinsamen Basisverzeichnis gespeichert.

/Daten/paperless-data/

Darunter befinden sich mehrere Unterverzeichnisse:

/Daten/paperless-data/data
/Daten/paperless-data/media
/Daten/paperless-data/export
/Daten/paperless-data/consume
/Daten/paperless-data/duplicates
/Daten/paperless-data/logs

Diese Struktur trennt Archivdaten, Importordner und Logdateien sauber voneinander und erleichtert spätere Wartungsarbeiten sowie Backups.

Einrichtung des Paperless-Containers

Die eigentliche Installation erfolgt über Docker Compose. Dazu wird ein eigenes Projektverzeichnis angelegt.

mkdir -p /opt/paperless
cd /opt/paperless

In diesem Verzeichnis werden später unter anderem folgende Dateien abgelegt:

  • docker-compose.yml
  • .env (zentrale Konfigurationsdatei)

Docker Compose startet anschließend alle benötigten Container gemeinsam, darunter den Paperless-Webserver, den Worker-Prozess sowie die benötigten Zusatzdienste.

Der Start des Systems erfolgt typischerweise mit:

docker compose up -d

Nach kurzer Initialisierung steht die Weboberfläche von Paperless-ngx im lokalen Netzwerk zur Verfügung.

Zugriff auf die Weboberfläche

Nach erfolgreichem Start kann Paperless-ngx über einen Webbrowser erreicht werden. Die Adresse entspricht der Konfiguration des Servers.

http://SERVER-IP:8000

Beim ersten Aufruf wird ein Administrationskonto erstellt. Anschließend steht die vollständige Weboberfläche zur Verfügung, über die Dokumente verwaltet, gesucht und organisiert werden können.

Nächster Schritt der Reihe

Im nächsten Beitrag wird die Datenorganisation des Systems genauer betrachtet. Dabei geht es insbesondere um die empfohlene Ordnerstruktur sowie die Trennung von Archivdaten, Importverzeichnissen und Exportdateien.

Aufbau der Artikelreihe

Diese Artikelreihe dokumentiert eine reale Systemkonfiguration zu Demonstrations- und Dokumentationszwecken. Es werden keine Skripte, Tools oder vollständigen Konfigurationsdateien öffentlich bereitgestellt. Sensible Parameter wie Schlüssel oder Tokens werden grundsätzlich anonymisiert dargestellt.