services: paperless-ngx-broker: image: docker.io/library/redis:8.2-alpine container_name: paperless-ngx-broker hostname: paperless-ngx-broker restart: always networks: - paperless-ngx volumes: - ./data/redis:/data paperless-ngx-db: image: docker.io/library/postgres:17-alpine container_name: paperless-ngx-db hostname: paperless-ngx-db restart: always networks: - paperless-ngx volumes: - ./pg:/var/lib/postgresql/data paperless-ngx-webserver: image: ghcr.io/paperless-ngx/paperless-ngx:2.18.2 restart: always container_name: paperless-ngx-webserver hostname: paperless-ngx-webserver depends_on: - paperless-ngx-db - paperless-ngx-broker - paperless-ngx-gotenberg - paperless-ngx-tika networks: - paperless-ngx - external_network volumes: - ./data/paperless:/usr/src/paperless/data - ./data/media:/usr/src/paperless/media - ./volume/_consume:/usr/src/paperless/consume:z - ./volume/_export:/usr/src/paperless/export:z ports: - "127.0.0.1:8000:8000" env_file: .env environment: PAPERLESS_REDIS: redis://paperless-ngx-broker:6379 PAPERLESS_TIKA_ENABLED: 1 PAPERLESS_TIKA_GOTENBERG_ENDPOINT: http://paperless-ngx-gotenberg:3000 PAPERLESS_TIKA_ENDPOINT: http://paperless-ngx-tika:9998 paperless-ngx-gotenberg: image: docker.io/gotenberg/gotenberg:8.22 restart: always networks: - paperless-ngx container_name: paperless-ngx-gotenberg hostname: paperless-ngx-gotenberg # The gotenberg chromium route is used to convert .eml files. We do not # want to allow external content like tracking pixels or even javascript. # environment: # CHROMIUM_DISABLE_ROUTES: 1 command: - 'gotenberg' - "--chromium-disable-javascript=true" - "--chromium-allow-list=file:///tmp/.*" # - "--chromium-disable-routes=true" # - "--chromium-restart-after=5" # - "--chromium-auto-start=true" # - "--chromium-ignore-certificate-errors=true" # - "--chromium-disable-web-security=true" # - '--chromium-allow-insecure-localhost=true' # - "--chromium-start-timeout=30s" # - "--uno-listener-start-timeout=180s" # - "--libreoffice-disable-routes=false" # - "--libreoffice-auto-start=true" # - "--libreoffice-restart-after=5" # - '--libreoffice-start-timeout=30s' # - '--api-timeout=3000s' paperless-ngx-tika: image: ghcr.io/paperless-ngx/tika:2.9.1-full container_name: paperless-ngx-tika hostname: paperless-ngx-tika restart: always networks: - paperless-ngx networks: paperless-ngx: name: paperless-ngx internal: true external_network: enable_ipv6: true ipam: config: - subnet: fd63:e614:1cf8:fb00::2:0/112 # volumes: # consume: # driver: local # driver_opts: # type: nfs # o: addr=yamato.tha.vpn,nfsvers=4.1,nolock,soft,rw,async # device: :/volume1/import/_consume