paperless-ngx-dedupe

paperless-ngx-dedupe

Docker app from Skylinar's Repository

Overview

Duplicate finder for Paperless-ngx. Syncs your documents via the Paperless API, finds exact and near-duplicates (MinHash/LSH with Jaccard + fuzzy scoring and a discriminative penalty against template look-alikes such as monthly invoices) and lets you review each group side by side before anything is removed. Deleted documents go to the Paperless trash.

SECURITY: the app has NO built-in authentication. Anyone who can reach the port can review and delete documents with the permissions of the configured Paperless user. Do not expose it to the internet - put it behind a reverse proxy with access control or keep it LAN-only.

Before Installing:

  1. Create an API token in Paperless-ngx (user menu - My Profile - API Auth Token). The user needs delete permissions on the documents you want to clean up.
  2. Set Paperless URL to the address the container can reach, e.g. http://192.168.1.10:8000 (no trailing path).
  3. If you access the UI through a reverse proxy (HTTPS domain), set Origin to that exact URL (e.g. https://dedupe.example.com), otherwise saving and actions fail with a CSRF / cross-site POST error. Leave it empty for direct access via http://YOUR-Unraid-IP:3000.
  4. After the first start open the Web UI, run a sync and then the analysis. Thresholds can be tuned under Settings.

Unraid Templates


Apache-Tika-Server

Home-Hub

Apache Tika is a project of the Apache Software Foundation that detects and extracts metadata and text from over a thousand different file types.

Application Name: apache-tika-server

Application Site: https://tika.apache.org/

Registry: https://hub.docker.com/r/apache/tika

Github: https://github.com/apache/tika

^back to top^


Bgutil-Provider

Bgutil-Provider

BgUtils POT Provider is a proof-of-origin (POT) token provider HTTP server for yt-dlp. It generates tokens that help yt-dlp downloads from YouTube appear more legitimate, which may help avoid "Sign in to confirm you're not a bot" errors and HTTP 403 responses. Commonly used together with Tube Archivist, which has a built-in integration.

Additional Requirements

Never expose this service to the internet. The token server is unauthenticated by design — it must stay on the local network only. Do not publish the port beyond your LAN and do not create a reverse proxy entry for it.

First installation

  1. Set the "PO Token Provider URL" in your yt-dlp frontend to http://YOUR-UNRAID-IP:4416 (in Tube Archivist: Settings → Application).
  2. Match versions: pin the container to the same version as the provider plugin that yt-dlp (or Tube Archivist) ships with. Tube Archivist currently pins plugin 1.3.2 — the template default follows that.

Application Name: Bgutil-Provider

Application Site: https://github.com/Brainicism/bgutil-ytdlp-pot-provider

Registry: https://hub.docker.com/r/brainicism/bgutil-ytdlp-pot-provider

Github: https://github.com/Brainicism/bgutil-ytdlp-pot-provider

^back to top^


Home-Hub

Home-Hub

Ever wanted a simple, private spot on your home network for your family's daily stuff? That's HomeHub. It's a lightweight, self-hosted web app that turns any computer (even a Raspberry Pi!) into a central hub for shared notes, shopping lists, chores, a media downloader, and even a family expense tracker.

It's designed to be easy to use for everyone in the family, with a clean interface that works great on any device.

Application Name: Home-Hub

Application Site: https://github.com/surajverma/homehub

Registry: https://github.com/surajverma/homehub/pkgs/container/homehub

Github: https://github.com/surajverma/homehub

First installation

Before first startup:

  1. create the appdata folder:
mkdir /mnt/user/appdata/homehub
  1. grab the example configuration yml:
curl https://raw.githubusercontent.com/surajverma/homehub/main/config-example.yml -o /mnt/user/appdata/homehub/config.yml
  1. adjust the config as needed

^back to top^


Nginx-Proxy-Manager-MCP

Nginx-Proxy-Manager-MCP

MCP server for Nginx Proxy Manager - manage your reverse proxy through AI assistants.

This container exposes an MCP (Model Context Protocol) endpoint that AI assistants can use to manage your Nginx Proxy Manager instance: list proxy hosts, create/update/delete hosts, manage SSL certificates, check system health and more.

It has no web interface - connect to it from an MCP client (e.g. Claude Desktop, Cursor, or any MCP-compatible agent) using the HTTP transport:

http://YOUR-UNRAID-IP:8000/mcp

Application Name: Nginx-Proxy-Manager-MCP

Application Site: https://github.com/b3nw/nginx-proxy-manager-mcp

Registry: https://github.com/b3nw/nginx-proxy-manager-mcp/pkgs/container/nginx-proxy-manager-mcp

Github: https://github.com/b3nw/nginx-proxy-manager-mcp

First installation

Before first startup:

  1. Make sure you have Nginx Proxy Manager running and note its API URL (http://NPM-IP:81/api)
  2. Create an NPM user or use an existing admin account (email + password)
  3. Optional: enable the destructive tools (create/update/delete) by setting NPM_MCP_ENABLE_DESTRUCTIVE_TOOLS=true
  4. Optional: secure the endpoint with a bearer token — generate one with openssl rand -hex 32 and set it as NPM_MCP_AUTH_TOKEN

For log access (get_proxy_host_logs tool), mount your NPM data directory read-only and set NPM_LOG_DIR accordingly - see the project documentation for details.

^back to top^


PostgreSQL18

PostgreSQL 18

PostgreSQL 18 is a powerful, open source object-relational database system with over 35 years of active development that has earned it a strong reputation for reliability, feature robustness, and performance.

Application Name: postgresql18

Application Site: https://www.postgresql.org/

Registry: https://registry.hub.docker.com/_/postgres/

Github: https://github.com/docker-library/postgres

^back to top^


paperless-ngx-dedupe

paperless-ngx-dedupe

Duplicate finder for Paperless-ngx. Syncs your documents via the Paperless API, finds exact and near-duplicates (MinHash/LSH with Jaccard + fuzzy scoring and a discriminative penalty against template look-alikes such as monthly invoices) and lets you review each group side by side before anything is removed. Deleted documents go to the Paperless trash.

Security: the app has no built-in authentication. Anyone who can reach the port can review and delete documents with the permissions of the configured Paperless user. Keep it LAN-only or put it behind a reverse proxy with access control.

Application Name: paperless-ngx-dedupe

Application Site: https://github.com/rknightion/paperless-ngx-dedupe

Registry: https://github.com/rknightion/paperless-ngx-dedupe/pkgs/container/paperless-ngx-dedupe

Github: https://github.com/rknightion/paperless-ngx-dedupe

First installation

Before first startup:

  1. Create an API token in Paperless-ngx (My Profile → API Auth Token). The user needs delete permissions on the documents you want to clean up.
  2. Set Paperless URL to the address the container can reach, e.g. http://192.168.1.10:8000.
  3. Using a reverse proxy (HTTPS domain)? Set Origin to that exact URL, e.g. https://dedupe.example.com - otherwise actions fail with a CSRF / cross-site POST error. Leave it empty for direct access via http://YOUR-UNRAID-IP:3000.
  4. Start the container, open the Web UI, run a sync and then the analysis. Similarity thresholds can be tuned under Settings.

Optional (advanced view): username/password instead of a token, OpenAI-based AI processing (AI_ENABLED + AI_OPENAI_API_KEY), Prometheus metrics at /api/v1/metrics.

Icon: project favicon from the upstream repository (GPL-3.0).

^back to top^


Pi-Dash

Pi-Dash

Pi-Dash is a simple, lightweight dashboard for monitoring multiple Pi-hole instances. It provides a clean, at-a-glance, responsive view of your Pi-hole statistics.

Application Name: Pi-Dash

Application Site: https://github.com/surajverma/pi-dash

Registry: https://github.com/surajverma/pi-dash/pkgs/container/pi-dash

Github: https://github.com/surajverma/pi-dash

First installation

Before first startup:

  1. create the appdata folder:
mkdir /mnt/user/appdata/pi-dash
  1. grab the example configuration json:
curl https://raw.githubusercontent.com/surajverma/pi-dash/refs/heads/main/config-example.json -o /mnt/user/appdata/pi-dash/config.json
  1. adjust the config as needed

^back to top^


Sure-Web

Sure-Web

Sure is a community-driven fork of the former Maybe Finance application, continuing its mission to help users manage personal finances by tracking expenses, budgeting, and supporting wealth management. Note: "Maybe" is a trademark of Maybe Finance, Inc..

This is the 1 of 2 containers required to run Sure finance; please review the additional requirements.

Application Name: Sure-Web

Application Site: https://github.com/we-promise/sure

Registry: https://github.com/we-promise/sure/pkgs/container/sure

Github: https://github.com/we-promise/sure

Additional Requirements

This is container 1 of 2 needed to run Sure finance, runs alongside Sure-Worker. Requires a Postgres database and Redis.

Check the Sure documentation for more information: https://github.com/we-promise/sure/blob/main/docs/hosting/docker.md

First installation

To ensure correct user permissions for the app-storage folder, run chown -R 1000:1000 /mnt/user/appdata/sure/app-storage after the initial startup.

^back to top^


Sure-Worker

Sure-Worker

Sure is a community-driven fork of the former Maybe Finance application, continuing its mission to help users manage personal finances by tracking expenses, budgeting, and supporting wealth management. Note: "Maybe" is a trademark of Maybe Finance, Inc..

This is the 2 of 2 container required to run Sure finance; please review the additional requirements.

Application Name: Sure-Worker

Application Site: https://github.com/we-promise/sure

Registry: https://github.com/we-promise/sure/pkgs/container/sure

Github: https://github.com/we-promise/sure

^back to top^


Twitch-Channel-Points-Miner-v2

Coming soon...

^back to top^


Requirements

A running Paperless-ngx instance and an API token (or username/password) of a Paperless user.

Related apps

Details

Repository
ghcr.io/rknightion/paperless-ngx-dedupe:latest
Last Updated2026-11-14
First Seen2026-11-14

Runtime arguments

Web UI
http://[IP]:[PORT:3000]/
Network
bridge
Shell
sh
Privileged
false
Extra Params
--restart unless-stopped

Template configuration

WebUIPorttcp

Web UI and API port

Target
3000
Default
3000
Value
3000
App DataPathrw

SQLite database of the app (sync cache, duplicate groups, settings)

Target
/app/data
Default
/mnt/user/appdata/paperless-ngx-dedupe/data
Value
/mnt/user/appdata/paperless-ngx-dedupe/data
Paperless URLVariable

Base URL of your Paperless-ngx instance as seen from the container, e.g. http://192.168.1.10:8000

Target
PAPERLESS_URL
Default
http://PAPERLESS-IP:8000
Value
http://PAPERLESS-IP:8000
Paperless API TokenVariable

API token of a Paperless user (Paperless: My Profile - API Auth Token). Preferred over username/password. The user needs delete permissions on the documents you want to clean up.

Target
PAPERLESS_API_TOKEN
OriginVariable

Public URL when accessed through a reverse proxy, e.g. https://dedupe.example.com (SvelteKit CSRF check). Leave empty for direct access via IP:port.

Target
ORIGIN
Paperless UsernameVariable

Alternative to the API token: Paperless username (requires Paperless Password). Ignored when an API token is set.

Target
PAPERLESS_USERNAME
Paperless PasswordVariable

Alternative to the API token: Paperless password (requires Paperless Username).

Target
PAPERLESS_PASSWORD
Log LevelVariable

Log verbosity

Target
LOG_LEVEL
Default
info|debug|warn|error
Value
info
AI EnabledVariable

Optional AI-based document classification / metadata extraction via OpenAI. Requires an OpenAI API key. Documents are sent to OpenAI when enabled.

Target
AI_ENABLED
Default
false|true
Value
false
OpenAI API KeyVariable

Required only when AI Enabled is true.

Target
AI_OPENAI_API_KEY
CORS Allow OriginVariable

Empty = same-origin only (recommended), * = all origins, or a specific origin URL

Target
CORS_ALLOW_ORIGIN
Prometheus MetricsVariable

Expose app metrics in Prometheus format at /api/v1/metrics

Target
OTEL_PROMETHEUS_ENABLED
Default
false|true
Value
false
PUIDVariable

User ID the app runs as (Unraid default: 99 = nobody)

Default
99
Value
99
PGIDVariable

Group ID the app runs as (Unraid default: 100 = users)

Default
100
Value
100