OpenSourcePicks

Open source alternatives to popular software, with live GitHub data

GitHub stats refreshed every day

Open source media servers for video, music and audiobooks

Self-hosted servers that index the movies, shows, music and audiobooks you already own and stream them to your browser, phone, TV or receiver. None of them supplies content; they replace the server and the apps, not a catalog.

12 apps, sorted by GitHub stars as of 21 October 2026. Guide updated .

  1. Jellyfin

    Self-hosted server for movies, TV, music, books and live TV, with no paid tier

    58.3k starsGPL-2.0Last commit Self-hosted

  2. Navidrome

    Lightweight music server with a web player and Subsonic API support

    24.3k starsGPL-3.0Last commit Self-hosted

  3. Koel

    Web-based personal music streaming server with a polished player, built on Laravel and Vue

    17.3k starsMITLast commit Self-hosted

  4. Audiobookshelf

    Self-hosted audiobook and podcast server with progress sync across devices

    14.7k starsGPL-3.0Last commit Self-hosted

  5. Black Candy

    Self-hosted music streaming server in a single Docker image, with its own iOS and Android apps

    4.4k starsMITLast commit Self-hosted

  6. Ampache

    Long-running PHP music and video streaming server that speaks almost every client protocol

    3.8k starsAGPL-3.0-or-laterLast commit Self-hosted

  7. Polaris

    Fast Rust music server built for very large collections, with no premium version

    2.7k starsMITLast commit Self-hosted

  8. Universal Media Server

    DLNA, UPnP and web media server that transcodes for TVs, consoles and browsers

    2.7k starsGPL-2.0Last commit Self-hosted

  9. gonic

    Small Subsonic-compatible music server in Go that browses by folder or by tags

    2.6k starsGPL-3.0Last commit Self-hosted

  10. Kyoo

    Low-maintenance video server for movies, series and anime that needs no folder structure

    2.5k starsGPL-3.0Last commit Self-hosted

  11. Swing Music

    Self-hosted music player and streaming server with a streaming-app style interface

    2.1k starsAGPL-3.0Last commit Self-hosted

  12. Gerbera

    Lightweight UPnP media server in C++ for TVs, receivers and other home network players

    1.4k starsGPL-2.0Last commit Self-hosted

Compare at a glance

AppLicenseSelf-hosting needsHosted version
AmpacheAGPL-3.0-or-laterMySQL or MariaDB, Web server with URL rewriting, FFmpeg (for transcoding)No
AudiobookshelfGPL-3.0FFmpeg, SQLiteNo
Black CandyMITDockerNo
GerberaGPL-2.0libupnp or libnpupnp, SQLite (or MySQL/MariaDB, PostgreSQL)No
gonicGPL-3.0FFmpeg (optional, for transcoding), mpv (optional, for jukebox)No
JellyfinGPL-2.0FFmpeg (jellyfin-ffmpeg)No
KoelMITMySQL, MariaDB, PostgreSQL or SQLite, FFmpegNo
KyooGPL-3.0Docker Compose, PostgreSQLNo
NavidromeGPL-3.0FFmpegNo
PolarisMITNothing beyond the appNo
Swing MusicAGPL-3.0Nothing beyond the appNo
Universal Media ServerGPL-2.0Java 17 (bundled except on ARM), MediaInfo, VLC, MPlayer and MEncoder (Linux)No

License exceptions, such as proprietary directories or paid plugins, are explained on each app page.

Find an alternative to

  • Plex2 open source alternatives
  • Spotify7 open source alternatives

Choosing media servers software

Four kinds of media server

The tools in this category share one job, serving files you own to other devices, but they approach it in different ways.

  • All-in-one video servers scan movies and series, fetch artwork and descriptions online, transcode on the fly and ship apps for TVs, phones and consoles. Jellyfin is the established choice and also covers music, books, photos and live TV. Kyoo is a newer, video-only server that needs no particular folder structure.
  • Music servers are much lighter. Most implement the Subsonic API or its OpenSubsonic extensions, which means many third-party mobile and desktop apps work with them: Navidrome, gonic, Ampache and Koel all do. Black Candy, Polaris and Swing Music rely on their own web player and apps instead.
  • Audiobook and podcast servers add what music servers lack: per-user listening progress synced between devices, chapters and podcast downloads. Audiobookshelf is the main one.
  • UPnP/DLNA servers publish media on the home network so that TVs, receivers and consoles can browse it from their own menus, with no app to install. Universal Media Server focuses on transcoding and device profiles; Gerbera is a small C++ server that runs even on routers. Neither is meant for streaming over the internet.

What to check before you choose

  1. Media types. Most video servers treat audiobooks as plain music. Jellyfin handles the widest range; some people run Jellyfin for video next to Navidrome or Audiobookshelf.
  2. Clients for your devices. Check that there is an app for each TV platform, console and phone you use. For music, Subsonic/OpenSubsonic support matters more than the server’s own player, because it opens up the whole client ecosystem. Navidrome (experimental) and Ampache 8 (opt-in) also offer a Jellyfin-compatible API.
  3. Transcoding load. Video transcoding is the heaviest task in this category. Jellyfin’s documentation strongly recommends a GPU or integrated GPU with hardware acceleration and describes most single-board computers as too slow. Music servers run comfortably on a Raspberry Pi.
  4. Remote access. Open source servers do not route your traffic through a vendor relay. To listen or watch away from home you expose the server yourself through a reverse proxy with HTTPS, a VPN or port forwarding. Swing Music’s premium plan is the exception, offering subdomains for reaching your own server.
  5. How your library is organized. Navidrome relies on tags and has no true folder browsing; gonic and Ampache can follow folders; Kyoo needs no structure; Audiobookshelf expects one folder per book.
  6. Footprint. A single Go or Rust binary with SQLite (Navidrome, gonic, Polaris) is a much smaller commitment than a PHP application with MySQL (Ampache) or a set of Docker services with PostgreSQL (Kyoo).
  7. License and paid editions. Most tools here are GPL, AGPL or MIT with nothing held back. Two are open core: Koel’s paid Plus edition adds private per-user libraries, folder browsing, cloud storage and single sign-on, and Swing Music keeps features such as transcoding and daily mixes in a private premium module.

Moving from Plex or Spotify

No app here documents an importer for Plex watch history or ratings. Because Plex libraries are built from your own files, pointing a new server at the same folders rebuilds the library, with metadata fetched again from online sources, but watched status and ratings do not come across. Leaving Spotify is a different kind of move: a self-hosted server only plays music you own, so the work is building or digitizing a collection, not migrating an account.

Protocols and standards

OpenSubsonic is a community-maintained, openly developed set of optional extensions to the Subsonic API that stay backward compatible, so servers and clients that use them still work with those that do not; its extensions add features such as song lyrics. UPnP and DLNA are local-network standards for discovery and playback; Jellyfin moved its DLNA support into an official plugin in version 10.9, while Gerbera and Universal Media Server are built around it.

Projects not listed

Emby is not included because it became closed source with version 4; Jellyfin started in December 2018 as a fork of Emby 3.5.2. Funkwhale, a federated music server, is developed on its own GitLab instance rather than GitHub, which the site cannot track yet. Airsonic-Advanced has had no commits on its main branch since April 2024. Music Assistant controls playback on speakers from Home Assistant, and Lyrion Music Server serves Squeezebox-type network players; neither is a server that streams a library to client apps. We found no notable source-available media server under licenses such as BSL or SSPL; the main proprietary products in the field, Plex and Emby, are closed source.