diff --git a/.devcontainer/docker-compose.devcontainer.sqlite-tika.yml b/.devcontainer/docker-compose.devcontainer.sqlite-tika.yml index e106cea1b..64a53ce50 100644 --- a/.devcontainer/docker-compose.devcontainer.sqlite-tika.yml +++ b/.devcontainer/docker-compose.devcontainer.sqlite-tika.yml @@ -68,7 +68,7 @@ services: - "--chromium-disable-javascript=true" - "--chromium-allow-list=file:///tmp/.*" tika: - image: docker.io/apache/tika:latest + image: docker.io/apache/tika:3.3.1.0 restart: unless-stopped volumes: data: diff --git a/docker/compose/docker-compose.mariadb-tika.yml b/docker/compose/docker-compose.mariadb-tika.yml index 53f691707..7fbd50ac5 100644 --- a/docker/compose/docker-compose.mariadb-tika.yml +++ b/docker/compose/docker-compose.mariadb-tika.yml @@ -81,7 +81,7 @@ services: - "--chromium-disable-javascript=true" - "--chromium-allow-list=file:///tmp/.*" tika: - image: docker.io/apache/tika:latest + image: docker.io/apache/tika:3.3.1.0 restart: unless-stopped volumes: data: diff --git a/docker/compose/docker-compose.postgres-tika.yml b/docker/compose/docker-compose.postgres-tika.yml index 1bf90d5ae..bf3b29f98 100644 --- a/docker/compose/docker-compose.postgres-tika.yml +++ b/docker/compose/docker-compose.postgres-tika.yml @@ -76,7 +76,7 @@ services: - "--chromium-disable-javascript=true" - "--chromium-allow-list=file:///tmp/.*" tika: - image: docker.io/apache/tika:latest + image: docker.io/apache/tika:3.3.1.0 restart: unless-stopped volumes: data: diff --git a/docker/compose/docker-compose.sqlite-tika.yml b/docker/compose/docker-compose.sqlite-tika.yml index 130cdf81a..02dae6c57 100644 --- a/docker/compose/docker-compose.sqlite-tika.yml +++ b/docker/compose/docker-compose.sqlite-tika.yml @@ -65,7 +65,7 @@ services: - "--chromium-disable-javascript=true" - "--chromium-allow-list=file:///tmp/.*" tika: - image: docker.io/apache/tika:latest + image: docker.io/apache/tika:3.3.1.0 restart: unless-stopped volumes: data: diff --git a/docs/advanced_usage.md b/docs/advanced_usage.md index 74e31b454..29c427fb0 100644 --- a/docs/advanced_usage.md +++ b/docs/advanced_usage.md @@ -129,6 +129,10 @@ At a minimum you need to enable AI and choose an LLM backend: and/or [`PAPERLESS_AI_LLM_ENDPOINT`](configuration.md#PAPERLESS_AI_LLM_ENDPOINT). Ollama requires `PAPERLESS_AI_LLM_ENDPOINT` pointing at your Ollama server. +See the community-maintained wiki page on +[choosing AI models](https://github.com/paperless-ngx/paperless-ngx/wiki/AI-Model-Recommendations) +for suggested generation and embedding models. + ### AI-assisted suggestions With AI enabled, Paperless-ngx can suggest a title, tags, correspondent, document type, @@ -808,7 +812,8 @@ Third-party parser plugins extend Paperless-ngx to support additional file formats. A plugin is a Python package that advertises itself under the `paperless_ngx.parsers` entry point group. Refer to the [developer documentation](development.md#making-custom-parsers) for how to -create one. +create one, or see the wiki for a community-maintained list of +[parser plugins](https://github.com/paperless-ngx/paperless-ngx/wiki/Related-Projects#parser-plugins). !!! warning "Third-party plugins are not officially supported" diff --git a/docs/configuration.md b/docs/configuration.md index fe8d9e0c4..ef40ebc4a 100644 --- a/docs/configuration.md +++ b/docs/configuration.md @@ -2088,6 +2088,8 @@ suggestions. This setting is required to be set to true in order to use the AI f models supported by the current embedding backend. If not supplied, defaults to "text-embedding-3-small" for the OpenAI-compatible backend, "sentence-transformers/all-MiniLM-L6-v2" for Huggingface, and "embeddinggemma" for Ollama. +See [choosing AI models](https://github.com/paperless-ngx/paperless-ngx/wiki/AI-Model-Recommendations) +for language and resource considerations. Defaults to None. @@ -2144,6 +2146,8 @@ setting is required to be set to use the AI features. : The model to use for the AI backend, i.e. "gpt-3.5-turbo", "gpt-4" or any of the models supported by the current backend. If not supplied, defaults to "gpt-3.5-turbo" for the OpenAI-compatible backend and "llama3.1" for Ollama. +See [choosing AI models](https://github.com/paperless-ngx/paperless-ngx/wiki/AI-Model-Recommendations) +for local versus remote and model-size considerations. Defaults to None. diff --git a/docs/migration-v3.md b/docs/migration-v3.md index 1cfcd05fe..c10522872 100644 --- a/docs/migration-v3.md +++ b/docs/migration-v3.md @@ -156,7 +156,7 @@ The new settings are independent: ### Database configuration -If you changed OCR settings via the admin UI (ApplicationConfiguration), the database values are **migrated automatically** during the upgrade. `mode` values (`skip` / `skip_noarchive`) are mapped to their new equivalents and `skip_archive_file` values are converted to the new `archive_file_generation` field. After upgrading, review the OCR settings in the admin UI to confirm the migrated values match your intent. +If you changed OCR settings via the admin UI (ApplicationConfiguration), the database values are **migrated automatically** during the upgrade. `mode` values (`skip` / `skip_noarchive`) are mapped to their new equivalents and explicit `skip_archive_file` values are converted to the new `archive_file_generation` field. Users who relied on the old defaults must set `archive_file_generation` to `always` to preserve the v2 behaviour of always creating an archive. After upgrading, review the OCR settings in the admin UI to confirm the migrated values match your intent. ### Action Required @@ -165,8 +165,9 @@ Remove any `PAPERLESS_OCR_SKIP_ARCHIVE_FILE` variable from your environment. If ```bash # v2: skip OCR when text present, always archive PAPERLESS_OCR_MODE=skip -# v3: equivalent (auto is the new default) -# No change needed - auto is the default +# v3: equivalent +PAPERLESS_OCR_MODE=auto +PAPERLESS_ARCHIVE_FILE_GENERATION=always # v2: skip OCR when text present, skip archive too PAPERLESS_OCR_MODE=skip_noarchive