version: '3.8' services: paperless: image: ghcr.io/paperless-ngx/paperless-ngx:2.20.10 deploy: resources: limits: cpus: "1.0" memory: 1.5G container_name: paperless restart: unless-stopped labels: - rclone.storage=storagebox-crypt volumes: - /media/storagebox-crypt/paperless/data:/usr/src/paperless/data - /media/storagebox-crypt/paperless/media:/usr/src/paperless/media - /media/storagebox-crypt/paperless/export:/usr/src/paperless/export - /media/storagebox-crypt/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_DBPASS: ${PAPERLESS_DBPASS} PAPERLESS_OCR_OUTPUT_TYPE: ${PAPERLESS_OCR_OUTPUT_TYPE} healthcheck: test: ["CMD", "curl", "-f", "http://localhost:8000"] interval: 30s timeout: 10s retries: 5 networks: - dokploy-network redis: image: redis:8.8.0 deploy: resources: limits: cpus: "0.25" memory: 256M container_name: paperless-redis restart: unless-stopped volumes: - paperlessredis:/user/local/etc/redis 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: paperlessredis: networks: dokploy-network: external: true