Files
Paperless/docker-compose.yaml
T
2026-03-21 09:01:42 +00:00

80 lines
3.4 KiB
YAML

services:
# ── Broker ──────────────────────────────────────────────────────────────────
broker:
image: docker.io/library/redis:7
container_name: paperless-broker
restart: unless-stopped
volumes:
- /mnt/dokploy-volumes/paperless/redisdata:/data
# ── Paperless-ngx ────────────────────────────────────────────────────────────
webserver:
image: registry.web.lesko.me/dokploy/build-paperless-tzh6vl
container_name: paperless-webserver
restart: unless-stopped
depends_on:
- broker
ports:
- "8000"
volumes:
- /mnt/dokploy-volumes/paperless/data:/usr/src/paperless/data
- /mnt/dokploy-volumes/paperless/media:/usr/src/paperless/media
- /mnt/dokploy-volumes/paperless/export:/usr/src/paperless/export
- /mnt/dokploy-volumes/paperless/consume:/usr/src/paperless/consume
environment:
PAPERLESS_REDIS: redis://broker:6379
USERMAP_UID: 1000
USERMAP_GID: 1000
# ── External Postgres ────────────────────────────────────────────────────
PAPERLESS_DBENGINE: ${PAPERLESS_DBENGINE}
PAPERLESS_DBHOST: ${PAPERLESS_DBHOST} # your docker-1 IP or hostname
PAPERLESS_DBPORT: ${PAPERLESS_DBPORT}
PAPERLESS_DBNAME: ${PAPERLESS_DBNAME}
PAPERLESS_DBUSER: ${PAPERLESS_DBUSER}
PAPERLESS_DBPASS: ${PAPERLESS_DBPASS}
# ── General ──────────────────────────────────────────────────────────────
PAPERLESS_URL: ${PAPERLESS_URL}
PAPERLESS_SECRET_KEY: ${PAPERLESS_SECRET_KEY}
PAPERLESS_TIME_ZONE: ${PAPERLESS_TIME_ZONE}
PAPERLESS_OCR_LANGUAGE: ${PAPERLESS_OCR_LANGUAGE}
PAPERLESS_ADMIN_USER: ${PAPERLESS_ADMIN_USER}
PAPERLESS_ADMIN_PASSWORD: ${PAPERLESS_ADMIN_PASSWORD} # change on first run
PAPERLESS_ADMIN_MAIL: ${PAPERLESS_ADMIN_MAIL}
extra_hosts:
- "docker-1:10.10.20.11" # optional, helps with DNS hairpin
# ── Paperless-AI ─────────────────────────────────────────────────────────────
paperless-ai:
image: clusterpilot/paperless-ai:latest
container_name: paperless-ai
restart: unless-stopped
depends_on:
- webserver
ports:
- "3000"
volumes:
- /mnt/dokploy-volumes/paperless/paperless-ai-data:/app/data
environment:
PAPERLESS_API_URL: http://webserver:8000/api
PAPERLESS_API_TOKEN: ${PAPERLESS_API_TOKEN} # fill after first Paperless login
# Option A: OpenAI
AI_PROVIDER: ${AI_PROVIDER}
OPENAI_API_KEY: ${OPENAI_API_KEY}
OPENAI_MODEL: ${OPENAI_MODEL}
# Option B: Ollama (local)
# AI_PROVIDER: ollama
# OLLAMA_API_URL: http://ollama:11434
# OLLAMA_MODEL: llama3
PROCESS_PREDEFINED_DOCUMENTS: "yes"
ADD_AI_PROCESSED_TAG: "yes"
AUTO_DETECT_LANGUAGE: "yes"
SCAN_INTERVAL: "*/30 * * * *"