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: - type: bind source: /opt/media/storagebox/paperless/data target: /usr/src/paperless/data bind: propagation: rslave create_host_path: false - type: bind source: /opt/media/storagebox/paperless/media target: /usr/src/paperless/media bind: propagation: rslave create_host_path: false - type: bind source: /opt/media/storagebox/paperless/export target: /usr/src/paperless/export bind: propagation: rslave create_host_path: false - type: bind source: /opt/media/storagebox/paperless/consume target: /usr/src/paperless/consume bind: propagation: rslave create_host_path: false 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