120 lines
4.4 KiB
YAML
120 lines
4.4 KiB
YAML
# 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
|
|
- 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 |