This is my alternative to Sonarr/Radarr. It's much more lightweight in terms of features but also resources consumption. I run it on my OpenWRT router. This is very much work in progress, probably very ugly code, I don't know that my first try at writing Go.
It uses Trakt's watchlist/favorites and also watch history to delete watched medias. It checks periodically for any updates. It will then search your NZB indexer (newsnab) and send this NZB to NZBGet. Once the download is completed, it copies the file to DownloadDir. It will also periodically check for your watch history to clean up watched medias.
For a tv show in the watchlist it will download the first non watched episode. If the tv show is added to the favorites list, it will download the next 3 episodes. For a movie, it doesn't matter if it's in watchlist or favorites.
In both cases, once the media is watched, it will be deleted from disk. Only the watched medias in the last 5 days are deleted.
It selects the biggest REMUX file first and if the download fails, the second biggest, etc.. If there are no REMUX it will pick the WEB-DL version.
It exposes to endpoint API:
- /api/notify for NZBGet to notify of a completed download.
- /refresh to triggers a full refresh manually (i.e pulls watchlist/favorites from Trakt and clean watched medias)
Very simple diagram explaining how it works:
This is how I use it:
- I use an newsnab indexer
- I use NZBGet to download nzb
- I use Infuse (connected to Trakt) to watch my content
- I created a Trakt application to use its API
- I download the media locally and expose the medias through WebDav
You can run the container or compile it locally.
podman run --restart unless-stopped -d --name momenarr \
-v $WHERE_TO_STORE_MEDIAS:/data \
-v $WHERE_TO_STORE_DB_AND_TRAKT_TOKEN:/config \
-e DOWNLOAD_DIR="/data/momenarr" \
-e DATA_DIR="/config" \
-e NEWSNAB_API_KEY="$YOUR_NEWSNAB_API" \
-e NEWSNAB_HOST="$YOUR_NEWSNAB_HOST" \
-e TRAKT_API_KEY="$YOUR_TRAKT_API_KEY" \
-e TRAKT_CLIENT_SECRET="$YOUR_TRAKT_CLIENT_SECRET" \
-e NZBGET_URL="$NZBGET_URL" \
-e NZBGET_USER="$NZGET_USER" \
-e NZBGET_PASS="$NZBGET_PASS" \
ghcr.io/amaumene/momenarr:main
This project is licensed under the GPLv3 License - see the LICENSE file for details.