New version with AI integrated for Syno

This commit is contained in:
2026-04-07 18:07:46 +02:00
parent 59f9fc1490
commit 0c36736306
2 changed files with 113 additions and 109 deletions
+37
View File
@@ -0,0 +1,37 @@
###############################################################################
# Paperless-ngx settings #
###############################################################################
# See http://docs.paperless-ngx.com/configuration/ for all available options.
# The UID and GID of the user used to run paperless in the container. Set this
# to your UID and GID on the host so that you have write access to the
# consumption directory.
USERMAP_UID=1026
USERMAP_GID=100
# See the documentation linked above for all options. A few commonly adjusted settings
# are provided below.
# This is required if you will be exposing Paperless-ngx on a public domain
# (if doing so please consider security measures such as reverse proxy)
PAPERLESS_URL=https://paperless.sda.zone
# Required. A unique secret key for session tokens and signing.
# Generate with: python3 -c "import secrets; print(secrets.token_urlsafe(64))"
PAPERLESS_SECRET_KEY=C@ptn&mo
# Use this variable to set a timezone for the Paperless Docker containers. Defaults to UTC.
#PAPERLESS_TIME_ZONE=America/Los_Angeles
# The default language to use for OCR. Set this to the language most of your
# documents are written in.
PAPERLESS_OCR_LANGUAGE=fre
# Additional languages to install for text recognition, separated by a whitespace.
# Note that this is different from PAPERLESS_OCR_LANGUAGE (default=eng), which defines
# the language used for OCR.
# The container installs English, German, Italian, Spanish and French by default.
# See https://packages.debian.org/search?keywords=tesseract-ocr-&searchon=names
# for available languages.
#PAPERLESS_OCR_LANGUAGES=tur ces
+76 -109
View File
@@ -1,67 +1,83 @@
# Docker Compose file for running paperless from the docker container registry.
# This file contains everything paperless needs to run.
# Paperless supports amd64, arm and arm64 hardware.
#
# All compose files of paperless configure paperless in the following way:
#
# - Paperless is (re)started on system boot, if it was running before shutdown.
# - Docker volumes for storing data are managed by Docker.
# - Folders for importing and exporting files are created in the same directory
# as this file and mounted to the correct folders inside the container.
# - Paperless listens on port 8000.
#
# In addition to that, this Docker Compose file adds the following optional
# configurations:
#
# - Instead of SQLite (default), PostgreSQL is used as the database server.
# - 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, PowerPoint and their LibreOffice counter-
# parts).
#
# To install and update paperless with this file, do the following:
#
# - Copy this file as 'docker-compose.yml' and the files 'docker-compose.env'
# and '.env' into a folder.
# - Run 'docker compose pull'.
# - Run 'docker compose up -d'.
#
# For more extensive installation and update instructions, refer to the
# documentation.
services: services:
redis: broker:
image: redis:7 image: docker.io/library/redis:8
command: restart: unless-stopped
- /bin/sh
- -c
- redis-server --requirepass redispass
container_name: PaperlessNGX-REDIS
hostname: paper-redis
mem_limit: 512m
mem_reservation: 256m
cpu_shares: 768
security_opt:
- no-new-privileges:true
read_only: true
healthcheck:
test: ["CMD-SHELL", "redis-cli ping || exit 1"]
volumes: volumes:
- /var/lib/docker/volumes/paperlessngx/redis:/data:rw - redisdata:/data
environment:
TZ: Europe/Paris
restart: on-failure:5
db: db:
image: postgres:17 image: docker.io/library/postgres:18
container_name: PaperlessNGX-DB restart: unless-stopped
hostname: paper-db
mem_limit: 1g
cpu_shares: 768
security_opt:
- no-new-privileges:true
healthcheck:
test: ["CMD", "pg_isready", "-q", "-d", "paperless", "-U", "paperlessuser"]
timeout: 45s
interval: 10s
retries: 10
volumes: volumes:
- /var/lib/docker/volumes/paperlessngx/db:/var/lib/postgresql/data:rw - pgdata:/var/lib/postgresql
environment: environment:
POSTGRES_DB: paperless POSTGRES_DB: paperless
POSTGRES_USER: paperlessuser POSTGRES_USER: paperless
POSTGRES_PASSWORD: paperlesspass POSTGRES_PASSWORD: paperless
restart: on-failure:5 webserver:
image: ghcr.io/paperless-ngx/paperless-ngx:latest
restart: unless-stopped
depends_on:
- db
- broker
- gotenberg
- tika
ports:
- "8000:8000"
volumes:
- data:/usr/src/paperless/data
- media:/usr/src/paperless/media
- /volume1/Datas/_ToPaperless/Export:/usr/src/paperless/export
- /volume1/Datas/_ToPaperless/Consume:/usr/src/paperless/consume
env_file: docker-compose.env
environment:
PAPERLESS_REDIS: redis://broker:6379
PAPERLESS_DBHOST: db
PAPERLESS_DBENGINE: postgresql
PAPERLESS_TIKA_ENABLED: 1
PAPERLESS_TIKA_GOTENBERG_ENDPOINT: http://gotenberg:3000
PAPERLESS_TIKA_ENDPOINT: http://tika:9998
gotenberg: gotenberg:
image: gotenberg/gotenberg:latest image: docker.io/gotenberg/gotenberg:8.27
container_name: PaperlessNGX-GOTENBERG restart: unless-stopped
hostname: gotenberg # The gotenberg chromium route is used to convert .eml files. We do not
security_opt: # want to allow external content like tracking pixels or even javascript.
- no-new-privileges:true
command: command:
- "gotenberg" - "gotenberg"
- "--chromium-disable-javascript=true" - "--chromium-disable-javascript=true"
- "--chromium-allow-list=file:///tmp/.*" - "--chromium-allow-list=file:///tmp/.*"
restart: on-failure:5
tika: tika:
image: ghcr.io/paperless-ngx/tika:latest image: docker.io/apache/tika:latest
container_name: PaperlessNGX-TIKA restart: unless-stopped
hostname: tika
security_opt:
- no-new-privileges:true
restart: on-failure:5
paperlessngx-ai: paperlessngx-ai:
image: clusterzx/paperless-ai image: clusterzx/paperless-ai
container_name: PaperlessNGX-AI container_name: PaperlessNGX-AI
@@ -72,62 +88,13 @@ services:
retries: 3 retries: 3
start_period: 90s start_period: 90s
volumes: volumes:
- /var/lib/docker/volumes/paperlessngxai:/app/data:rw - paperlessngxai:/app/data:rw
ports: ports:
- 3747:3000 - "3747:3000"
restart: on-failure:5 restart: on-failure:5
volumes:
paperless: data:
image: ghcr.io/paperless-ngx/paperless-ngx:latest media:
container_name: PaperlessNGX pgdata:
hostname: paperless-ngx redisdata:
mem_limit: 6g paperlessngxai:
cpu_shares: 1024
security_opt:
- no-new-privileges:true
healthcheck:
test: ["CMD", "curl", "-fs", "-S", "--max-time", "2", "http://localhost:8000"]
interval: 30s
timeout: 10s
retries: 5
ports:
- 8777:8000
volumes:
- /var/lib/docker/volumes/paperlessngx/data:/usr/src/paperless/data:rw
- /var/lib/docker/volumes/paperlessngx/media:/usr/src/paperless/media:rw
- /var/lib/docker/volumes/paperlessngx/export:/usr/src/paperless/export:rw
- /network/Datas/_ToConsume:/usr/src/paperless/consume:rw
- /var/lib/docker/volumes/paperlessngx/trash:/usr/src/paperless/trash:rw
environment:
PAPERLESS_REDIS: redis://:redispass@paper-redis:6379
PAPERLESS_DBENGINE: postgresql
PAPERLESS_DBHOST: paper-db
PAPERLESS_DBNAME: paperless
PAPERLESS_DBUSER: paperlessuser
PAPERLESS_DBPASS: paperlesspass
PAPERLESS_EMPTY_TRASH_DIR: ../trash
PAPERLESS_FILENAME_FORMAT: '{{ created_year }}/{{ correspondent }}/{{ document_type }}/{{ title }}'
PAPERLESS_OCR_ROTATE_PAGES_THRESHOLD: 6
PAPERLESS_TASK_WORKERS: 1
PAPERLESS_CONSUMER_POLLING: 60
PAPERLESS_TIME_ZONE: Europe/Paris
PAPERLESS_ADMIN_USER: thedarty
PAPERLESS_ADMIN_PASSWORD: St&ph@ne10Nove.@1976
PAPERLESS_URL: http://paperlessngx-dev.maison
PAPERLESS_CSRF_TRUSTED_ORIGINS: http://paperlessngx-dev.maison
PAPERLESS_OCR_LANGUAGE: fra+eng
PAPERLESS_TIKA_ENABLED: 1
PAPERLESS_TIKA_GOTENBERG_ENDPOINT: http://gotenberg:3000
PAPERLESS_TIKA_ENDPOINT: http://tika:9998
restart: on-failure:5
depends_on:
db:
condition: service_healthy
redis:
condition: service_healthy
tika:
condition: service_started
gotenberg:
condition: service_started
paperlessngx-ai:
condition: service_started