Skip to content
back to blog

How to Organize a Self-Hosted Media Library (2026 Guide)

By MetaTana

A self-hosted library is only as good as its organization. Do it well and Plex, Jellyfin, Emby, or Kodi turn a folder of files into a clean, poster-filled library that just works. Do it badly and you spend evenings fixing wrong matches, missing artwork, and duplicates. This guide walks through the whole thing, from folder structure to long-term upkeep, in a way that works no matter which player you use.

1. Start with a predictable folder structure

Two top-level folders, one title per folder:

Media/
  Movies/
    Movie Title (Year)/
  Shows/
    Show Title (Year)/
      Season 01/

That is the shape every major server understands. Keeping movies and shows separate lets you point each library type at the right root, and one-title-per-folder keeps artwork, subtitles, and NFO sidecars grouped with the media they belong to.

2. Name files so the scanner can't get them wrong

Scanners identify titles from names, not pixels. Include the year, zero-pad episode numbers, and keep separators consistent:

Movies/Interstellar (2014)/Interstellar (2014).mkv
Shows/The Office (2005)/Season 01/The Office (2005) - S01E01 - Pilot.mkv

This is the single highest-leverage step. The full walkthrough — editions, specials, multi-episode files, common mistakes — is in How to bulk rename movie and TV files.

3. Enrich with local metadata sidecars

Beyond names, servers read sidecar files that sit next to your media: NFO metadata, poster and background artwork, and subtitles. Writing these to disk gives you three things a provider-only setup can't:

  • Portability — your metadata moves with your files, not locked in one server's database.
  • Consistency — every player reads the same source of truth.
  • Control — you decide the match, not an opaque scan.

NFO editing has real footguns (malformed XML gets silently ignored), so see How to edit NFO files safely before hand-editing.

4. Pick your player — and know it's swappable

If your metadata lives in clean local sidecars, the player becomes a preference, not a lock-in. Each reads the same files a little differently:

  • Plex — polished clients; reads local artwork and metadata.
  • Jellyfin — open-source; reads NFO and local images natively.
  • Emby — reads NFO and local images.
  • Kodi — the native NFO ecosystem.

Switching later is painless when the metadata is already on disk.

5. Keep it clean over time

Organization is not a one-time event. New files arrive, providers update, mistakes creep in. A healthy library has a repeatable pass: identify new arrivals, dedupe versions, re-check matches, and — critically — a way to undo a bad cleanup. Bulk operations without a rollback journal are how libraries get quietly corrupted.

6. Automate the boring parts

Everything above can be done by hand. At scale, it shouldn't be. A dedicated organizer does the repetitive work and keeps it reversible:

MetaTana is a self-hostable media organizer that runs in Docker or on the desktop. It reads the local truth already beside your files, proposes reviewable renames and metadata writes, moves sidecars with their media, writes NFO and artwork, and journals every change so any pass can be rolled back. It does not modify your media files, and it works with any library and any of the players above. Coming from a desktop tool? See the tinyMediaManager and Media Companion comparisons.

The short version

Predictable folders, correct names, local sidecars, a swappable player, and a repeatable cleanup pass with rollback. Get those five right and your library scans clean on day one and stays that way.