Files
migrate-ecodms-to-paperless/.env.example
2026-09-04 19:51:02 +02:00

147 lines
6.0 KiB
Plaintext

# Paperless-ngx - Konfigurationsvorlage fuer die ecoDMS-Migration
# Nach .env kopieren und anpassen.
#
# Geheimnisse erzeugen: openssl rand -hex 32
# Hexadezimal statt base64, dann enthaelt der Wert garantiert keine
# Zeichen, die die Env-Datei durcheinanderbringen.
# ===========================================================================
# GEHEIMNISSE
# ===========================================================================
POSTGRES_PASSWORD=BITTE_ERSETZEN
# Ausschreiben, nicht ${POSTGRES_PASSWORD}. Docker Compose ersetzt Variablen
# nur in der docker-compose.yml, nicht in einer ueber env_file eingebundenen
# Datei - dort wird der Text woertlich durchgereicht.
PAPERLESS_DBPASS=BITTE_ERSETZEN
PAPERLESS_SECRET_KEY=BITTE_ERSETZEN
PAPERLESS_ADMIN_USER=admin
PAPERLESS_ADMIN_PASSWORD=BITTE_ERSETZEN
# ===========================================================================
# BINDUNG
# ===========================================================================
# 127.0.0.1 wenn der Reverse Proxy auf demselben Host laeuft,
# sonst die LAN-Adresse. Paperless nie direkt ins Internet.
BIND_IP=127.0.0.1
# ===========================================================================
# ANBINDUNG
# ===========================================================================
PAPERLESS_REDIS=redis://broker:6379
PAPERLESS_DBHOST=db
PAPERLESS_DBNAME=paperless
PAPERLESS_DBUSER=paperless
PAPERLESS_TIKA_ENABLED=1
PAPERLESS_TIKA_ENDPOINT=http://tika:9998
PAPERLESS_TIKA_GOTENBERG_ENDPOINT=http://gotenberg:3000
# ===========================================================================
# ERREICHBARKEIT
# ===========================================================================
# Waehrend der Migration lokal:
PAPERLESS_URL=http://localhost:8000
PAPERLESS_ALLOWED_HOSTS=localhost
# Im Produktivbetrieb hinter einem Reverse Proxy stattdessen:
#PAPERLESS_URL=https://dms.example.org
#PAPERLESS_ALLOWED_HOSTS=dms.example.org
#PAPERLESS_CSRF_TRUSTED_ORIGINS=https://dms.example.org
#PAPERLESS_CORS_ALLOWED_HOSTS=https://dms.example.org
#PAPERLESS_USE_X_FORWARD_HOST=true
#PAPERLESS_USE_X_FORWARD_PORT=true
#PAPERLESS_PROXY_SSL_HEADER=["HTTP_X_FORWARDED_PROTO","https"]
#PAPERLESS_COOKIE_PREFIX=pngx_
# ===========================================================================
# GRUNDEINSTELLUNGEN
# ===========================================================================
PAPERLESS_TIME_ZONE=Europe/Berlin
PAPERLESS_OCR_LANGUAGE=deu+eng
PAPERLESS_OCR_LANGUAGES=deu eng
# EINMAL festlegen. Eine spaetere Aenderung benennt den gesamten Bestand um.
# Seit 3.x doppelte geschweifte Klammern (Jinja-Syntax).
PAPERLESS_FILENAME_FORMAT={{ created_year }}/{{ document_type }}/{{ title }}
PAPERLESS_FILENAME_FORMAT_REMOVE_NONE=true
# ===========================================================================
# NACHVOLLZIEHBARKEIT
# ===========================================================================
PAPERLESS_AUDIT_LOG_ENABLED=true
PAPERLESS_EMPTY_TRASH_DELAY=90
# ===========================================================================
# BERECHTIGUNGEN
# ===========================================================================
# WICHTIG: numerische Benutzer-ID, kein Benutzername. Eine falsche ID laesst
# jeden Konsumvorgang mit "Error while queuing document" scheitern.
# ID ermitteln: docker compose exec -T db psql -U paperless -d paperless \
# -c "SELECT id, username FROM auth_user ORDER BY id;"
#
# Ohne diese Einstellung haetten neu konsumierte Dokumente keinen Eigentuemer
# - und "keine Rechte" heisst in Paperless nicht gesperrt, sondern offen.
PAPERLESS_DEFAULT_PERMISSIONS_OWNER=2
#PAPERLESS_DEFAULT_PERMISSIONS_VIEW_GROUPS=1
# ===========================================================================
# CONSUME-ORDNER
# ===========================================================================
# Waehrend der Migration abgeschaltet.
PAPERLESS_CONSUMER_POLLING=0
# Im Produktivbetrieb: Polling statt inotify, wenn der Ordner ueber SMB,
# NFS oder Nextcloud befuellt wird - Dateisystem-Benachrichtigungen sind
# dort unzuverlaessig.
#PAPERLESS_CONSUMER_POLLING=60
#PAPERLESS_CONSUMER_POLLING_RETRY_COUNT=5
#PAPERLESS_CONSUMER_POLLING_DELAY=5
#PAPERLESS_CONSUMER_RECURSIVE=true
#PAPERLESS_CONSUMER_SUBDIRS_AS_TAGS=true
# PAPERLESS_CONSUMER_IGNORE_PATTERNS NICHT setzen, ausser man kennt die
# Regex-Syntax: In 3.x ist das eine Liste REGULAERER AUSDRUECKE. Ein
# Glob-Muster wie "*.part" laesst den Consumer beim Start abstuerzen
# ("nothing to repeat at position 0"). Die Vorgaben decken .DS_Store,
# Thumbs.db und Aehnliches bereits ab.
PAPERLESS_CONSUMER_DELETE_DUPLICATES=false
# ===========================================================================
# OCR UND ARCHIVDATEIEN
# ===========================================================================
# In 3.x sind OCR-Steuerung und Archivdatei-Steuerung entkoppelt. Die alten
# Werte OCR_MODE=skip und OCR_SKIP_ARCHIVE_FILE sind entfallen und werden
# mit W002/W003 angemahnt.
#
# 'auto' laesst OCR aus, wenn bereits ein Textlayer vorhanden ist - bei einem
# Bestand aus einem anderen DMS der Regelfall. Unterschied: Stunden statt Tage.
PAPERLESS_OCR_MODE=auto
PAPERLESS_ARCHIVE_FILE_GENERATION=auto
PAPERLESS_OCR_OUTPUT_TYPE=pdfa
PAPERLESS_OCR_CLEAN=clean
PAPERLESS_OCR_DESKEW=true
PAPERLESS_OCR_ROTATE_PAGES=true
PAPERLESS_OCR_ROTATE_PAGES_THRESHOLD=12
# Schuetzt vor einem sehr grossen Scan, der einen Worker lange blockiert.
PAPERLESS_OCR_MAX_IMAGE_PIXELS=256000000
# ===========================================================================
# DURCHSATZ
# ===========================================================================
# Waehrend der Migration hoch, im Produktivbetrieb zurueckdrehen.
PAPERLESS_TASK_WORKERS=6
PAPERLESS_THREADS_PER_WORKER=3
PAPERLESS_WEBSERVER_WORKERS=2
PAPERLESS_CONVERT_MEMORY_LIMIT=0
# ===========================================================================
# SONSTIGES
# ===========================================================================
PAPERLESS_TRAIN_TASK_CRON=10 3 * * *
PAPERLESS_EMAIL_TASK_CRON=*/15 * * * *
PAPERLESS_ENABLE_UPDATE_CHECK=false
#PAPERLESS_APP_TITLE=Archiv