Paperless-ngx als Docker-Container

Wir werden heute mithilfe von Portainer eine Docker-Instanz für Paperless-ngx einrichten. Hierfür müssen wir in unserem entsprechenden Environment einen neuen Stack anlegen. Wir vergeben einen Namen „paperless-ngx“. Genutzt wird die offizielle Compose-Vorlage. Hier suchen wir nach der Datei „docker-compose.portainer.yml“. Wir kopieren uns die Vorlage und fügen diese in das Editor Fenster ein. Bevor wir den…

Wir werden heute mithilfe von Portainer eine Docker-Instanz für Paperless-ngx einrichten. Hierfür müssen wir in unserem entsprechenden Environment einen neuen Stack anlegen.

Wir vergeben einen Namen „paperless-ngx“.

Genutzt wird die offizielle Compose-Vorlage. Hier suchen wir nach der Datei „docker-compose.portainer.yml“.

Wir kopieren uns die Vorlage und fügen diese in das Editor Fenster ein. Bevor wir den neuen Stack abschließen müssen wir noch ein paar kleinere Anpassungen und Ergänzungen machen.

Im Abschnitt „webserver:“ unterhalb von „ports:“ müssen wir ggf. den Port ändern, mitdem die Instanz angesprochen wird. Standardmäßig ist hier Port 8010 vergeben und kann, sofern ihr diesen nicht bereits für einen anderen Docker Container vergeben habt, so stehen bleiben. Falls dieser bereits belegt ist, nutzt einen noch freien Port. Wichtig ist, dass vor dem Doppelpunkt der Port steht, den man aufrufen muss und dahinter der Port, auf den intern gespiegelt wird.

Geändert werden muss somit nur der Port vor dem „:“.

webserver:
.
.
.
    ports:
      - "8010:8000"

ALs nächstes muss noch der User und die entpprechende Gruppe angepasst werden, welcher/welche den Dienst ausführt. Um die UserID und die GroupID herauszufinden, müsst ihr euch via SSH auf eure Docker Instanz einloggen diese abfragen.

id <username>

Die angezeigte uid und gid müsst ihr unter „webserver:“ und dort unter „environment:“ entsprechend abändern.

webserver:
.
.
.
    environment:
      .
      .
      .
      USERMAP_UID: 1000
      USERMAP_GID: 1000

Solltet ihr euer Paperless-ngx von Internet aus zugänglich machen, so solltet ihr den Secret Key ändern. Dazu muss ein Eintrag unterhalb von „environment:“ hinzugefügt werden. Anstelle von <key> setzt ihr einen beibiegen Schlüssel. Diesen benötigt ihr nie wieder und ihr könnt hier einen langen und komplizierten Schlüssel mithilfe eures Kopfes auf der Tastatur generieren.

webserver:
.
.
.
    environment:
      .
      .
      .
      PAPERLESS_SECRET_KEY: <key>

Um sich bei der entstehenden Instanz anmelden zu können, müssen wir noch einen Administrator benennen. Hierzu fügen wir unterhalb von „environment:“ eine neue Zeile Hinzu.

webserver:
.
.
.
    environment:
      .
      .
      .
      PAPERLESS_ADMIN_USER: admin
      PAPERLESS_ADMIN_PASSWORD: <PASSWORT>

ALs nächstes richten wir noch die notwendige OCR Sprache für die Texterkennung ein.

webserver:
.
.
.
    environment:
      .
      .
      .
      PAPERLESS_OCR_LANGUAGE: ger

Es gibt noch zahlreiche weitere Möglichkeiten dieses Skript auf seine Bedürfnisse anzupassen. Alle Möglichkeiten sind bei Paperless-ngx aufgelistet.

Haben wir alles hinzugefügt ergibt sich eine Compose-Datei, welche jedoch hier noch keinen Secret Key oder Admin Passwort hinterlegt haben.

version: "3.4"
services:
  broker:
    image: docker.io/library/redis:7
    restart: unless-stopped
    volumes:
      - redisdata:/data

  db:
    image: docker.io/library/postgres:15
    restart: unless-stopped
    volumes:
      - pgdata:/var/lib/postgresql/data
    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:
      - "8010:8000"
    volumes:
      - data:/usr/src/paperless/data
      - media:/usr/src/paperless/media
      - ./export:/usr/src/paperless/export
      - ./consume:/usr/src/paperless/consume
    environment:
      PAPERLESS_REDIS: redis://broker:6379
      PAPERLESS_DBHOST: db

      USERMAP_UID: 1000
      USERMAP_GID: 1000

      PAPERLESS_SECRET_KEY: <key>
      PAPERLESS_ADMIN_USER: admin
      PAPERLESS_ADMIN_PASSWORD: <PASSWORT>

volumes:
  data:
  media:
  pgdata:
  redisdata:

Wenn wir mit den Einstellungen fertig sind klicken wir am linken Ende der Seite auf „Deploy Stack“. Daraufhin werden alle nötigen Pakete heruntergeladen und der Container eingerichtet. Ab jetzt könnt ihr eure Instanz mit der Docker IP-Adresse mit dem angefügten Port „:8010“ im Browser aufrufen. Anmelden müsst ihr euch dann mit dem soeben hinzugefügten Admin-User und dessen vergebenen Passwort.


Beitrag veröffentlicht

in

von

Schlagwörter:

Kommentare

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert