108 lines
3.5 KiB
YAML
108 lines
3.5 KiB
YAML
services:
|
|
paperless-ngx-db:
|
|
container_name: paperless-ngx-db
|
|
image: docker.io/library/postgres:18.1@sha256:5773fe724c49c42a7a9ca70202e11e1dff21fb7235b335a73f39297d200b73a2
|
|
restart: unless-stopped
|
|
environment:
|
|
- POSTGRES_USER=${POSTGRES_USER}
|
|
- POSTGRES_PASSWORD=${POSTGRES_PASSWORD}
|
|
- POSTGRES_DB=${POSTGRES_DB}
|
|
- PGDATA=/var/lib/postgresql/18/docker
|
|
volumes:
|
|
- ${APPDATA_PATH}/paperless-ngx/db:/var/lib/postgresql
|
|
networks:
|
|
- backend
|
|
healthcheck:
|
|
test: ["CMD-SHELL", "pg_isready -d ${POSTGRES_DB} -U ${POSTGRES_USER}"]
|
|
interval: 10s
|
|
timeout: 5s
|
|
retries: 3
|
|
start_period: 10s
|
|
|
|
paperless-ngx-valkey:
|
|
container_name: paperless-ngx-valkey
|
|
image: ghcr.io/valkey-io/valkey:9.0.1@sha256:546304417feac0874c3dd576e0952c6bb8f06bb4093ea0c9ca303c73cf458f63
|
|
restart: unless-stopped
|
|
volumes:
|
|
- ${APPDATA_PATH}/paperless-ngx/valkey:/data
|
|
networks:
|
|
- backend
|
|
healthcheck:
|
|
test: ["CMD-SHELL", "valkey-cli ping | grep PONG"]
|
|
interval: 10s
|
|
timeout: 5s
|
|
retries: 3
|
|
start_period: 10s
|
|
|
|
paperless-ngx-tika:
|
|
container_name: paperless-ngx-tika
|
|
image: docker.io/apache/tika:3.2.3.0@sha256:c0154cb95587cde64be74f35ada1a2bd7892219f3f0ac3c9dc6cab34046b3573
|
|
restart: unless-stopped
|
|
|
|
paperless-ngx-gotenberg:
|
|
container_name: paperless-ngx-gotenberg
|
|
image: docker.io/gotenberg/gotenberg:8.26.0@sha256:328551506b3dec3ff6381dd47e5cd72a44def97506908269e201a8fbfa1c12c0
|
|
restart: unless-stopped
|
|
command:
|
|
- "gotenberg"
|
|
- "--chromium-disable-javascript=true"
|
|
- "--chromium-allow-list=file:///tmp/.*"
|
|
|
|
paperless-ngx:
|
|
container_name: paperless-ngx
|
|
image: ghcr.io/paperless-ngx/paperless-ngx:2.20.5@sha256:665f2f5cc5482ea2e44f90a7fa170908aaeb95d8d3c70e17f746de8fcb81f644
|
|
restart: unless-stopped
|
|
depends_on:
|
|
paperless-ngx-db:
|
|
condition: service_healthy
|
|
paperless-ngx-valkey:
|
|
condition: service_healthy
|
|
paperless-ngx-tika:
|
|
condition: service_healthy
|
|
paperless-ngx-gotenberg:
|
|
condition: service_healthy
|
|
environment:
|
|
- PAPERLESS_DBHOST=paperless-ngx-db
|
|
- PAPERLESS_DBENGINE=postgresql
|
|
- PAPERLESS_DBPORT=5432
|
|
- PAPERLESS_DBNAME=${POSTGRES_DB}
|
|
- PAPERLESS_DBUSER=${POSTGRES_USER}
|
|
- PAPERLESS_DBPASS=${POSTGRES_PASSWORD}
|
|
|
|
- PAPERLESS_REDIS=redis://paperless-ngx-valkey:6379
|
|
|
|
- PAPERLESS_TIKA_ENABLED=1
|
|
- PAPERLESS_TIKA_ENDPOINT=http://paperless-ngx-tika:9998
|
|
- PAPERLESS_TIKA_GOTENBERG_ENDPOINT=http://paperless-ngx-gotenberg:3000
|
|
|
|
- USERMAP_UID=${PUID}
|
|
- USERMAP_GID=${PGID}
|
|
- PAPERLESS_URL=${PAPERLESS_URL}
|
|
- PAPERLESS_ALLOWED_HOSTS=${PAPERLESS_ALLOWED_HOSTS}
|
|
- PAPERLESS_SECRET_KEY=${PAPERLESS_SECRET_KEY}
|
|
- PAPERLESS_TIME_ZONE=${TZ}
|
|
- PAPERLESS_FILENAME_FORMAT={correspondent}/{created_year}/{title}
|
|
- PAPERLESS_OCR_LANGUAGE=${PAPERLESS_OCR_LANGUAGE}
|
|
- PAPERLESS_OCR_DESKEW=false
|
|
volumes:
|
|
- ${APPDATA_PATH}/paperless-ngx/data:/usr/src/paperless/data
|
|
- ${APPDATA_PATH}/paperless-ngx/media:/usr/src/paperless/media
|
|
- ${APPDATA_PATH}/paperless-ngx/export:/usr/src/paperless/export
|
|
- ${APPDATA_PATH}/paperless-ngx/consume:/usr/src/paperless/consume
|
|
ports:
|
|
- ${SERVER_PORT}:8000
|
|
networks:
|
|
- frontend
|
|
- backend
|
|
healthcheck:
|
|
test: ["CMD", "curl", "-f", "http://localhost:8000"]
|
|
interval: 30s
|
|
timeout: 10s
|
|
retries: 5
|
|
|
|
networks:
|
|
frontend:
|
|
external: true
|
|
backend:
|
|
external: true
|