Add paperlessngx.yaml

This commit is contained in:
2026-07-14 13:26:32 -05:00
parent 0f425830a2
commit a11039c800
+124
View File
@@ -0,0 +1,124 @@
# Apache Tika and Gotenberg servers are started with paperless and paperless
# is configured to use these services. These provide support for consuming
# Office documents (Word, Excel, Power Point and their LibreOffice counter-parts.
services:
paperless_webserver:
#The main Paperless-ngx service providing the web interface and document processing.
image: ghcr.io/paperless-ngx/paperless-ngx:latest
container_name: paperless_webserver
restart: unless-stopped
depends_on:
- paperless_db
- paperless_broker
- paperless_gotenberg
- paperless_tika
ports:
- "8010:8000"
volumes:
- /srv/docker/office/paperless-ngx/data:/usr/src/paperless/data
- /mnt/raid1/data/appdata/paperless-ngx/:/usr/src/paperless/media
- /srv/docker/office/paperless-ngx/export:/usr/src/paperless/export
- /srv/docker/office/paperless-ngx/consume:/usr/src/paperless/consume
environment:
TZ: America/Chicago
PAPERLESS_REDIS: redis://paperless_broker:6379
PAPERLESS_DBHOST: paperless_db
PAPERLESS_TIKA_ENABLED: 1
PAPERLESS_TIKA_GOTENBERG_ENDPOINT: http://gotenberg:3000
PAPERLESS_TIKA_ENDPOINT: http://tika:9998
PAPERLESS_SECRET_KEY: ${PAPERLESS_SECRET_KEY}
PAPERLESS_URL: ${PAPERLESS_URL}
#The UID and GID of the user used to run paperless in the container.
USERMAP_GID: ${USERMAP_GID}
USERMAP_UID: ${USERMAP_UID}
labels:
- homepage.group=Office
- homepage.name=PaperlessNGX
- homepage.icon=paperlessngx.png
- homepage.href=${PAPERLESS_URL}
- homepage.description=Document Manager with OCR
- homepage.widget.type=paperlessngx
- homepage.widget.url=${PAPERLESS_URL}
- homepage.widget.key=${PAPERLESS_SECRET_KEY}
- homepage.widget.fields=["total", "inbox"]
- dockhand.url=${PAPERLESS_URL}
- rackpeek.tags=office
networks:
- proxy-net
paperless_broker:
#Acts as the message broker for Paperless-ngx - processing scheduled tasks such as email fetching, index optimization and for training the automatic document matcher.
image: docker.io/library/redis:8
container_name: paperless_broker_redis
restart: unless-stopped
#privileged: true
#sysctls:
# net.core.somaxconn : '511'
volumes:
- redisdata:/data
networks:
- proxy-net
labels:
- wud.watch=false
- rackpeek.name=paperless_broker
- rackpeek.tags=service
paperless_db:
#The database server for storing Paperless-ngx data.
# Paperless-ngx is compatible with Django-supported versions of PostgreSQL and MariaDB and it is generally safe to update them to newer versions.
# However, you should always take a backup and follow the instructions from your database's documentation for how to upgrade between major versions
# Do not simply upgrade or downgrade the major version, as the database will not load anymore. See OneNote
image: postgres:18.4 #docker.io/library/postgres:18.3
container_name: paperless_db_postgres
labels:
- rackpeek.name=paperless_db
- rackpeek.tags=database
restart: unless-stopped
volumes:
# IMPORTANT: As of v18, the PGDATA path is now version-specific in the official image (i.e just map to /var/lib/postgresql not /var/lib/postgresql/data)
- /srv/docker/office/paperless-ngx/postgresql:/var/lib/postgresql
environment:
POSTGRES_DB: ${POSTGRES_DB}
POSTGRES_USER: ${POSTGRES_USER}
POSTGRES_PASSWORD: ${POSTGRES_PASSWORD}
TZ: America/Chicago
networks:
- proxy-net
paperless_gotenberg:
#Provides document conversion services, enhancing Paperless-ngx's ability to consume various file formats.
image: docker.io/gotenberg/gotenberg:8.32.0
container_name: paperless_gotenberg
restart: unless-stopped
# The gotenberg chromium route is used to convert .eml files. We do not
# want to allow external content like tracking pixels or even javascript.
labels:
- rackpeek.name=paperless_gotenberg
- rackpeek.tags=service
command:
- "gotenberg"
- "--chromium-disable-javascript=true"
- "--chromium-allow-list=file:///tmp/.*"
networks:
- proxy-net
paperless_tika:
# Offers content analysis and metadata extraction, further extending support for document types.
image: docker.io/apache/tika:latest
container_name: paperless_tika
restart: unless-stopped
labels:
- rackpeek.name=paperless_tika
- rackpeek.tags=service
networks:
- proxy-net
volumes:
redisdata:
networks:
proxy-net:
external: true