Nodearr lets a few friends who trust each other get media from one another's libraries, through the Arr apps they already run. It sits beside Sonarr, Radarr, Lidarr and Whisparr as one more indexer and download client. When your Sonarr wants an episode a friend has, it finds it in Nodearr, grabs it, and imports it like any other download. The file comes straight from your friend's machine to yours, and is checked against its hash before your Arr app sees it.
Each person runs Nodearr on their own machine, chooses what to share and can revoke trust at any time. You do not need a Nodearr account, and the project receives no copy of your library. Public relays help nodes connect, but downloaded media travels directly between friends.
[!NOTE]
Nodearr is in pre-release. Everything it set out to do for V1 works, and has been run between machines on different home networks with no port forwarded. It has not yet been lived with for weeks. See what is still open.
Major features include
- Nothing new to learn in your Arr apps. Nodearr adds itself to each one as an indexer and a download client. Their searches, grabs, quality profiles, upgrades and imports work as they always have.
- Friends by invite. One friend creates an invite code, the other pastes it in, and the two nodes trust each other. Revoke a friend at any time.
- Choose what each friend sees. A new friend is offered everything except Hidden from the apps marked Share With New Friends: all but Whisparr by default. Change the apps for one friend, or share only lists of whole series, seasons, episodes, movies, artists or albums.
- Browse what your friends have, with posters from their own Arr apps, and see at a glance what they have that you are missing, or have in a better quality.
- Send a friend something. Pick a title and a friend. Their Nodearr offers to add it to their Arr app, filled in the way the rest of their library is, and ask the app to search. Someone who is not a friend yet is sent an invite with it.
- Straight between you, and checked. Connections are encrypted, and files go directly between the two machines, through most home routers without forwarding a port. Every file is checked against its hash before it is handed over.
- Runs where your Arr apps run: a Windows installer that starts in the tray or as a service, Linux and macOS packages, and a Docker image for amd64 and arm64.
- The familiar Arr interface, because most of Nodearr is built from Sonarr.
What it works with
| App | What Nodearr does with it |
|---|
| Sonarr | Reads its series, episodes and files. Shares whole series, seasons or single episodes. Finds episodes for it by TVDB, TMDb or IMDb ID, by scene numbering, and by air date for daily shows. |
| Radarr | Reads its movies and files. Finds movies for it by TMDb or IMDb ID. |
| Lidarr | Reads its artists, albums and tracks. Shares whole artists or single albums, offers an album only when it is complete, and moves an album as a folder of tracks. |
| Whisparr v3 (Eros) | Reads its films and scenes. Finds films by ID, and scenes by studio, release date, title and code, as Whisparr searches for them. |
| Whisparr v2 | Reads each site's scenes and finds shared scenes by studio, release date, title or code. Friends using v2 and v3 can find each other's scenes. |
| Prowlarr | Adds Nodearr to Prowlarr as an indexer, so you can search it there with your others. Prowlarr holds no library, so nothing is read from it. |
Adult content needs a search in the XXX categories and albums a search in Audio. Nodearr registers Whisparr and Lidarr with those categories; Sonarr's and Radarr's normal searches leave them out. The categories, not the app's identity, control this. Readarr is not supported: it was archived in June 2025.
Getting started
- Install it. Downloads are on the Releases page:
- Windows: an installer, which starts Nodearr in the tray when you sign in or as a service, or a zip.
- Linux and macOS: an archive for each platform. Start it with
./Nodearr.
- Docker:
ghcr.io/nodearr/nodearr. docker/docker-compose.yml puts it beside Sonarr and Radarr, and explains the two things that have to be right: the shared downloads folder and the networking.
- Open
http://localhost:6633. The first page takes you through connecting your Arr apps, naming your node and inviting a friend.
- Invite a friend, and send them the code. Once they have redeemed it, each of you sees the other's library in Catalog, and your Arr apps start finding what your friend has.
The user guide has the rest: installing, connecting your apps, friends and sharing, and troubleshooting.
How it works
- You add your Arr apps to Nodearr. Nodearr adds itself to each one as an indexer and a download client, and reads its library.
- You create an invite and send it to a friend. When they paste it into their Nodearr, the two nodes trust each other.
- Each friend is offered everything except Hidden from the apps you share with them, or only the lists you give them. Or you send one friend one thing, and their Nodearr offers to add it to their app and search for it.
- Each node fetches what its friends share, and shows what they have that you are missing, or have better.
- When an Arr app searches, Nodearr answers from what your friends share. When it grabs a result, Nodearr fetches the file directly from the friend who has it, checks it, and hands it to the Arr app to import.
A public relay run by n0, who make iroh, helps two nodes find each other. It cannot read what passes through it, and files never go through it: if the two machines cannot reach each other directly, the transfer fails and says why. Privacy and security sets out what each party can see, and the overview how the parts fit together.
Support
- Something not working? Start with troubleshooting. It covers the usual ones: a friend who cannot be reached, an Arr app that does not find what a friend has or does not import what arrived, a friend who sees nothing of yours, and being locked out of the web interface.
- Bugs and feature requests go in GitHub Issues. Say which version you run, on what, and with which Arr apps, and attach the log from System > Log Files if there is one.
- Security problems go through SECURITY.md, privately, not in an issue.
Documentation
For people running Nodearr:
- User guide: installing, connecting apps, friends and sharing, troubleshooting, every setting, backups, and privacy and security.
- Changelog: what changed in each release.
For people working on it:
- Contributing: building, testing, and how a change is made.
- Overview: what Nodearr is and how the parts fit together.
- Decision records: why each part works the way it does, and sequence diagrams.
- The V1 plan: what was built, in what order, and what is still open.
- Releases: what a release holds, and how one is made.
- Testing by hand: in Nodearr's pages, on your own or with a friend, and between two machines, also on Windows.
- Research notes, including what Nodearr inherited from Sonarr.
Contributing
Contributions are welcome. CONTRIBUTING.md has what you need to build Nodearr (.NET 10, Node.js 20 with Yarn 4, and Rust for the transport sidecar), run its tests, and what a change includes. A change of design starts as a decision record, so read the ones for the part you want to change first.
Licence and acknowledgements
Nodearr is licensed under GPL-3.0.
It stands on the work of others:
- Sonarr, from which most of Nodearr's backend and web interface is derived, and Prowlarr, from which its Arr Apps settings are adapted. Both are GPL-3.0; see NOTICE.md.
- iroh, by n0, which does the networking between nodes, and the relays n0 runs.
- The other open-source software a release carries, each under its own licence, listed in THIRD-PARTY-NOTICES.md.
Nodearr is not affiliated with or endorsed by the Sonarr, Radarr, Lidarr, Whisparr, Prowlarr or Servarr projects.