From 0abcc6dcf49fb0dbb7c927639dbc856a49476cad Mon Sep 17 00:00:00 2001 From: Thomas Kendrick Date: Tue, 30 Dec 2025 16:33:48 +0000 Subject: [PATCH] feat: add paperless --- documents/paperless/docker-compose.yml | 66 ++++++++++++++++++++++++++ 1 file changed, 66 insertions(+) create mode 100644 documents/paperless/docker-compose.yml diff --git a/documents/paperless/docker-compose.yml b/documents/paperless/docker-compose.yml new file mode 100644 index 0000000..b8c6e3a --- /dev/null +++ b/documents/paperless/docker-compose.yml @@ -0,0 +1,66 @@ +version: "3.8" + +services: + broker: + image: docker.io/library/redis:7 + container_name: paperless_redis + restart: unless-stopped + volumes: + - ${CONFIG_ROOT}/paperless/redis:/data + + db: + image: docker.io/library/postgres:16 + container_name: paperless_db + restart: unless-stopped + volumes: + - ${CONFIG_ROOT}/paperless/pgdata:/var/lib/postgresql/data + environment: + POSTGRES_DB: paperless + POSTGRES_USER: paperless + POSTGRES_PASSWORD: ${PAPERLESS_DB_PASS:-paperless} + + webserver: + image: ghcr.io/paperless-ngx/paperless-ngx:latest + container_name: paperless + restart: unless-stopped + depends_on: + - db + - broker + environment: + PAPERLESS_REDIS: redis://broker:6379 + PAPERLESS_DBHOST: db + PAPERLESS_DBPORT: 5432 + PAPERLESS_DBNAME: paperless + PAPERLESS_DBUSER: paperless + PAPERLESS_DBPASS: ${PAPERLESS_DB_PASS:-paperless} + PAPERLESS_SECRET_KEY: ${PAPERLESS_SECRET_KEY} + PAPERLESS_URL: https://paperless.${DOMAIN} + PAPERLESS_TIME_ZONE: ${TZ:-Etc/UTC} + USERMAP_UID: ${PUID:-1000} + USERMAP_GID: ${PGID:-1000} + volumes: + - ${CONFIG_ROOT}/paperless/data:/usr/src/paperless/data + - ${CONFIG_ROOT}/paperless/media:/usr/src/paperless/media + - ${CONFIG_ROOT}/paperless/export:/usr/src/paperless/export + - ${CONFIG_ROOT}/paperless/consume:/usr/src/paperless/consume + labels: + # Traefik + traefik.enable: "true" + traefik.http.routers.paperless.rule: "Host(`paperless.${DOMAIN}`)" + traefik.http.routers.paperless.entrypoints: "https" + traefik.http.routers.paperless.service: "paperless" + traefik.http.routers.paperless.tls.certresolver: "cloudflare" + traefik.http.services.paperless.loadbalancer.server.port: "8000" + # Homepage + homepage.group: "Documents" + homepage.name: "Paperless-ngx" + homepage.icon: "paperless-ngx.svg" + homepage.href: "https://paperless.${DOMAIN}" + homepage.description: "Document Management" + networks: + - traefik_public + - default + +networks: + traefik_public: + external: true