Paperless-NGX mit Docker-Compose installieren
Ich habe mich letztens gefragt, wie ich es hinbekommen kann, dass ich eine bessere Struktur in meiner Bürokratie habe. Da ist mir eingefallen, dass mein Kumpel von Paperless erzählt hat. Ein cooles Webtool, dass von jedem Dokument einen OCR-Scan durchführt und man jedes Dokument mit Tags und Kategorien versehen kann.
Ich ging dann auf die Suche, wie man Paperless installiert und habe leider sehr viele veraltete Dokumentationen dazu gefunden, weshalb ich mir gedachte habe, dass es bestimmt gut wäre, wenn ich meine Doku mal selbst aufschreibe.
Ich selbst mache eigentlich alle Dienste, die ich selbst hoste, über Docker. Ich habe Portainer auf meinem Server installiert und betreibe das ganze über die Stacks, die Portainer anbietet. Diese Stacks bieten einen riesen Vorteil, denn ich habe somit alle Container direkt an einem zentralen Ort und kann dort auch über eine schöne Oberfläche die Container bearbeiten. Ich kann die Variablen ändern und sogar direkt die Docker-Compose.yml.
Eigentlich ist es nicht wirklich schwer gewesen Paperless-NGX zu installieren. Ich habe die Docker-Compose aufgebaut, habe meine Daten eingegeben und habe auf Deploy gedrückt.
version: "3.4"
services:
broker:
image: redis:6.0
networks:
internal:
restart: unless-stopped
db:
image: postgres:13
networks:
internal:
restart: unless-stopped
volumes:
- /opt/docker-prod/paperless/pgdata:/var/lib/postgresql/data
environment:
POSTGRES_DB: paperless
POSTGRES_USER: paperless
POSTGRES_PASSWORD: paperless
webserver:
image: ghcr.io/paperless-ngx/paperless-ngx:latest
networks:
internal:
ports:
- "8000:8000"
restart: unless-stopped
depends_on:
- db
- broker
healthcheck:
test: ["CMD", "curl", "-f", "http://localhost:8000"]
interval: 30s
timeout: 10s
retries: 5
volumes:
- /opt/docker-prod/paperless/data:/usr/src/paperless/data
- /opt/docker-prod/paperless/media:/usr/src/paperless/media
# env_file: docker-compose.env
environment:
PAPERLESS_REDIS: redis://paperless-broker-1:6379
PAPERLESS_DBHOST: paperless-db-1
PAPERLESS_URL: http://localhost
PAPERLESS_OCR_LANGUAGE: deu
PAPERLESS_TIME_ZONE: Europe/Berlin
volumes:
data:
media:
pgdata:
networks:
internal:
external: true
name: proxy_default
Sobald man auf Deploy gedrückt hat, startet die Installation. Es wird eine Datenbank (Postgres) aufgesetzt, ein Redis und ein kleiner Webserver, der sich um die Weboberfläche kümmert. Dies dauert ein paar Minuten, bis man auf die Weboberfläche mit http://localhost:8000 kommt.
Sobald man Zugriff auf die Weboberfläche hat, kommt man zum Anmeldefenster, indem man seine Anmeldedaten eingeben kann. Jetzt hat man kompletten Zugriff auf Paperless und kann beginnen, seine Dolumente dort hochzuladen und zu sortieren. Viel Spaß!
Zum GitHub Repository: