From 6b7dde95980943adf51a84934e2c42fd59b9ddb5 Mon Sep 17 00:00:00 2001 From: Peter Smit Date: Thu, 2 Jan 2025 14:47:35 +0100 Subject: [PATCH] Add paperless --- docker-compose.yml | 1 + paperless/.env.example | 19 +++++++++++++ paperless/docker-compose.yml | 54 ++++++++++++++++++++++++++++++++++++ 3 files changed, 74 insertions(+) create mode 100644 paperless/.env.example create mode 100644 paperless/docker-compose.yml diff --git a/docker-compose.yml b/docker-compose.yml index de21e85..c062aef 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -2,6 +2,7 @@ include: - gitea/docker-compose.yml - immich/docker-compose.yml - jellyfin/docker-compose.yml + - paperless/docker-compose.yml - pihole/docker-compose.yml - pingvin/docker-compose.yml - pocketid/docker-compose.yml diff --git a/paperless/.env.example b/paperless/.env.example new file mode 100644 index 0000000..27a099f --- /dev/null +++ b/paperless/.env.example @@ -0,0 +1,19 @@ +PAPERLESS_REDIS_DATA_DIR= +PAPERLESS_POSTGRES_DATA_DIR= +PAPERLESS_DATA_DIR= +PAPERLESS_MEDIA_DIR= +PAPERLESS_EXPORT_DIR= +PAPERLESS_CONSUME_DIR= + +PAPERLESS_SECRET_KEY= + +PAPERLESS_URL= + +POSTGRES_DB= +POSTGRES_USER= +POSTGRES_PASSWORD= + +#optional +PAPERLESS_TIME_ZONE= +PAPERLESS_OCR_LANGUAGE= +PAPERLESS_OCR_LANGUAGES= \ No newline at end of file diff --git a/paperless/docker-compose.yml b/paperless/docker-compose.yml new file mode 100644 index 0000000..ff80bce --- /dev/null +++ b/paperless/docker-compose.yml @@ -0,0 +1,54 @@ +services: + broker: + image: docker.io/library/redis:7 + restart: unless-stopped + volumes: + - ${PAPERLESS_REDIS_DATA_DIR}:/data + + db: + image: docker.io/library/postgres:16 + restart: unless-stopped + volumes: + - ${PAPERLESS_POSTGRES_DATA_DIR}:/var/lib/postgresql/data + environment: + POSTGRES_DB: ${POSTGRES_DB} + POSTGRES_USER: ${POSTGRES_USER} + POSTGRES_PASSWORD: ${POSTGRES_PASSWORD} + + webserver: + image: ghcr.io/paperless-ngx/paperless-ngx:2.13.5 + restart: unless-stopped + depends_on: + - db + - broker + - gotenberg + - tika + ports: + - "8070:8000" + volumes: + - ${PAPERLESS_DATA_DIR}:/usr/src/paperless/data + - ${PAPERLESS_MEDIA_DIR}:/usr/src/paperless/media + - ${PAPERLESS_EXPORT_DIR}/export:/usr/src/paperless/export + - ${PAPERLESS_CONSUME_DIR}:/usr/src/paperless/consume + env_file: .env + environment: + PAPERLESS_REDIS: redis://broker:6379 + PAPERLESS_DBHOST: db + PAPERLESS_TIKA_ENABLED: 1 + PAPERLESS_TIKA_GOTENBERG_ENDPOINT: http://gotenberg:3000 + PAPERLESS_TIKA_ENDPOINT: http://tika:9998 + + gotenberg: + image: docker.io/gotenberg/gotenberg:8.15.2 + restart: unless-stopped + + # The gotenberg chromium route is used to convert .eml files. We do not + # want to allow external content like tracking pixels or even javascript. + command: + - "gotenberg" + - "--chromium-disable-javascript=true" + - "--chromium-allow-list=file:///tmp/.*" + + tika: + image: docker.io/apache/tika:3.0.0.0 + restart: unless-stopped