🏠 Self-hosted

Jellyfin in three minutes

Docker and docker-compose — four commands and your media library is live.

4 min read
Jellyfin w trzy minuty

I own films on discs. Several hundred of them, accumulated over twenty years, sitting in a cupboard because no device in the house has had an optical drive since about 2015. They were paid for, they are legally mine, and they were completely unwatchable — which is a strange place for owned property to end up.

The fix took an evening and the software part of it took about three minutes. That ratio is worth explaining, because the three minutes is the bit everyone writes articles about and the evening is the bit that actually matters.

What Jellyfin does

It is a media server. You point it at folders containing video and music, it identifies what it finds, downloads the covers and descriptions, and presents the result as an interface on your television, phone, tablet or browser — the same shape of thing as a streaming service, except the catalogue is whatever you already have and nothing disappears from it because a licence expired.

That last clause is the whole appeal for me. I have had films vanish from services I was paying for, mid-series, with no notice. It is nobody's fault and it is entirely legitimate under the terms everyone agreed to, and it also made me realise that I had confused paying for access with having something.

The three minutes

Modern self-hosted software is distributed as containers — a packaged application with everything it needs, which runs the same way on any machine regardless of what else is installed. You describe what you want in a short text file: which application, which folders it may see, which port it answers on. Then one command starts it.

That is genuinely all of it, and it is genuinely about three minutes including reading the documentation. The same approach installs every other service in this series — the file server, the photo library, the home automation. Learn the pattern once and the rest stops being a series of separate projects.

There is a second, quieter benefit that took me longer to appreciate. That text file is the whole configuration. It goes in with my backups, and if the machine dies, the same file on new hardware reproduces the same setup exactly. Nothing to remember, nothing to reconstruct at three in the morning. Anything I set up that cannot be described that way now gets a second look.

The evening

The rest of the time went where it always goes: the files. Getting several hundred discs into a form a server can read is not hard, but it is long, and the part that determines whether the result is pleasant or maddening is naming.

Media servers identify content by filename. Get the convention right — title, year, one file per thing, a sensible folder structure — and everything appears correctly with covers and descriptions, as if by magic. Get it wrong and you spend an hour correcting entries by hand, which is exactly the sort of work I refuse to do twice. I renamed the lot with one command, which is the single most useful thing I have ever done with a terminal.

The other thing nobody warns you about is disk space. Video is large. A collection that felt modest as a shelf of discs becomes a number that changes which drive you need to buy. Work that out before you start, not after the third evening of copying.

Where it strains

One technical limit is worth knowing in advance because it decides what hardware you need. If the device watching cannot play a file in its original format, the server has to convert it on the fly. That conversion is the single heaviest thing these machines ever do, and an older low-power computer will struggle with it — particularly with high-resolution video, particularly with more than one person watching at once.

The practical way round it is to avoid the conversion rather than to buy a bigger machine: store files in a format your television plays natively, and the server simply sends the file. Processors from the last decade also include dedicated video hardware that handles this far more efficiently than the main processor — worth checking for, and one of the few specifications that genuinely matters for this job.

And the honest limit, which has nothing to do with technology: this does not replace a streaming subscription, because a subscription is not selling you a player, it is selling you a catalogue. Jellyfin gives you a first-class way to watch what you already own. If what you want is this month's new releases, you still need somebody who licensed them. I run both, for different things, and anybody telling you one replaces the other has not thought about where the content comes from.

What I got out of the cupboard exercise was narrower than the enthusiasts promise and more satisfying than I expected. Several hundred films I had already paid for became watchable again on every screen in the house, permanently, without a monthly line on any statement. The discs are still in the cupboard. They are just no longer the only copy.

Prefer not to build it yourself?

We ship NAS servers and Dells with this whole stack preinstalled — Nextcloud, Immich, Jellyfin, Stirling PDF, n8n and Home Assistant, configured before shipping. You plug in power and network. The AI and the automation you can click through online right now.