[email protected]

Paperless-ngx Installation auf Ubuntu 24.04 mit Caddy und automatischen SSL-Zertifikaten

Paperless-ngx Installation auf Ubuntu 24.04 mit Caddy und automatischen SSL-Zertifikaten

Hinweis zum Inhalt: Die Informationen in diesem Artikel wurden nach bestem Wissen zum Zeitpunkt der Veröffentlichung zusammengestellt. Technische Details, Preise, Versionen, Lizenzmodelle und externe Inhalte können sich ändern. Bitte prüfen Sie die genannten Angaben eigenständig, insbesondere vor geschäftskritischen oder sicherheitsrelevanten Entscheidungen. Dieser Artikel ersetzt keine individuelle Fach-, Rechts- oder Steuerberatung.

Sie interessieren sich für das vorgestellte Produkt?
Sprechen Sie uns an! Bei WZ-IT übernehmen wir Beratung, Installation, Support, Betrieb, Wartung und Monitoring Ihrer Lösung.
Vereinbaren Sie hier Ihr kostenloses und unverbindliches Gespräch:
Termin vereinbaren.

Aktuellste politische Entwicklungen zeigen, dass es immer wichtiger wird, die Kontrolle über die eigenen Daten zu behalten. Paperless-ngx ist eine Open-Source-Lösung, die es Ihnen ermöglicht, Ihr eigenes DMS zu hosten und dabei volle Kontrolle über Ihre Daten zu behalten. In dieser Anleitung zeigen wir Ihnen, wie Sie Paperless-ngx auf einem Ubuntu 24.04 Server installieren und automatisch SSL-Zertifikate von Let's Encrypt mit Caddy einrichten.

Inhaltsverzeichnis

Voraussetzungen

  • Ein Ubuntu 24.04 Server (z.B. ein VPS von Hetzner oder einem anderen Anbieter)
  • Zugriff auf den Server via SSH
  • Domain, die auf den Server zeigt (mind. A Eintrag) (z.B. paperless.example.com)

In unserem Beispiel verwenden wir die Domain paperless-demo.wz-it.com. Sie können diese Domain in der Anleitung durch Ihre eigene Domain ersetzen. Wir haben die Domain mit einem A Eintrag auf die IP-Adresse des Servers gesetzt, auf dem wir Paperless-ngx installieren möchten. Hier ein Auszug aus der DNS-Konfiguration:

DNS Eintrag für Paperless-ngx

Paperless ohne Setup- und Wartungsstress?

Die Installation ist nur der Anfang - Updates, Backups, SSL und Sicherheit kommen danach. Wir hosten und betreiben Paperless und über 52 weitere Open-Source-Apps DSGVO-konform in der EU, inklusive CVE-Monitoring.

Managed Open Source ansehen

Schritt 1: Server vorbereiten

Wir melden uns per SSH als root oder einem Benutzer mit sudo-Rechten auf dem Server an und aktualisieren die Paketliste:

apt update && apt upgrade -y

Schritt 2: Docker und Docker Compose installieren

curl -fsSL https://get.docker.com -o get-docker.sh
sh get-docker.sh
rm get-docker.sh

Dieses Skript installiert die neuste Version von Docker und Docker Compose. Schauen Sie sich auch gerne den Inhalt des Skripts an, um zu verstehen, was genau passiert. Generell ist es keine gute Idee, Skripte aus dem Internet blind auszuführen, aber in diesem Fall ist es eine gängige Methode, um Docker zu installieren.

Schritt 3: Benutzer für Paperless-ngx erstellen

Wir erstellen einen neuen Benutzer, der später für die Paperless-ngx Installation verwendet wird. Außerdem fügen wir den Benutzer zur Docker-Gruppe hinzu, damit er Docker-Befehle ohne sudo ausführen kann. Dies ist wichtig, da Paperless-ngx in einem Docker-Container läuft und der Benutzer Zugriff auf die Docker-Ressourcen benötigt.

adduser --system --group --home /opt/paperless paperless
sudo usermod -aG docker paperless

Schritt 4: Paperless-ngx installieren

Paperless-ngx bietet eine offizielle Docker-Compose Vorlage, die wir verwenden können. Es wird jedoch auch ein Skript bereitgestellt, das die Installation vereinfacht. In unserem Fall, wo wir den Server ausschließlich für Paperless-ngx verwenden möchten, ist dies eine sinnvolle Option. Möchten wir Paperless-ngx jedoch in einem anderen Setup unterbringen, ist diese Installationsmethode evtl. nicht passend. Wir laden das Skript herunter und führen es aus:

sudo -u paperless bash -c "$(curl --location --silent --show-error https://raw.githubusercontent.com/paperless-ngx/paperless-ngx/main/install-paperless-ngx.sh)"

Das Skript führt uns durch einen Interaktiven Installationsprozess, bei dem wir einige Einstellungen vornehmen können.

