From 592e618e9c57b3326c495fcac6a585fd99f37d10 Mon Sep 17 00:00:00 2001 From: John Allison Date: Sat, 25 Oct 2025 13:07:22 -0400 Subject: [PATCH] New Service: Paperless-NGX --- stacks/apps/paperless/stack.yml | 64 +++++++++++++++++++++++++++++++++ 1 file changed, 64 insertions(+) create mode 100644 stacks/apps/paperless/stack.yml diff --git a/stacks/apps/paperless/stack.yml b/stacks/apps/paperless/stack.yml new file mode 100644 index 0000000..f8a71ff --- /dev/null +++ b/stacks/apps/paperless/stack.yml @@ -0,0 +1,64 @@ +services: + paperless_redis: + image: redis:alpine + networks: + - homelab + deploy: + replicas: 1 + placement: + constraints: + - node.hostname == p0 + + paperless_webserver: + image: ghcr.io/paperless-ngx/paperless-ngx:latest + ports: + - 8000:8000 + volumes: + - /mnt/swarm-data/paperless/data:/usr/src/paperless/data + - /mnt/swarm-data/paperless/media:/usr/src/paperless/media + - /mnt/swarm-data/paperless/export:/usr/src/paperless/export + - /mnt/gmail-exports/documents:/usr/src/paperless/consume + secrets: + - postgres-master + - paperless-secret-key + - paperless-admin-pass + environment: + - PAPERLESS_REDIS=redis://paperless_redis:6379 + - PAPERLESS_DBHOST=postgres + - PAPERLESS_DBNAME=paperless + - PAPERLESS_DBUSER=admin + - PAPERLESS_DBPASS_FILE=/run/secrets/postgres-master + - PAPERLESS_SECRET_KEY_FILE=/run/secrets/paperless-secret-key + - PAPERLESS_TIME_ZONE=America/New_York + - PAPERLESS_OCR_LANGUAGE=eng + - PAPERLESS_URLS=https://docs.frostlabs.home + - PAPERLESS_ALLOWED_HOSTS=docs.frostlabs.home + - PAPERLESS_CONSUMER_POLLING=5 + - PAPERLESS_CONSUMER_DELETE_DUPLICATES=true + - PAPERLESS_CONSUMER_RECURSIVE=true + - PAPERLESS_CONSUMER_SUBDIRS_AS_TAGS=false + - PAPERLESS_CONSUMER_IGNORE_PATTERNS=[".DS_Store","._*",".stfolder",".stversions","Thumbs.db"] + - PAPERLESS_ENABLE_CLASSIFIER=true + - PAPERLESS_ADMIN_USER=admin + - PAPERLESS_ADMIN_PASSWORD_FILE=/run/secrets/paperless-admin-pass + - PAPERLESS_ADMIN_MAIL=john.allisonwin@outlook.com + networks: + - homelab + deploy: + replicas: 1 + placement: + constraints: + - node.hostname == p0 + depends_on: + - postgres + - paperless_redis +networks: + homelab: + external: true +secrets: + paperless-admin-pass: + external: true + paperless-secret-key: + external: true + postgres-master: + external: true