Files
docker-compose/.archived/paperless-ngx/compose.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