4.1 KiB
Paperless ngx
Donnerstag, 6. Juli 2023
22:06
Anleitung zur Installation von Paperless-ngx auf Synology
https://deployn.de/blog/paperless-synology/
Yml file :
version: '3.6'
networks:
internal:
external: false
services:
broker:
container_name: paperless-redis
image: redis:6.2
# Wenn man lieber 6.0 nutzen möchte
# image: redis:6.0
networks:
- internal
volumes:
# Hier den richtigen Pfad eintragen
- /volume1/paperless/redis:/redis
# - /volume2/paperless/redis:/redis
restart: unless-stopped
db:
container_name: paperless-db
image: postgres:14
# Wenn man lieber die 13 Version von PostgreSQL möchte
# image: postgres:13
# Nicht einfach up- oder downgraden, die Datenbank wird dann nicht mehr laden.
networks:
- internal
restart: unless-stopped
volumes:
# Hier den richtigen Pfad eintragen
- /volume3/docker/paperless-ngx/db:/var/lib/postgresql/data
# - /volume2/paperless/db:/var/lib/postgresql/data
environment:
POSTGRES_DB: paperless
POSTGRES_USER: paperless
# Hier ein anderes Passwort verwenden
POSTGRES_PASSWORD: rkdN19DTd3CxWOuXP6eSyfhB19HRAx
webserver:
container_name: paperless
image: ghcr.io/paperless-ngx/paperless-ngx:latest
networks:
# Wenn sich der Proxy Manager auf der Synology befindet, sollte hier zusätzlich das Netzwerk davon eingetragen werden, statt einen Port freizugeben.
- internal
restart: unless-stopped
depends_on:
- db
- broker
ports:
# Diesen Teil löschen, wenn der Proxy Manager auf der Synology ist.
# Ansonsten hier einen Port auswählen, der frei ist.
- 8010:8010
# - 8011:8000
# - 8012:8000
healthcheck:
test: ['CMD', 'curl', '-f', 'http://localhost:8000']
interval: 30s
timeout: 10s
retries: 5
volumes:
# Hier die richtigen Pfade eintragen
- /volume3/docker/paperless-ngx/data:/usr/src/paperless/data
- /volume3/docker/paperless-ngx/media:/usr/src/paperless/media
- /volume3/docker/paperless-ngx/export:/usr/src/paperless/export
- /volume3/docker/paperless-ngx/consume:/usr/src/paperless/consume
environment:
PAPERLESS_REDIS: redis://broker:6379
PAPERLESS_DBHOST: db
PAPERLESS_DBPASS: rkdN19DTd3CxWOuXP6eSyfhB19HRAx # Das ist das Passwort von oben
#USERMAP_UID: 1010 # UserID für den docker Benutzer
#USERMAP_GID: 65555 # GruppenID für den docker Benutzer
PAPERLESS_OCR_LANGUAGES: eng deu
# Hier einen zufälligen Key eintragen, wenn man Paperless von Außen erreichbar machen möchte.
PAPERLESS_SECRET_KEY: C3Q2dLkVPqZWDKTXgkHwWhJ6jk8XqAbeDmDZjCxvb3c2jXl6pTGQXqJFqEkS9umFmXrk4WmzT8rlwjqWan6A2G54Q5IgraBv96CS
# Hier die eigene Domain hinter localhost eintragen, wenn man einen Proxy Host benutzt, ansonsten diese Umgebungsvariable löschen.
#PAPERLESS_ALLOWED_HOSTS: 'localhost,paperless.domain.de'
PAPERLESS_TIME_ZONE: Europe/Berlin
PAPERLESS_OCR_LANGUAGE: deu
# Hier anpassen, wenn man eine andere Ordnerstruktur haben möchte
PAPERLESS_FILENAME_FORMAT: '{created_year}/{title}'
# Die nächsten drei Zeilen weglassen, wenn man Tika/Gotenberg nicht einsetzen möchte.
PAPERLESS_TIKA_ENABLED: 1
PAPERLESS_TIKA_GOTENBERG_ENDPOINT: http://gotenberg:3000/forms/libreoffice/convert#
PAPERLESS_TIKA_ENDPOINT: http://tika:9998
# Die nächste Zeile setzen, wenn man einen Proxy Server benutzt.
#PAPERLESS_URL: 'https://paperless.domain.de'
db-backup:
container_name: paperless-db-backup
# Das Image ggf. an das obere anpassen
image: postgres:14
volumes:
# Hier den richtigen Pfad eintragen
- /volume3/docker/paperless-ngx/db-backup:/dump
- /etc/localtime:/etc/localtime:ro
environment:
PGHOST: db
PGDATABASE: paperless
PGUSER: paperless
PGPASSWORD: rkdN19DTd3CxWOuXP6eSyfhB19HRAx # Das ist das Passwort von oben
BACKUP_NUM_KEEP: 10
BACKUP_FREQUENCY: 7d # Alle 7 Tage, kann man anpassen
entrypoint: |
bash -c 'bash -s <<EOF
trap "break;exit" SIGHUP SIGINT SIGTERM
sleep 2m
while /bin/true; do
pg_dump -Fc > /dump/dump_\`date +%d-%m-%Y"_"%H_%M_%S\`.psql
(ls -t /dump/dump*.psql|head -n $$BACKUP_NUM_KEEP;ls /dump/dump*.psql)|sort|uniq -u|xargs rm -- {}
sleep $$BACKUP_FREQUENCY
done
EOF'
networks:
- internal