Anleitung zur Installation von Paperless-ngx – Teil 1
Guten Tag zusammen, ich möchte gerne die Gelegenheit nutzen, hier eine funktionierende Anleitung zu posten für die Installation und Verwendung von Paperless-ngx. Dabei ist mir wichtig zu sagen, dass das
nur einen Weg darstellen soll, das ganze zum Laufen zu bringen. Meine Version kommt dabei ohne die Verwendung von Portainer (
wie beispielsweise bei Marius) aus.
Die Anleitung ist mit der
Version 1.13.0 von Paperless-ngx unter DSM 7.1.1 erstellt worden (ab DSM 7.2 wird es bei Docker einige Änderungen geben), sie verwendet Redis 7.0.10 und PostgreSQL in Version 15.2.
Ordner und Konfigurationsdatei erstellen
Geht zu Eurem Docker-Ordner (meistens:
/volume1/docker
) und erstellt einen Unterordner
/paperlessngx
und innerhalb des Ordners noch die Ordner:
- config
- consume
- data
- export
- exportpostgres
- media
- pgdata
- redis
Hier werden die Daten außerhalb des Containers gespeichert, das ermöglicht Euch, bei Problemen im Zweifelsfalle den ganzen Ordner wieder zu kopieren und nach Eingabe der Befehle unten dort weiterarbeiten zu können.
Dann wenden wir uns der Konfigurationsdatei zu. Die Macher von Paperless-ngx haben dazu
auf der GitHub-Seite bereits mehrere Beispiele veröffentlicht. Im Zweifelsfalle nehmt einfach eine der vorhandenen Dateien, man kann diese jederzeit nachträglich an seine Bedürfnisse anpassen. Erstellt werden
- docker-compose.yml
- docker-compose.env
Und zwar im Ordner
config
. Die env-Datei kann man auch anders benennen, dann muss die entsprechende Zeile in der yml halt anpassen. Für die yml-Datei nutze ich folgende Einstellungen:
Code:
version: "3.6"
services:
broker:
container_name: redis
image: redis:latest
restart: unless-stopped
volumes:
- ../redis:/data
db:
container_name: postgres
image: postgres:15
restart: unless-stopped
volumes:
- ../pgdata:/var/lib/postgresql/data
- /volume1/docker/paperlessngx/exportpostgres:/var/lib/postgresql/data/backup
environment:
POSTGRES_DB: paperless
POSTGRES_USER: paperless
POSTGRES_PASSWORD: paperless
webserver:
container_name: paperlessngx
image: ghcr.io/paperless-ngx/paperless-ngx:latest
restart: unless-stopped
depends_on:
- db
- broker
ports:
- 34343:8000
healthcheck:
test: ["CMD", "curl", "-fs", "-S", "--max-time", "2", "http://localhost:8000"]
interval: 30s
timeout: 10s
retries: 5
volumes:
- ../data:/usr/src/paperless/data
- ../media:/usr/src/paperless/media
- ../export:/usr/src/paperless/export
- ../consume:/usr/src/paperless/consume
env_file: docker-compose.env
environment:
PAPERLESS_REDIS: redis://broker:6379
PAPERLESS_DBHOST: db
volumes:
data:
media:
pgdata:
redisdata:
Weitere Anpassungen findet ihr in der Anleitung von
Paperless-ngx unter Configuration.