Folgende Einstellungen sind für unsere Installation wichtig:

  • URL: Hier geben wir die Domain ein, unter der Paperless-ngx erreichbar sein soll, z.B. https://paperless-demo.wz-it.com.
  • OCR Language: Wir wählen deu für Deutsch, damit die Texterkennung in deutscher Sprache erfolgt.

Alle anderen Einstellungen können wir auf den Standardwerten belassen und mit "Enter" bestätigen. Am Ende legen wir noch ein Passwort für den Admin-Benutzer fest, der später für den Zugriff auf Paperless-ngx verwendet wird.

Das Skript installiert nun Paperless-ngx und alle erforderlichen Abhängigkeiten. Es erstellt auch die notwendigen Verzeichnisse und Konfigurationsdateien.

Jetzt ist Paperless-ngx installiert und wir können auf unsere Instanz mit http://IP_DES_SERVERS:8000 zugreifen. Allerdings ist die Verbindung noch nicht gesichert, da wir noch kein SSL-Zertifikat eingerichtet haben.

Schritt 5: Caddy als Reverse Proxy und SSL-Zertifikat einrichten

Caddy ist ein einfacher und leistungsstarker Webserver, der automatisch SSL-Zertifikate von Let's Encrypt ausstellt und verwaltet. Wir verwenden Caddy, um Paperless-ngx über HTTPS erreichbar zu machen. Wir können Caddy zu dem Docker-Compose

Wir öffnen die Datei docker-compose.yml im Verzeichnis /opt/paperless und fügen den Caddy-Service hinzu. So sieht die aktualisierte docker-compose.yml aus:

services:
  broker:
    image: docker.io/valkey/valkey:9-alpine
    restart: unless-stopped
    volumes:
      - redisdata:/data
  db:
    image: docker.io/library/postgres:18
    restart: unless-stopped
    volumes:
      - pgdata:/var/lib/postgresql
    environment:
      POSTGRES_DB: paperless
      POSTGRES_USER: paperless
      POSTGRES_PASSWORD: paperless
  webserver:
    image: ghcr.io/paperless-ngx/paperless-ngx:latest
    restart: unless-stopped
    depends_on:
      - db
      - broker
    ports:
      - "8000:8000"
    volumes:
      - data:/usr/src/paperless/data
      - media:/usr/src/paperless/media
      - ./export:/usr/src/paperless/export
      - /opt/paperless/paperless-ngx/consume:/usr/src/paperless/consume
    env_file: docker-compose.env
    environment:
      PAPERLESS_REDIS: redis://broker:6379
      PAPERLESS_DBHOST: db
      PAPERLESS_DBENGINE: postgresql
  caddy:
    image: caddy
    network_mode: "host"
    volumes:
      - ./caddy/data/:/data/
      - ./caddy/config/:/config/
      - ./caddy/Caddyfile:/etc/caddy/Caddyfile

volumes:
  data:
  media:
  pgdata:
  redisdata:

Die Dienste entsprechen der offiziellen Vorlage docker-compose.postgres.yml (Stand Oktober 2026, Paperless-ngx v3.3.0 vom 6. Oktober 2026): Als Broker dient Valkey 9, als Datenbank PostgreSQL 18 mit dem Volume-Pfad /var/lib/postgresql. Bei bestehenden Installationen mit PostgreSQL 17 genügt es nicht, nur das Image zu tauschen; ein Wechsel der Hauptversion erfordert ein Dump und Restore oder pg_upgrade (PostgreSQL-Dokumentation).

Wir erstellen nun die Verzeichnisse für Caddy und die Konfigurationsdatei Caddyfile:

mkdir -p /opt/paperless/caddy
chown -R paperless:paperless /opt/paperless/caddy

Wir erstellen die Datei Caddyfile im Verzeichnis /opt/paperless/caddy mit folgendem Inhalt:

{
    email [email protected] # Ihre E-Mail-Adresse für Let's Encrypt Benachrichtigungen
}

paperless-demo.wz-it.com { # Ersetzen Sie dies durch Ihre Domain
    reverse_proxy http://127.0.0.1:8000
}

Hier geben wir die Domain an, unter der Paperless-ngx erreichbar sein soll, und leiten den Verkehr an den Paperless-ngx Webserver weiter. Ersetzen Sie paperless-demo.wz-it.com durch Ihre eigene Domain. Die E-Mail-Adresse wird für die Let's Encrypt Zertifikatsregistrierung verwendet. Sie sollten eine gültige E-Mail-Adresse angeben, um Benachrichtigungen über Zertifikatsprobleme zu erhalten.

Schritt 6: Paperless-ngx und Caddy starten

Wir starten nun Paperless-ngx und Caddy mit Docker Compose. Wir wechseln in das Verzeichnis /opt/paperless und führen den folgenden Befehl aus:

