From 5ed02928ecd9c5dcc4260e396aab90ed7e502eca Mon Sep 17 00:00:00 2001 From: Fizzlepoof Date: Wed, 13 May 2026 17:06:47 +0000 Subject: [PATCH] feat(paperless): add Tika and Gotenberg sidecars Enable Paperless Office/OpenDocument ingestion by wiring internal Tika and Gotenberg services into the documents stack. Adds PAPERLESS_TIKA_* environment keys to .env.example and places both sidecars on an internal-only network with resource limits. --- documents/.env.example | 3 +++ documents/docker-compose.yaml | 25 +++++++++++++++++++++++++ 2 files changed, 28 insertions(+) diff --git a/documents/.env.example b/documents/.env.example index e7c4812..43edd2d 100644 --- a/documents/.env.example +++ b/documents/.env.example @@ -2,6 +2,9 @@ PAPERLESS_DBUSER=paperless PAPERLESS_DBPASS=changeme PAPERLESS_SECRET_KEY=generate_with_openssl_rand_hex_32 PAPERLESS_REDIS=redis://:URL_ENCODED_REDIS_PASSWORD@shared-redis:6379 +PAPERLESS_TIKA_ENABLED=1 +PAPERLESS_TIKA_ENDPOINT=http://tika:9998 +PAPERLESS_TIKA_GOTENBERG_ENDPOINT=http://gotenberg:3000 # ----------------------------- # Karakeep diff --git a/documents/docker-compose.yaml b/documents/docker-compose.yaml index ab6f389..439defc 100644 --- a/documents/docker-compose.yaml +++ b/documents/docker-compose.yaml @@ -24,6 +24,12 @@ services: PAPERLESS_TIME_ZONE: America/Chicago PAPERLESS_OCR_LANGUAGE: eng PAPERLESS_URL: https://paperless.paccoco.com + PAPERLESS_TIKA_ENABLED: ${PAPERLESS_TIKA_ENABLED} + PAPERLESS_TIKA_ENDPOINT: ${PAPERLESS_TIKA_ENDPOINT} + PAPERLESS_TIKA_GOTENBERG_ENDPOINT: ${PAPERLESS_TIKA_GOTENBERG_ENDPOINT} + depends_on: + - tika + - gotenberg healthcheck: test: ["CMD-SHELL", "curl -sf http://127.0.0.1:8000/ || exit 1"] interval: 30s @@ -31,9 +37,26 @@ services: retries: 3 start_period: 60s networks: + - paperless-internal - ix-databases_shared-databases - pangolin + tika: + image: apache/tika:latest + container_name: paperless-tika + restart: unless-stopped + mem_limit: 512m + networks: + - paperless-internal + + gotenberg: + image: gotenberg/gotenberg:latest + container_name: paperless-gotenberg + restart: unless-stopped + mem_limit: 256m + networks: + - paperless-internal + karakeep: image: ghcr.io/karakeep-app/karakeep:${KARAKEEP_VERSION:-release} container_name: karakeep @@ -95,6 +118,8 @@ services: - karakeep networks: + paperless-internal: + name: documents_paperless_internal ix-databases_shared-databases: external: true pangolin: