services: paperless: image: ghcr.io/paperless-ngx/paperless-ngx:3.2.1 container_name: paperless restart: unless-stopped env_file: - .env depends_on: valkey: condition: service_healthy deploy: resources: limits: cpus: "2.0" memory: 2G reservations: cpus: "0.10" memory: 512M volumes: - paperless-data:/usr/src/paperless/data - paperless-media:/usr/src/paperless/media - paperless-export:/usr/src/paperless/export - paperless-consume:/usr/src/paperless/consume networks: - default - proxy - database labels: - "traefik.enable=true" - "traefik.docker.network=proxy" - "traefik.http.services.paperless-compose.loadbalancer.server.port=8000" - "traefik.http.routers.paperless-compose.rule=Host(`papers.forust.xyz`)" - "traefik.http.routers.paperless-compose.entrypoints=websecure" - "traefik.http.routers.paperless-compose.tls.certresolver=letsencrypt" - "traefik.http.routers.paperless-compose-local.rule=Host(`papers.workstation.internal`)" - "traefik.http.routers.paperless-compose-local.entrypoints=websecure" - "traefik.http.routers.paperless-compose-local.tls=true" valkey: image: valkey/valkey:9.0.3-alpine container_name: paperless-valkey restart: unless-stopped command: - valkey-server - --save - "" - --appendonly - "no" healthcheck: test: ["CMD", "valkey-cli", "ping"] interval: 10s timeout: 5s retries: 5 deploy: resources: limits: cpus: "0.25" memory: 256M reservations: cpus: "0.025" memory: 64M networks: - default volumes: paperless-data: paperless-media: paperless-export: paperless-consume: networks: default: proxy: external: true database: name: homelab-database external: true