]> git.ipfire.org Git - thirdparty/paperless-ngx.git/commitdiff
Add arm64 compatible docker-compose for sqlite-tika - resubmission of #27 (#479)
authorJan-Hendrik Ewers <jh.ewers@gmail.com>
Thu, 24 Mar 2022 23:32:16 +0000 (23:32 +0000)
committerGitHub <noreply@github.com>
Thu, 24 Mar 2022 23:32:16 +0000 (06:32 +0700)
* Create arm variant for sqlite-tika as apache/tika does not support arm64 arch right now

https://github.com/jonaswinkler/paperless-ng/discussions/1256

* Update documentation to explain why there is a seemingly duplicated docker-compose file

* Add caveat about arm arch

* Update docs to encourage use of the new docker-compose

* Remove whitespace

https://github.com/jonaswinkler/paperless-ng/pull/1354/checks?check_run_id=3756807426

* Update docker container to use official ngx

Co-authored-by: Quinn Casey <quinn@quinncasey.com>
* doesn -> does not

* Update docker/compose/docker-compose.postgres-tika.yml

Co-authored-by: Jan-Hendrik Ewers <jh.ewers@gmail.com>
* Update docker/compose/docker-compose.sqlite-tika.arm.yml

Co-authored-by: Jan-Hendrik Ewers <jh.ewers@gmail.com>
* Update docker/compose/docker-compose.sqlite-tika.yml

Co-authored-by: Jan-Hendrik Ewers <jh.ewers@gmail.com>
* Update docker/compose/docker-compose.sqlite-tika.arm.yml

* Update docker-compose.sqlite-tika.arm.yml

* Update docker/compose/docker-compose.sqlite-tika.arm.yml

Co-authored-by: Jan-Hendrik Ewers <jh.ewers@gmail.com>
* Add redisdata to volumes

Co-authored-by: Quinn Casey <quinn@quinncasey.com>
docker/compose/docker-compose.postgres-tika.yml
docker/compose/docker-compose.sqlite-tika.arm.yml [new file with mode: 0644]
docker/compose/docker-compose.sqlite-tika.yml
docs/setup.rst

index 3b7ce8c2ef9774196e701c95447b3e10f80361d1..c6a72e9032b6d7d7cc40e1f51e6f93ab1e50e0d6 100644 (file)
@@ -1,6 +1,7 @@
-# docker-compose file for running paperless from the Docker Hub.
+# docker-compose file for running paperless from the docker container registry.
 # This file contains everything paperless needs to run.
-# Paperless supports amd64, arm and arm64 hardware.
+# Paperless supports amd64, arm and arm64 hardware. The apache/tika image
+# does not support arm or arm64, however.
 #
 # All compose files of paperless configure paperless in the following way:
 #
diff --git a/docker/compose/docker-compose.sqlite-tika.arm.yml b/docker/compose/docker-compose.sqlite-tika.arm.yml
new file mode 100644 (file)
index 0000000..d6ac848
--- /dev/null
@@ -0,0 +1,84 @@
+# docker-compose file for running paperless from the docker container registry.
+# This file contains everything paperless needs to run.
+# Paperless supports amd64, arm and arm64 hardware.
+#
+# All compose files of paperless configure paperless in the following way:
+#
+# - Paperless is (re)started on system boot, if it was running before shutdown.
+# - Docker volumes for storing data are managed by Docker.
+# - Folders for importing and exporting files are created in the same directory
+#   as this file and mounted to the correct folders inside the container.
+# - Paperless listens on port 8000.
+#
+# SQLite is used as the database. The SQLite file is stored in the data volume.
+#
+# iwishiwasaneagle/apache-tika-arm docker image is used to enable arm64 arch
+# which apache/tika does not currently support.
+#
+# In addition to that, this docker-compose file adds the following optional
+# configurations:
+#
+# - Apache Tika and Gotenberg servers are started with paperless and paperless
+#   is configured to use these services. These provide support for consuming
+#   Office documents (Word, Excel, Power Point and their LibreOffice counter-
+#   parts.
+#
+# To install and update paperless with this file, do the following:
+#
+# - Copy this file as 'docker-compose.yml' and the files 'docker-compose.env'
+#   and '.env' into a folder.
+# - Run 'docker-compose pull'.
+# - Run 'docker-compose run --rm webserver createsuperuser' to create a user.
+# - Run 'docker-compose up -d'.
+#
+# For more extensive installation and update instructions, refer to the
+# documentation.
+
+version: "3.4"
+services:
+  broker:
+    image: redis:6.0
+    restart: unless-stopped
+    volumes:
+      - redisdata:/data
+
+  webserver:
+    image: ghcr.io/paperless-ngx/paperless-ngx:latest
+    restart: unless-stopped
+    depends_on:
+      - broker
+      - gotenberg
+      - tika
+    ports:
+      - 8000:8000
+    healthcheck:
+      test: ["CMD", "curl", "-f", "http://localhost:8000"]
+      interval: 30s
+      timeout: 10s
+      retries: 5
+    volumes:
+      - data:/usr/src/paperless/data
+      - media:/usr/src/paperless/media
+      - ./export:/usr/src/paperless/export
+      - ./consume:/usr/src/paperless/consume
+    env_file: docker-compose.env
+    environment:
+      PAPERLESS_REDIS: redis://broker:6379
+      PAPERLESS_TIKA_ENABLED: 1
+      PAPERLESS_TIKA_GOTENBERG_ENDPOINT: http://gotenberg:3000
+      PAPERLESS_TIKA_ENDPOINT: http://tika:9998
+
+  gotenberg:
+    image: thecodingmachine/gotenberg
+    restart: unless-stopped
+    environment:
+      DISABLE_GOOGLE_CHROME: 1
+
+  tika:
+    image: iwishiwasaneagle/apache-tika-arm@sha256:a78c25ffe57ecb1a194b2859d42a61af46e9e845191512b8f1a4bf90578ffdfd
+    restart: unless-stopped
+
+volumes:
+  data:
+  media:
+  redisdata:
index 437e201a7b6096397c4cebba054f8e9eb93ed0de..d9327533ea1fc5a9feb2505fc40d59a3716403ed 100644 (file)
@@ -1,6 +1,7 @@
-# docker-compose file for running paperless from the Docker Hub.
+# docker-compose file for running paperless from the docker container registry.
 # This file contains everything paperless needs to run.
-# Paperless supports amd64, arm and arm64 hardware.
+# Paperless supports amd64, arm and arm64 hardware. The apache/tika image
+# does not support arm or arm64, however.
 #
 # All compose files of paperless configure paperless in the following way:
 #
index 8d1852494bd07e40be87a0ec67390f8f7cfd80b3..72d18c78573b5ac3c1cb564bc4e5944127035eb6 100644 (file)
@@ -724,6 +724,8 @@ configuring some options in paperless can help improve performance immensely:
     times. Thumbnails will be about 20% larger.
 *   If using docker, consider setting ``PAPERLESS_WEBSERVER_WORKERS`` to
     1. This will save some memory.
+*   Use the arm compatible docker-compose if you're wanting to use Tika on something like
+               a raspberry pi. The official apache/tika image does not support the arm architecture.
 
 For details, refer to :ref:`configuration`.