They don't all support it well, however. My Blu-ray player, for example, mangles filenames about 10% of my media. And my TV just simply doesn't list all the files in a directory, regardless of size.
I also found browsing directories and files through DNLA slow and annoying.
My solution that I came up with is to make a companion mobile app or mobile web site, where I pick what movie I want to play, and then my server will serve only that one file via DNLA. When I want to watch something else after that I pick up the mobile app / mobile web app again and choose again and then the files for that movie or TV series is served instead
I spent some time building a .NET service that uses UPNP/DLNA to offer media to local devices. I got it working reasonably well, but the problem is that the client interfaces are absolutely garbage.
The better architecture is to push content over HDMI using an endpoint you control. This doesn't have to be the actual media server. We could invent a new system role and control multiple endpoints centrally. I don't want the TV to do anything more intelligent than display the video and audio frames it is receiving.
I've seen multiple "consolidate all the arr" attempts over the years. None prevail. Not saying this one won't, but something tells me it's going to peter out and be abandonware. It's incredible how sticky the OG arr apps have been to be honest. Likely because they are extremely stable and well-integrated.
I'm working on one myself, but I probably won't ever release it to the world. I just want one that's simple enough for my wife to use, so we can cancel netflix etc. I need replicate the experience of browsing what's new or popular on her phone, watching trailers for them, and then a single button to download it and getting notified when it's on plex.
Over the years we didn't have AI. Maybe it will become abandonware; but maybe the development will keep up thanks to AI.
For example, I've been using a Spotify replacement called Spotifast for a month or so. It's way better than the official Spotify app, and it's all vibecoded by one developer, and it gets lots of updates (it's basically a 1-to-1 clone of Spotify, plus additional features). It wouldn't have been possible before AI, or at least not that easily.
> Over the years we didn't have AI. Maybe it will become abandonware; but maybe the development will keep up thanks to AI.
It has always been the case that open source lived and died thanks to developer attention. That hasn't really changed with AI. The amount 1 hour of developer attention can do is drastically greater. But if the developer loses interest (which may well happen after a year or two), the project still dies unless there's other people to steward it.
Hopefully that will be true. But it's really amazing how many established open source projects are basically supported by one person working tirelessly for years or decades on end.
That wasn't written by a human. It was written by an AI. AI does this weird thing where it will say things like this - "AI or MCP features. Not in 1.0" - when the user prompting it hasn't actually requested whatever it is the AI has hallucinated as not being included. I've been using Claude Code to update some internal tooling I use (basically a bunch of python scripts I've painfully hacked together for myself that automate stuff) and it often comes out with things like "Not in this version: XYZ" when I have never even asked it to build XYZ.
I would use it for a regularly scheduled validation job.
Sometimes a bad copy, mismatch, or low-rated media slips through all the filters. Could use an LLM to fix the media and harden the filters to prevent issues going forward. I’ve probably spent weeks of my life toiling and tweaking over the last 15 years.
Not the OP, but I see a lot of complaints on HN about dumb media player "voice control". I myself had cringe experiences with my car when I wanted to play a particular genre or song.
I think the best voice control was whatever was in the iphone 3gs. I distinctly remember being in my car and saying something along the lines of "iphone play deadmau5" and it just worked. I may have had to hold a button to activate voice mode, I don't remember, I just remember always finding Siri and related "modern" voice control software to be worse than whatever I had on that iphone.
Ok, I'm a potential user, but what is your long term plan for following the scene and making sure HolyArrs supports the wild west of the grey area content acquisition?
Things like parsing the file name for format, group, language, repack etc...
What do you mean "for now" if there's one thing i don't want it to replace it's clearly qbittorrent. Trackers have client whitelist and I don't see a brand new vibecoded app being added to any of the serious ones
This interests me, but I’ll let it cook a bit more before I give it a spin. I’ve got enough customization that moving to this without disruption may be a little challenging, or token heavy.
Adding a “Copy prompt for agent” instruction to the top of your docs, would be lower friction to entry, and allow me to review what it is that needs doing. It can be hard to account for every way someone might self host in docs too, which is why I think an agent is going to have a much easier time automating the setup here.
I don’t get this. So today he can build the experience he wants with little effort (he likely spent lots of tokens). You made no judgement in the quality or on his experience, only on the age of the repo. Why exactly is that?
I get there will be a lot of crapware, but you’re hackers no? Why all the gatekeeping even amongst yourselves? How much time did the openclaw guy take to built it? A weekend?
Sure, you could say “no thanks”. But all the labs certainly thought it was useful enough to replicate. And yes, it was, still is an insecure mess littered with bugs, but why are we all so repulsed?
It’s a genuine need. I build my own version of this, also on go, haven’t shared bc I am not sure how legal it is to distribute, but I have been using it for months and definitely beats running 6+ apps that keep breaking. I run one binary + jellyfin, never going back.
The problem is not the vibecoding, it is the release of a public facing internet app that is not a day old, hence it is impossible to know if it has security issues. He is supposedly a security engineer and he RELEASES a repo with less than a day old? how do you know it is secure? Again, this is something that will interact with the open internet.
Gatekeeping would be "do not write vibecoded apps for yourself", which is not the case here, this is releasing code for the public in an irresponsible manner.
I mean, every repo was 13 hours at some point. can't hardly get security updates unless others can see and review it.
I mean, I feel you... there's no way I'm running it when it's this new... I'll let others spend their tokens probing it and check it out in a month... no shade in the dude for releasing it, but anyone who has it running right now inside their network... I hope nothing bad happens.
I believe things will be from now on. People see a gap in the offerings out there and they just whip it up. There will be a certain amount of stability that the LLMs will add by default to all of them and that's it. If you are interested, go ahead and use it.
I create my own vibecoded apps for my own use, that is not the problem. releasing them for others (who might not know this hasn't been tested) is irresponsible.
Am I the only one still just manually downloading what I want into a folder that is shared via Samba with a Kodi box that takes care of cataloguing, browsing and playing?
Subtitles? I really don't want to sign up to Opensubtitles and be hit with their ridiculous daily limit (on what is just text).
I was looking for a project just like yours and couldn't be bothered building one myself.
Edit: Gemini has provided some subtitles options.
Subtitle Search & Database APIs
• TheSubtitleDB.org: A completely free, open REST API for media players and apps. It requires no account, no API key, and has no rate limits, offering exact file hash matching as well as IMDb ID and TV episode lookups.
• Wyzie Subs (wyzie.io): A fast subtitle search API for movies and TV shows. It offers a free tier with 1,000 requests per day, sub-50ms response times, hearing-impaired filter options, and multi-language support.
• Opensubtitles-Unofficial-API: An open-source, community-hosted unofficial API. It lets you search and download subtitles from OpenSubtitle.
hi HN, im luis. 10+ years in software and security, homelabbing for about 5
"netflix and spotify" is how it feels to use, not what it does under the hood. holyarrs doesnt play anything. you browse your shows, movies and music like a streaming app (top 10s, new & popular, coming soon), tap what you want, and it sends it to your downloader and files it into jellyfin or plex. those still do the playing
before this, my server needed 6 apps for that: sonarr for shows, radarr for movies, lidarr for music, bazarr for subtitles, prowlarr for indexers and overseerr for requests. 6 setups, 6 databases, and nobody in my house but me could use any of them
- the image is 15 MB. the 6 apps it replaces are 718 MB together
- one go binary, svelte UI, sqlite. the image has no OS and no shell
- runs on amd64, arm64 and armv7
- works with qbittorrent, sabnzbd, plex, jellyfin, emby
- imports your sonarr/radarr setup, and speaks their api so seerr can keep talking to it
- no api keys to set up. posters and search come from a metadata server i run and pay for
- free, AGPL-3.0
how it got built: claude code wrote most of the go and svelte. i wrote the specs, reviewed everything and tested it on my own server. what it got wrong: it never noticed cost. the app got heavier build after build until i started measuring every single one. thats the only reason its still 15 MB
why you might want to wait: its young, 1.0.7 shipped today and im fixing reports as they come in. music is still being built out, and a few features are held back until theyre fully tested (plex watchlists, trakt lists, subtitle sites)
why i built it: my family wanted netflix and i had 6 apps nobody but me could use
Hi Luis. Cool approach and thanks for sharing - however, I am a bit disturbed by the built-in reliance on your metadata server. Self-hosting/homelabbing would do better to have something the user controls himself/is hosted on something like IPFS.
I'm interested. Does it handle subtitles translation with AI ? This is a must have for me.
First try to obtain subtitles in the locale I need, fallback to using AI to translate the embeded ones, fallback to downloading ones in original language / english and translating.
FWIW
and a lot of TV, video projectors, etc support DLNA out of the box, if they don't add VLC and you are good to go.They don't all support it well, however. My Blu-ray player, for example, mangles filenames about 10% of my media. And my TV just simply doesn't list all the files in a directory, regardless of size.
I also found browsing directories and files through DNLA slow and annoying.
My solution that I came up with is to make a companion mobile app or mobile web site, where I pick what movie I want to play, and then my server will serve only that one file via DNLA. When I want to watch something else after that I pick up the mobile app / mobile web app again and choose again and then the files for that movie or TV series is served instead
I spent some time building a .NET service that uses UPNP/DLNA to offer media to local devices. I got it working reasonably well, but the problem is that the client interfaces are absolutely garbage.
The better architecture is to push content over HDMI using an endpoint you control. This doesn't have to be the actual media server. We could invent a new system role and control multiple endpoints centrally. I don't want the TV to do anything more intelligent than display the video and audio frames it is receiving.
[dead]
I've seen multiple "consolidate all the arr" attempts over the years. None prevail. Not saying this one won't, but something tells me it's going to peter out and be abandonware. It's incredible how sticky the OG arr apps have been to be honest. Likely because they are extremely stable and well-integrated.
I'm working on one myself, but I probably won't ever release it to the world. I just want one that's simple enough for my wife to use, so we can cancel netflix etc. I need replicate the experience of browsing what's new or popular on her phone, watching trailers for them, and then a single button to download it and getting notified when it's on plex.
Over the years we didn't have AI. Maybe it will become abandonware; but maybe the development will keep up thanks to AI.
For example, I've been using a Spotify replacement called Spotifast for a month or so. It's way better than the official Spotify app, and it's all vibecoded by one developer, and it gets lots of updates (it's basically a 1-to-1 clone of Spotify, plus additional features). It wouldn't have been possible before AI, or at least not that easily.
> Over the years we didn't have AI. Maybe it will become abandonware; but maybe the development will keep up thanks to AI.
It has always been the case that open source lived and died thanks to developer attention. That hasn't really changed with AI. The amount 1 hour of developer attention can do is drastically greater. But if the developer loses interest (which may well happen after a year or two), the project still dies unless there's other people to steward it.
Hopefully that will be true. But it's really amazing how many established open source projects are basically supported by one person working tirelessly for years or decades on end.
Hmm idk, I'm gonna stay with my lidarr + navidrome and radarr sonarr + jellyfin
> AI or MCP features. Not in 1.0.
Why would you even want this, what desirable features could you add by adding AI?
That wasn't written by a human. It was written by an AI. AI does this weird thing where it will say things like this - "AI or MCP features. Not in 1.0" - when the user prompting it hasn't actually requested whatever it is the AI has hallucinated as not being included. I've been using Claude Code to update some internal tooling I use (basically a bunch of python scripts I've painfully hacked together for myself that automate stuff) and it often comes out with things like "Not in this version: XYZ" when I have never even asked it to build XYZ.
This.
Just scroll down the readme, down to the "Version tag" section if you need more proof.
To generate/translate subtitles.
I would use it for a regularly scheduled validation job.
Sometimes a bad copy, mismatch, or low-rated media slips through all the filters. Could use an LLM to fix the media and harden the filters to prevent issues going forward. I’ve probably spent weeks of my life toiling and tweaking over the last 15 years.
"What's that movie with the kid who messes with those guys who try to rob his house during Christmas? Do I have that one?"
Natural language searching seems like a good reason.
Not the OP, but I see a lot of complaints on HN about dumb media player "voice control". I myself had cringe experiences with my car when I wanted to play a particular genre or song.
Unfortunately. if you have experience with Android and Gemini, the in car voice control has become worse with the introduction of AI.
I think the best voice control was whatever was in the iphone 3gs. I distinctly remember being in my car and saying something along the lines of "iphone play deadmau5" and it just worked. I may have had to hold a button to activate voice mode, I don't remember, I just remember always finding Siri and related "modern" voice control software to be worse than whatever I had on that iphone.
It worked great on the XBox 360.
So far, that's been the peak of voice control from what I can tell. Xbox one was completely unusable, even if 2026 Siri makes both systems look good.
I want everything AI capable. Just allow me to plug in my own selection of model.
That's MCP, or a CLI
[dead]
Downloading subtitles with STT fallback via whisper then summary so that you don't even have to watch the show anymore, way more efficient. /s
Ok, I'm a potential user, but what is your long term plan for following the scene and making sure HolyArrs supports the wild west of the grey area content acquisition?
Things like parsing the file name for format, group, language, repack etc...
There is no long term plan, as with anything vibe coded
Does it use the same data sources that Seerr, Sonarr, and Radarr use? What is it?
Are you aiming to be more feature complete with the rest of the *arr stack or intentionally a different course?
I'd love something like this, and i'll maybe try it, but last time we had something like this it turned pretty quickly to a shitshow.
Though I like the choice of go. The heavy c# stack other have is quite resource intensive
https://www.reddit.com/r/selfhosted/comments/1rckopd/huntarr...
> Do I keep qBittorrent or SABnzbd? Yes, for now.
What do you mean "for now" if there's one thing i don't want it to replace it's clearly qbittorrent. Trackers have client whitelist and I don't see a brand new vibecoded app being added to any of the serious ones
This interests me, but I’ll let it cook a bit more before I give it a spin. I’ve got enough customization that moving to this without disruption may be a little challenging, or token heavy.
Adding a “Copy prompt for agent” instruction to the top of your docs, would be lower friction to entry, and allow me to review what it is that needs doing. It can be hard to account for every way someone might self host in docs too, which is why I think an agent is going to have a much easier time automating the setup here.
What got removed to make this smaller?
You don't just shed 97% of the size without compromises. What are those compromises and why were they made?
Your assumption that 97% of a binary isn’t usually bloat is not well-founded
It doesn't actually include Prowlarr for starters
I bought an OK tablet* and a 2TB microSD card* so everyone in my family can actually use it.
A vibe coded project like this, no matter how nice, will not help with the rest of the family.
* Samsung sm-t545 because it has a servicable battery. I loath the Samsung software part, but hardware-wise it's not bad.
*at that point it was a flash sale and for £150 not ~£400 like today :((
I started using plex years ago because the ui-experience in Netflix was so bad. I've long-switched to plex 100%.
Pirate 'ere. Why may your arrs be holy? Me arrs are where I put them
> When a show doesn't land, you check six places to find out why.
Umm, no you check Sonarr.
A 13 HOUR OLD repo? no thanks
I don’t get this. So today he can build the experience he wants with little effort (he likely spent lots of tokens). You made no judgement in the quality or on his experience, only on the age of the repo. Why exactly is that?
I get there will be a lot of crapware, but you’re hackers no? Why all the gatekeeping even amongst yourselves? How much time did the openclaw guy take to built it? A weekend?
Sure, you could say “no thanks”. But all the labs certainly thought it was useful enough to replicate. And yes, it was, still is an insecure mess littered with bugs, but why are we all so repulsed?
It’s a genuine need. I build my own version of this, also on go, haven’t shared bc I am not sure how legal it is to distribute, but I have been using it for months and definitely beats running 6+ apps that keep breaking. I run one binary + jellyfin, never going back.
The problem is not the vibecoding, it is the release of a public facing internet app that is not a day old, hence it is impossible to know if it has security issues. He is supposedly a security engineer and he RELEASES a repo with less than a day old? how do you know it is secure? Again, this is something that will interact with the open internet.
Gatekeeping would be "do not write vibecoded apps for yourself", which is not the case here, this is releasing code for the public in an irresponsible manner.
I mean, every repo was 13 hours at some point. can't hardly get security updates unless others can see and review it.
I mean, I feel you... there's no way I'm running it when it's this new... I'll let others spend their tokens probing it and check it out in a month... no shade in the dude for releasing it, but anyone who has it running right now inside their network... I hope nothing bad happens.
Also I do not want to rely on an app that can vanish any day. Established app are way less suceptible to that.
Good thing it’s open source, so the user can verify the code themselves.
tiresome
Perhaps you will wait for the dry-aged repo.
I believe things will be from now on. People see a gap in the offerings out there and they just whip it up. There will be a certain amount of stability that the LLMs will add by default to all of them and that's it. If you are interested, go ahead and use it.
I create my own vibecoded apps for my own use, that is not the problem. releasing them for others (who might not know this hasn't been tested) is irresponsible.
> Titles, artwork and charts come from the HolyArrs metadata server.
Yeah...
Am I the only one still just manually downloading what I want into a folder that is shared via Samba with a Kodi box that takes care of cataloguing, browsing and playing?
CLA Lisence... Possible bait and switch?
jellyfin?
Subtitles? I really don't want to sign up to Opensubtitles and be hit with their ridiculous daily limit (on what is just text).
I was looking for a project just like yours and couldn't be bothered building one myself.
Edit: Gemini has provided some subtitles options.
Subtitle Search & Database APIs
• TheSubtitleDB.org: A completely free, open REST API for media players and apps. It requires no account, no API key, and has no rate limits, offering exact file hash matching as well as IMDb ID and TV episode lookups.
• Wyzie Subs (wyzie.io): A fast subtitle search API for movies and TV shows. It offers a free tier with 1,000 requests per day, sub-50ms response times, hearing-impaired filter options, and multi-language support.
• Opensubtitles-Unofficial-API: An open-source, community-hosted unofficial API. It lets you search and download subtitles from OpenSubtitle.
Exactly what these services deserve.
hi HN, im luis. 10+ years in software and security, homelabbing for about 5
"netflix and spotify" is how it feels to use, not what it does under the hood. holyarrs doesnt play anything. you browse your shows, movies and music like a streaming app (top 10s, new & popular, coming soon), tap what you want, and it sends it to your downloader and files it into jellyfin or plex. those still do the playing
before this, my server needed 6 apps for that: sonarr for shows, radarr for movies, lidarr for music, bazarr for subtitles, prowlarr for indexers and overseerr for requests. 6 setups, 6 databases, and nobody in my house but me could use any of them
- the image is 15 MB. the 6 apps it replaces are 718 MB together - one go binary, svelte UI, sqlite. the image has no OS and no shell - runs on amd64, arm64 and armv7 - works with qbittorrent, sabnzbd, plex, jellyfin, emby - imports your sonarr/radarr setup, and speaks their api so seerr can keep talking to it - no api keys to set up. posters and search come from a metadata server i run and pay for - free, AGPL-3.0
how it got built: claude code wrote most of the go and svelte. i wrote the specs, reviewed everything and tested it on my own server. what it got wrong: it never noticed cost. the app got heavier build after build until i started measuring every single one. thats the only reason its still 15 MB
why you might want to wait: its young, 1.0.7 shipped today and im fixing reports as they come in. music is still being built out, and a few features are held back until theyre fully tested (plex watchlists, trakt lists, subtitle sites)
why i built it: my family wanted netflix and i had 6 apps nobody but me could use
im in the comments, tell me what breaks
Hi Luis. Cool approach and thanks for sharing - however, I am a bit disturbed by the built-in reliance on your metadata server. Self-hosting/homelabbing would do better to have something the user controls himself/is hosted on something like IPFS.
In case you didn't know, the *arr stack use multiple services they host themselves:
- Radarr uses api.radarr.video: https://github.com/Radarr/Radarr/blob/7e3f80c98d01481430ab35...
- Sonarr uses skyhook.sonarr.tv: https://github.com/Sonarr/Sonarr/blob/c018578e4b79ee048575c0...
- Lidarr uses api.lidarr.audio: https://github.com/Lidarr/Lidarr/blob/28ab333eafa138a72319e4...
- Readarr uses api.bookinfo.club: https://github.com/Readarr/Readarr/blob/0b79d3000d4e5f8425f4...
I do agree with what you said however.
How did you review it?
I'm interested. Does it handle subtitles translation with AI ? This is a must have for me.
First try to obtain subtitles in the locale I need, fallback to using AI to translate the embeded ones, fallback to downloading ones in original language / english and translating.
> I had 6 apps nobody but me could use
That’s how I feel. I’ll give this a try.
> reviewed everything
No shot. The initial commit was 551kLOC followed by 100kLOC+ within a day. There's no way you reasonably reviewed _everything_.
> i built it
Claude did
So? Claude does a great job.
[dead]
you could have at least written the comment yourself. stopped reading after the 2nd sentence.
> im in the comments
I'm not convinced this is true, could you expand further what you mean here?
[dead]