sudo -u paperless docker compose up -d

Jetzt sollte Paperless-ngx über HTTPS erreichbar sein. Sie können dies überprüfen, indem Sie in Ihrem Browser https://paperless-demo.wz-it.com aufrufen. Sie sollten die Paperless-ngx Login-Seite sehen. Paperless-ngx Login Hier können Sie sich mit dem Admin-Benutzer anmelden, den Sie während der Installation festgelegt haben. Der Standardbenutzername ist paperless und das Passwort ist das, das Sie bei der Installation festgelegt haben.

Firewall-Konfiguration

Wenn Sie eine Firewall auf Ihrem Server eingerichtet haben, stellen Sie sicher, dass die Ports 80 (HTTP) und 443 (HTTPS) geöffnet sind. Dies ist notwendig, damit Caddy die Anfragen über HTTP und HTTPS entgegennehmen kann. Sie können dies mit ufw tun oder über die Firewall Ihres Cloud-Anbieters konfigurieren.

Fazit

Mit dieser Anleitung haben Sie Paperless-ngx erfolgreich auf einem Ubuntu 24.04 Server installiert und mit Caddy ein SSL-Zertifikat von Let's Encrypt eingerichtet. Sie können nun Ihre Dokumente sicher und privat verwalten, ohne auf externe Cloud-Dienste angewiesen zu sein.

KI-Erweiterung mit Paperless-AI

Paperless-ngx bringt seit Version 3.0.0 vom 22. Juli 2026 eigene KI-Funktionen mit. Wie Sie diese einrichten, zeigt unser Beitrag Paperless-ngx KI einrichten. Das Zusatzprojekt Paperless-AI wird seit dem 31.03.2026 nicht mehr gepflegt (Hinweis im README); unser Beitrag Paperless-AI Installation: KI-Features für Ihr Dokumentenmanagement bleibt für bestehende Setups online.

Bei der Installation handelt es sich um eine absolute Basisinstallation. Um bestimmte Features zu nutzen, sind evtl. weitere Schritte notwendig, um diese zu aktivieren. In der offiziellen Dokumentation von Paperless-ngx finden Sie weitere Informationen zu den verfügbaren Funktionen und wie Sie diese konfigurieren können: Paperless-ngx Dokumentation.

Quellen

Nächster Schritt

Open-Source-Software betreiben lassen?

Über 52 gemanagte Anwendungen - von Paperless über Nextcloud bis n8n. Ihr nutzt, wir betreiben: Updates, Sicherheit und Verfügbarkeit aus einer Hand, gehostet in deutschen bzw. EU-Rechenzentren.

Managed-Hosting anfragen

Weiterlesen: Paperless-NGX installieren · n8n produktiv betreiben · Twenty CRM aufsetzen

Timo Wevelsiep

Geschrieben von

Timo Wevelsiep

Co-Founder & CEO

Co-Founder von WZ-IT. Spezialisiert auf Cloud-Infrastruktur, Open-Source-Plattformen und Managed Services für KMUs und Enterprise-Kunden weltweit.

Häufig gestellte Fragen

Antworten auf wichtige Fragen zu diesem Thema

Unternehmen weltweit vertrauen WZ-IT

  • Stadtwerke Brühl
  • DGHO e.V.
  • ABCO Water Systems
  • Golem.de
  • EVADXB
  • nextGYM
  • AInergy
  • ml&s
  • Odiseo Solutions
  • Annota
  • ARGE
  • SweetConnect GmbH
  • Aphy AG
  • CORGOS
  • Rekorder
  • SolidProof
  • Yonju
  • Keymate
  • Paritel
  • Mr. Clipart
  • Millenium
  • Negosh
  • Führerscheinmacher
  • Boese VA
Kundenstimmen ansehen

Anfrage

Paperless-ngx sicher in Betrieb nehmen

Wir setzen Paperless-ngx produktionsreif auf, prüfen eine bestehende Basisinstallation oder übernehmen Migration und laufenden Betrieb.

  • Direkt mit Timo und Robin - kein Vertrieb, kein Sales-Pitch
  • Fachliche Einschätzung Ihrer Situation
  • Konkrete nächste Schritte für Infrastruktur, Software oder KI

Das Gespräch ist unverbindlich und kostenlos.

Die Beratung von WZ-IT zu unserer Azure-Migration war schon im Erstgespräch fachlich sehr fundiert und völlig unverbindlich - wir haben eine Menge mitgenommen.
Jakob ÖschlbergerInno7 GmbH
Timo und Robin, Gründer von WZ-IT

Was benötigen Sie für Paperless-ngx?

Die Beratung von WZ-IT zu unserer Azure-Migration war schon im Erstgespräch fachlich sehr fundiert und völlig unverbindlich - wir haben eine Menge mitgenommen.
Jakob ÖschlbergerInno7 GmbH