| ▲ | Show HN: A 15 MB self-hosted Netflix and Spotify for your media server(github.com) |
| 145 points by CoderLuii 5 hours ago | 83 comments |
| |
|
| ▲ | wes-k 29 minutes ago | parent | next [-] |
| Will check this out after it becomes more stable. I literally, just this last weekend, finally bit the bullet and created my own media server. I had been dragging my feet, not wanting to deal with the complexity of configuring and setting things up. With codex, I had it do the leg work. Even made a snazzy website as homebase and an admin panel with links to every service, easy invite creation, and some basic usage & storage monitoring. Been a blast using codex to configure and design my media server! That said, the many logins do annoy me! My main friction though is around a single client my friends & family can use that brings things closer to the netflix experience. Currently evaluating moonfin, so they can request and watch within the same client. Seerr still seems to be best for requests, but moonfin will get the job done. My list so far: Sonarr, Radarr, Prowlarr, Seerr, Wizarr, Cleanuparr, Jellyfin, Moonfin. Also using codex to setup the same box for home automation and comfyui. Fun times! |
|
| ▲ | 0xAFFFF 5 minutes ago | parent | prev | next [-] |
| People really need to stop thinking that their vibe coded app developed in a day is something the world needs to be made aware of. That's insulting really. |
| |
| ▲ | CoderLuii 3 minutes ago | parent [-] | | It took about 6 months, the repo only went public yesterday. I actually held the release back to run vulnerability testing first. Totally fine if it's not for you. |
|
|
| ▲ | lbrito 42 minutes ago | parent | prev | next [-] |
| >"A normal media server runs six apps: Sonarr, Radarr, Lidarr, Bazarr, Prowlarr and Seerr." Here I was thinking people just used Plex! No idea what any of those are |
| |
|
| ▲ | utopiah 4 hours ago | parent | prev | next [-] |
| FWIW ls -lh /usr/sbin/minidlnad
-rwxr-xr-x 1 root root 323K Feb 21 2025 /usr/sbin/minidlnad
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. |
| |
| ▲ | CoderLuii 12 minutes ago | parent | next [-] | | If you like this project, ping me, maybe we can collaborate. | |
| ▲ | bityard 3 hours ago | parent | prev | next [-] | | 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. | | |
| ▲ | QuantumNomad_ 2 hours ago | parent [-] | | 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 |
| |
| ▲ | bob1029 an hour ago | parent | prev [-] | | 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. |
|
|
| ▲ | tjohnell 3 hours ago | parent | prev | next [-] |
| 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. |
| |
| ▲ | horsawlarway 36 minutes ago | parent | next [-] | | This is my take as well. They're sticky because they stay focused on their specific domain, and they work well. I also really don't understand the value pitch on "6 apps no one can use" in the post. I publicly host Seerr and Jellyfin for my family, and they use that combo just fine. They explicitly don't get access to see any of the sausage making under the hood. Given this doesn't support music yet (according to op) and you still need to host plex or jellyfin... what is the value statement here over seerr? | |
| ▲ | reddalo 2 hours ago | parent | prev | next [-] | | 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. | | |
| ▲ | leoedin 2 hours ago | parent [-] | | > 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. |
| |
| ▲ | psadauskas an hour ago | parent | prev | next [-] | | 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. | | |
| ▲ | a012 42 minutes ago | parent [-] | | I don’t need to eat your cake but can you give me the recipe? TYVM |
| |
| ▲ | joeyagreco 19 minutes ago | parent | prev [-] | | https://xkcd.com/927/ |
|
|
| ▲ | ZenoArrow 4 hours ago | parent | prev | next [-] |
| > AI or MCP features. Not in 1.0. Why would you even want this, what desirable features could you add by adding AI? |
| |
| ▲ | saaaaaam an hour ago | parent | next [-] | | 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. | | |
| ▲ | zeroq an hour ago | parent [-] | | This. Just scroll down the readme, down to the "Version tag" section if you need more proof. |
| |
| ▲ | lurking_swe 22 minutes ago | parent | prev | next [-] | | is this a serious question? It would make it easy for someone to expose an SMS bot to family and friends, for starters. so they can have family request things in a convenient way? For example my mom, who is tech illiterate, could send an SMS like "please add the new spiderman movie to the media library." And it magically shows up on the apple tv. Or we could use it to do a "lazy" search on the library. Jellyfin in the year 2026 is still too stupid to understand that when i search "spiderman", the result "spider-man" should be included in the results. God help us lol. Or maybe you could easily run codex/claude against your media server to help with routine maintenance. Like "hey claude we're a bit low on disk storage. Please find movies/shows that were requested a while ago and are large in size." then if you're happy with the list, ask claude to delete those for you. Idk...i could think of like 20 more uses cases. Use your imagination. :) | |
| ▲ | vinnymac 3 hours ago | parent | prev | next [-] | | 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. | |
| ▲ | glimshe 4 hours ago | parent | prev | next [-] | | 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. | | |
| ▲ | SketchySeaBeast 3 hours ago | parent | next [-] | | Unfortunately. if you have experience with Android and Gemini, the in car voice control has become worse with the introduction of AI. | | |
| ▲ | TaLiTr 10 minutes ago | parent | next [-] | | The recognition is worse, but the integration is awful. Now Gemini needs to connect to the map with a noticeable delay, and if I click something on the map, Gemini often doesn't know and continues to harass me! | |
| ▲ | komali2 an hour ago | parent | prev [-] | | 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. |
| |
| ▲ | hedora 2 hours ago | parent | prev [-] | | 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. |
| |
| ▲ | eddieroger 2 hours ago | parent | prev | next [-] | | "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. | |
| ▲ | patadura an hour ago | parent | prev | next [-] | | To generate/translate subtitles. | |
| ▲ | segmondy 4 hours ago | parent | prev | next [-] | | I want everything AI capable. Just allow me to plug in my own selection of model. | | | |
| ▲ | utopiah 4 hours ago | parent | prev [-] | | 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 |
|
|
| ▲ | FabCH 3 hours ago | parent | prev | next [-] |
| 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... |
| |
|
| ▲ | Oxodao 4 hours ago | parent | prev | next [-] |
| 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... |
| |
| ▲ | Oxodao 3 hours ago | parent [-] | | > 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 |
|
|
| ▲ | NamTaf 3 hours ago | parent | prev | next [-] |
| 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? |
| |
| ▲ | FabCH 4 minutes ago | parent | next [-] | | To be fair, it's an entirely different language and they had an automated test that forced the AI to keep the binary small. | |
| ▲ | semiquaver 3 hours ago | parent | prev | next [-] | | Your assumption that 97% of a binary isn’t usually bloat is not well-founded | | |
| ▲ | nign 41 minutes ago | parent [-] | | Your assumption that a vibecoded project with a single contributor behind it can cut 97% of the size of well established open source projects without breaking something very badly is not well founded. |
| |
| ▲ | cnqso 2 hours ago | parent | prev [-] | | It doesn't actually include Prowlarr for starters |
|
|
| ▲ | stroebs 3 hours ago | parent | prev | next [-] |
| 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? |
|
| ▲ | Myzel394 an hour ago | parent | prev | next [-] |
| Hmm idk, I'm gonna stay with my lidarr + navidrome and radarr sonarr + jellyfin |
|
| ▲ | socalgal2 27 minutes ago | parent | prev | next [-] |
| What does this do that say Kodi or Jellyfin don’t? |
|
| ▲ | vinnymac 3 hours ago | parent | prev | next [-] |
| 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. |
|
| ▲ | pmlnr 2 hours ago | parent | prev | next [-] |
| 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 :(( |
|
| ▲ | pmlnr 3 hours ago | parent | prev | next [-] |
| > Titles, artwork and charts come from the HolyArrs metadata server. Yeah... |
| |
| ▲ | Oxodao 43 minutes ago | parent [-] | | This also happens with Sonarr / Radarr as you can't easily get a IMDb API key, and it works automatically because of this |
|
|
| ▲ | vekntksijdhric 4 hours ago | parent | prev | next [-] |
| A 13 HOUR OLD repo? no thanks |
| |
| ▲ | andrew_eu 9 minutes ago | parent | next [-] | | What stands out to me isn't only that the repo was made less than 20 hours ago, but that they've released from 1.0.0 to 1.0.10 since then. But at the same time the PR numbering is much older, with 1.0.10 coming from #197. It makes me think the repository was private for some time and then made public recently. But still -- 10 releases in a few hours isn't a stability signal. Especially when one of the advertising points is to simplify the update cycle from all the "arr"s. | |
| ▲ | figassis 3 hours ago | parent | prev | next [-] | | 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. | | |
| ▲ | vekntksijdhric 3 hours ago | parent [-] | | 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. | | |
| ▲ | Oxodao 3 hours ago | parent | next [-] | | Also I do not want to rely on an app that can vanish any day. Established app are way less suceptible to that. | |
| ▲ | hatsix an hour ago | parent | prev | next [-] | | 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. | |
| ▲ | xprnio 3 hours ago | parent | prev [-] | | Good thing it’s open source, so the user can verify the code themselves. |
|
| |
| ▲ | hsuduebc2 3 hours ago | parent | prev | next [-] | | tiresome | |
| ▲ | mlnj 3 hours ago | parent | prev [-] | | 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. | | |
| ▲ | vekntksijdhric 3 hours ago | parent [-] | | 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. |
|
|
|
| ▲ | hjahre 3 hours ago | parent | prev | next [-] |
| Pirate 'ere. Why may your arrs be holy? Me arrs are where I put them |
|
| ▲ | thejazzman 42 minutes ago | parent | prev | next [-] |
| Another option with Apple native apps, web apps, and native for all the TVs dropping Very Soon: https://demo.pixelbrite.site https://pixelbrite.site DLNA, proper Airplay and Chromecast support, file matching, ABR, all the HDRs, etc. |
|
| ▲ | henko 3 hours ago | parent | prev | next [-] |
| CLA Lisence... Possible bait and switch? |
| |
| ▲ | FabCH 2 minutes ago | parent [-] | | The repo is AGPLv3. It's incredibly common to have a CLA because without one accepting PRs is a mess legally. The PR authors have to acknowledge that their specific code is also AGPL every time. Easier to just have a CLA. |
|
|
| ▲ | akaitea 2 hours ago | parent | prev | next [-] |
| 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? |
|
| ▲ | comrade1234 3 hours ago | parent | prev | next [-] |
| I started using plex years ago because the ui-experience in Netflix was so bad. I've long-switched to plex 100%. |
|
| ▲ | afzalive an hour ago | parent | prev | next [-] |
| > When a show doesn't land, you check six places to find out why. Umm, no you check Sonarr. |
|
| ▲ | CommanderData 3 hours ago | parent | prev | next [-] |
| 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. |
|
| ▲ | mephux 3 hours ago | parent | prev | next [-] |
| jellyfin? |
|
| ▲ | hsuduebc2 3 hours ago | parent | prev | next [-] |
| Exactly what these services deserve. |
| |
| ▲ | nik282000 26 minutes ago | parent [-] | | Honestly a human can only consume so much TV and music in a day, why these super automated acquisition setups are needed is beyond me. 30min on a Saturday morning manually grabbing magnet links is enough to keep the whole house entertained for a month. |
|
|
| ▲ | CoderLuii 5 hours ago | parent | prev [-] |
| 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 |
| |
| ▲ | corroclaro 2 hours ago | parent | next [-] | | 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. | | | |
| ▲ | xfalcox 3 hours ago | parent | prev | next [-] | | 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. | |
| ▲ | onionisafruit 3 hours ago | parent | prev | next [-] | | > I had 6 apps nobody but me could use That’s how I feel. I’ll give this a try. | |
| ▲ | afzalive an hour ago | parent | prev | next [-] | | How did you review it? | |
| ▲ | nign 35 minutes ago | parent | prev | next [-] | | >the image has no OS and no shell
What are you (Claude) even trying to say here? Also, do you genuinely speak in AI-isms, or have you just had claude generate you this too and uncapitalised the first word of each sentence so it looks human? | |
| ▲ | oxtn an hour ago | parent | prev | next [-] | | > reviewed everything No shot. The initial commit was 551kLOC followed by 100kLOC+ within a day. There's no way you reasonably reviewed _everything_. | |
| ▲ | igmn 3 hours ago | parent | prev | next [-] | | > i built it Claude did | | | |
| ▲ | belst 3 hours ago | parent | prev | next [-] | | you could have at least written the comment yourself. stopped reading after the 2nd sentence. | |
| ▲ | embedding-shape 3 hours ago | parent | prev [-] | | > im in the comments I'm not convinced this is true, could you expand further what you mean here? |
|