diff --git a/.env.example b/.env.example
index 02c1fbb..cfbfea7 100644
--- a/.env.example
+++ b/.env.example
@@ -47,3 +47,10 @@ HOMEPAGE_VAR_WEATHER_UNIT=metric
IMMICH_DB_PASSWORD=postgres
CALIBRE_USERNAME=admin
CALIBRE_PASSWORD=admin123
+DECLUTTARR_TEST_RUN=True
+DECLUTTARR_REMOVE_TIMER=60
+DECLUTTARR_REMOVE_FAILED=True
+DECLUTTARR_REMOVE_FAILED_IMPORTS=True
+DECLUTTARR_REMOVE_METADATA_MISSING=True
+DECLUTTARR_REMOVE_MISSING_FILES=True
+DECLUTTARR_REMOVE_ORPHANS=True
diff --git a/README.md b/README.md
index bf77410..509f276 100644
--- a/README.md
+++ b/README.md
@@ -81,6 +81,7 @@ I am running it in Ubuntu Server 22.04; I also tested this setup on a [Synology
| [Home Assistant](https://www.home-assistant.io) | Optional - Open source home automation that puts local control and privacy first
Enable with `COMPOSE_PROFILES=homeassistant` | [home-assistant/home-assistant:stable](https://ghcr.io/home-assistant/home-assistant) | |
| [Immich](https://immich.app) | Optional - Self-hosted photo and video management solution
Enable with `COMPOSE_PROFILES=immich` | [immich-app/immich-server:release](https://ghcr.io/immich-app/immich-server) | |
| [Calibre-Web](https://github.com/janeczku/calibre-web) | Optional - Web app for browsing, reading and downloading eBooks stored in a Calibre database
Enable with `COMPOSE_PROFILES=calibre-web` | [linuxserver/calibre-web](https://hub.docker.com/r/linuxserver/calibre-web) | /calibre |
+| [Decluttarr](https://github.com/ManiMatter/decluttarr) | Optional - Keeps the download queues free of stalled and redudant downloads.
Enable with `COMPOSE_PROFILES=decluttarr` | [manimatter/decluttarr:latest](https://ghcr.io/manimatter/decluttarr:latest) | |
Optional containers are not enabled by default, they need to be enabled,
see [Optional Services](#optional-services) for more information.
@@ -394,6 +395,12 @@ On the initial setup screen, enter `/books` as your calibre library location.
Unrar is included by default and needs to be set in the Calibre-Web admin page (Basic Configuration:External Binaries)
with a path of `/usr/bin/unrar`.
+### Decluttarr
+Decluttarr keeps the queue free of stalled and redundant downloads. For configuration options and examples,
+please see https://github.com/ManiMatter/decluttarr/blob/dev/README.md.
+
+All environment variables are prefixed with `DECLUTTARR_`.
+
### Tandoor
See [here](./tandoor/README.md).
diff --git a/docker-compose.yml b/docker-compose.yml
index 1f128e0..7c719fc 100644
--- a/docker-compose.yml
+++ b/docker-compose.yml
@@ -469,6 +469,42 @@ services:
- homepage.widget.password=${CALIBRE_PASSWORD}
profiles:
- calibre-web
+ decluttarr:
+ image: ghcr.io/manimatter/decluttarr:latest
+ container_name: decluttarr
+ restart: always
+ environment:
+ - PUID=${USER_ID}
+ - PGID=${GROUP_ID}
+ - TZ=${TIMEZONE}
+ - RADARR_URL=http://radarr:7878/radarr
+ - RADARR_KEY=${RADARR_API_KEY}
+ - SONARR_URL=http://sonarr:8989/sonarr
+ - SONARR_KEY=${SONARR_API_KEY}
+ - LIDARR_URL=http://lidarr:8686/lidarr
+ - LIDARR_KEY=${LIDARR_API_KEY}
+ - QBITTORRENT_URL=http://qbittorrent:8080
+ - QBITTORRENT_USERNAME=${QBITTORRENT_USERNAME}
+ - QBITTORRENT_PASSWORD=${QBITTORRENT_PASSWORD}
+ - LOG_LEVEL=${DECLUTTARR_LOG_LEVEL}
+ - TEST_RUN=${DECLUTTARR_TEST_RUN}
+ - REMOVE_TIMER=${DECLUTTARR_REMOVE_TIMER}
+ - REMOVE_FAILED=${DECLUTTARR_REMOVE_FAILED}
+ - REMOVE_FAILED_IMPORTS=${DECLUTTARR_REMOVE_FAILED_IMPORTS}
+ - REMOVE_METADATA_MISSING=${DECLUTTARR_REMOVE_METADATA_MISSING}
+ - REMOVE_MISSING_FILES=${DECLUTTARR_REMOVE_MISSING_FILES}
+ - REMOVE_ORPHANS=${DECLUTTARR_REMOVE_ORPHANS}
+ - REMOVE_SLOW=${DECLUTTARR_REMOVE_SLOW}
+ - REMOVE_STALLED=${DECLUTTARR_REMOVE_STALLED}
+ - REMOVE_UNMONITORED=${DECLUTTARR_REMOVE_UNMONITORED}
+ - RUN_PERIODIC_RESCANS=${DECLUTTARR_RUN_PERIODIC_RESCANS}
+ - PERMITTED_ATTEMPTS=${DECLUTTARR_PERMITTED_ATTEMPTS}
+ - NO_STALLED_REMOVAL_QBIT_TAG=${DECLUTTARR_REMOVAL_QBIT_TAG}
+ - MIN_DOWNLOAD_SPEED={DECLUTTARR_MIN_DOWNLOAD_SPEED}
+ - FAILED_IMPORT_MESSAGE_PATTERNS=${DECLUTTARR_FAILED_IMPORT_MESSAGE_PATTERNS}
+ - IGNORED_DOWNLOAD_CLIENTS=${DECLUTTARR_IGNORED_DOWNLOAD_CLIENTS}
+ profiles:
+ - decluttarr
homepage:
image: ghcr.io/gethomepage/homepage:latest
container_name: homepage