81 lines
3.4 KiB
YAML
81 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:
|
|
build: .
|
|
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 * * * *"
|