The deal streaming offered was simple enough to fit on a billboard: one monthly fee, a library bigger than any video store that ever existed, watch it anywhere on anything. That deal is over, and it did not end with an announcement, it ended one notification at a time, the title you meant to watch leaving the service at the end of the month, the show split across three subscriptions because exclusivity is the entire business model now, the plan you signed up for repriced twice in a year, the 4K tier moved behind a more expensive plan, the film you bought outright vanishing from your purchases because a license expired in an office you will never see. None of that is a malfunction and none of it is fixable from inside, because the product was never the video, the product was the license, and licenses are designed to expire.

The reason to run your own media library was never really about saving money, since a shelf of discs and a box to serve them costs real cash up front, and it was never about piracy either, because the people who take this seriously tend to be the ones still buying discs in 2026 precisely so the copy on the NAS is a copy they are allowed to have. The reason is continuity, the simple property that a file on your own hardware plays today, plays in ten years, plays on any device you own, and does not check with anyone’s licensing department before it starts, which is a property no subscription has ever offered and none ever will.

The server side is a solved problem

The half of this stack that used to scare people off is the server, and that fear is about fifteen years out of date, because the modern self-hosted media server is a single container, not a weekend of compiling. We run Stash for the library, and the shape of it is about as undemanding as self-hosted software gets: one Docker container on whatever box is already on in the house, a web UI for the management work, a scanner that walks the directories you point it at, and a metadata layer that turns a pile of files into an organized collection with tags, artwork, and search that actually works, all of it living in a database on your disk where no one else’s roadmap can touch it.

The part that matters for everything downstream is the API, because Stash exposes the whole library over GraphQL, which means any client you point at it asks for exactly the fields a screen needs and gets structured answers instead of scraping HTML or reverse engineering someone else’s private endpoints. That single design decision is what turned “self-hosted media” from a one-interface hobby into a platform you can build your own clients against, and it is the reason the second half of this stack exists at all.

The couch is where Sinema comes in

A library you can only browse at a desk is a library that does not get watched from the sofa, and the sofa is where watching happens, so the client that matters most is the one on the television. We wrote the full Sinema story in July, but the short version: Sinema is a native Android TV client for Stash, written in Kotlin on Media3 ExoPlayer, that talks to your server over that same GraphQL API, navigates with the directional pad the way every other TV app does, locks behind a PIN because the living room is a shared space, puts banner art on the launcher so the library sits next to the services it replaces, and sends no telemetry anywhere, which matters more for viewing history than for almost any other data a household produces.

Playback is the piece a WebView wrapper can never get right, and it is the reason Sinema is native rather than a shell around the web UI: hardware decoding through the platform’s codec pipeline, bitstream passthrough so the AV receiver decodes the surround formats it was built for, proper subtitle handling, and MediaSession integration so the remote and the on-screen controls never disagree about what is playing. A television is the most demanding playback device and the least forgiving navigation target in the house at the same time, and a native client is simply what it costs to respect both of those facts at once.

Why 2026 is when this became recommendable

The ingredients have existed for years, and what changed is that every one of them got cheap and boring at the same time. The server hardware is a used mini PC or the NAS you already own, the client hardware is a mid-range Android TV box rather than the cheapest stick on the shelf, because the bargain models skimp on codec licenses and choke on high-bitrate remuxes, the ten-foot interface rules ship as ready-made components in the AndroidX TV libraries instead of tribal knowledge, the format gamble that used to haunt local playback is mostly a memory now that the hardware decoders ExoPlayer sits on handle the formats a real library contains, and the server software installs with one container and a volume mount instead of a dependency fight, so the whole stack assembles in an evening and then just sits there working, which is the threshold a technology has to cross before you can tell a friend to set it up without volunteering to be their permanent support desk.

There is a cultural shift underneath the hardware one, because a decade of delistings and repricings taught a lot of people what the words “your library” actually meant on a streaming service, and the answer, nothing, permanently rented, was finally said out loud often enough that owning the files stopped sounding eccentric. We ripped CDs in 2003 and those MP3s still play on every device we own, while entire download stores from that era shut down and took their DRM servers with them, and the video situation in 2026 is that same lesson arriving on schedule, just with bigger files and a better excuse.

What you give up

The honest tradeoff deserves a paragraph, because this is not free in the ways streaming is free. You are the curator now, which means acquiring, ripping, naming, and organizing the media is your job and the library only grows when you feed it; there is no recommendation algorithm discovering things for you, no new-release carousel, no passive drip of content you did not choose; and the maintenance, the container updates, the disk that eventually fills, the backup you really should have, is yours to do, because nobody is going to push a fix to your house at 2 a.m.

What you get back is the thing that made the trade worth making in the first place: the library is exactly what you put in it, it works when the internet does not, it never shows you an ad, it never loses a title to a licensing dispute, and it never asks what region you are standing in before it plays a file you own. The subscription services are still there for the things you want to watch once and forget, and that is a fine division of labor, rent the ephemeral, own the permanent; the only mistake is paying rent on the permanent and calling it yours.