Files
HetznerDokployLab/projects/paperless/docker-compose.yml
T

81 lines
2.2 KiB
YAML

services:
paperless:
image: ghcr.io/paperless-ngx/paperless-ngx:3.2.1
deploy:
resources:
limits:
cpus: "1.0"
memory: 1.5G
container_name: paperless
restart: unless-stopped
labels:
- rclone.storage=storagebox-crypt
volumes:
- /opt/media/storagebox/paperless/data:/usr/src/paperless/data
- /opt/media/storagebox/paperless/media:/usr/src/paperless/media
- /opt/media/storagebox/paperless/export:/usr/src/paperless/export
- /opt/media/storagebox/paperless/consume:/usr/src/paperless/consume
environment:
PAPERLESS_REDIS: ${PAPERLESS_REDIS}
PAPERLESS_TIME_ZONE: ${PAPERLESS_TIME_ZONE}
PAPERLESS_ADMIN_USER: ${PAPERLESS_ADMIN_USER}
PAPERLESS_ADMIN_PASSWORD: ${PAPERLESS_ADMIN_PASSWORD}
PAPERLESS_OCR_LANGUAGE: ${PAPERLESS_OCR_LANGUAGE}
PAPERLESS_URL: https://${PAPERLESS_URL}
PAPERLESS_ALLOWED_HOSTS: ${PAPERLESS_ALLOWED_HOSTS}
PAPERLESS_DBHOST: ${PAPERLESS_DBHOST}
PAPERLESS_DBNAME: ${PAPERLESS_DBNAME}
PAPERLESS_DBUSER: ${PAPERLESS_DBUSER}
PAPERLESS_DBPASS: ${PAPERLESS_DBPASS}
PAPERLESS_OCR_OUTPUT_TYPE: ${PAPERLESS_OCR_OUTPUT_TYPE}
PAPERLESS_SECRET_KEY: ${PAPERLESS_SECRET_KEY}
healthcheck:
test:
[
"CMD-SHELL",
"curl -f http://localhost:8000 >/dev/null 2>&1 && timeout 10 ls /usr/src/paperless/consume >/dev/null 2>&1 || exit 1"
]
interval: 30s
timeout: 15s
retries: 5
start_period: 60s
networks:
- dokploy-network
redis:
image: redis:8.10.2
deploy:
resources:
limits:
cpus: "0.25"
memory: 256M
container_name: paperless-redis
restart: unless-stopped
networks:
- dokploy-network
db:
container_name: paperless-db
image: postgres:16
deploy:
resources:
limits:
cpus: "0.75"
memory: 1G
restart: unless-stopped
volumes:
- paperlessdb:/var/lib/postgresql/data
environment:
POSTGRES_DB: ${PAPERLESS_DBNAME}
POSTGRES_USER: ${PAPERLESS_DBUSER}
POSTGRES_PASSWORD: ${PAPERLESS_DBPASS}
networks:
- dokploy-network
volumes:
paperlessdb:
networks:
dokploy-network:
external: true