#!/command/with-contenv /usr/bin/bash
# shellcheck shell=bash
-cd ${PAPERLESS_SRC_DIR}
-if [[ -n "${USER_IS_NON_ROOT}" ]]; then
- exec python3 manage.py document_consumer
+if [[ -n "${PAPERLESS_CONSUMER_DISABLE}" ]]; then
+ echo "[svc-consumer] Consumer is disabled, exiting"
+ # https://skarnet.org/software/s6/s6-svc.html
+ s6-svc -Od .
+
else
- exec s6-setuidgid paperless python3 manage.py document_consumer
+ cd ${PAPERLESS_SRC_DIR}
+
+ if [[ -n "${USER_IS_NON_ROOT}" ]]; then
+ exec python3 manage.py document_consumer
+ else
+ exec s6-setuidgid paperless python3 manage.py document_consumer
+ fi
fi
## Document Consumption {#consume_config}
+#### [`PAPERLESS_CONSUMER_DISABLE=<bool>`](#PAPERLESS_CONSUMER_DISABLE) {#PAPERLESS_CONSUMER_DISABLE}
+
+: Completely disable the directory-based consumer in docker. If you don't plan to consume documents
+via the consumption directory, you can disable the consumer to save resources.
+
#### [`PAPERLESS_CONSUMER_DELETE_DUPLICATES=<bool>`](#PAPERLESS_CONSUMER_DELETE_DUPLICATES) {#PAPERLESS_CONSUMER_DELETE_DUPLICATES}
: When the consumer detects a duplicate document, it will not touch
performance immensely:
- Stick with SQLite to save some resources.
+- If you do not need the filesystem-based consumer, consider disabling it
+ entirely by setting [`PAPERLESS_CONSUMER_DISABLE`](configuration.md#PAPERLESS_CONSUMER_DISABLE) to `true`.
- Consider setting [`PAPERLESS_OCR_PAGES`](configuration.md#PAPERLESS_OCR_PAGES) to 1, so that paperless will
only OCR the first page of your documents. In most cases, this page
contains enough information to be able to find it.