unsubbed.co

Ampache

Released under AGPL-3.0, Ampache provides web based audio/video streaming application on self-hosted infrastructure.

Self-hosted music streaming, honestly reviewed. Your collection, your server, no subscription bill.

TL;DR

  • What it is: Open-source (AGPL-3.0) web-based audio and video streaming server — your personal Spotify, running on your hardware, with a client ecosystem built around the Subsonic API [README][1].
  • Who it’s for: Music hoarders with organized local libraries who want to access their collection from anywhere without paying Spotify $10.99/mo forever. Also useful for anyone invested in the Subsonic client ecosystem (DSub, Ultrasonic, Symfonium, etc.) [README][1].
  • Cost savings: Spotify at $10.99/mo is $131.88/year, indefinitely, for access to music you don’t own. Ampache self-hosted runs on a $5–10/mo VPS. If you already own your music collection, you’re looking at zero marginal cost beyond the server [1].
  • Key strength: The oldest and most protocol-compatible self-hosted music server in active development — Subsonic API, DAAP/iTunes, UPnP/DLNA, WebDAV, and its own native API all coexist in one installation. Client compatibility is exceptional [README][website docs].
  • Key weakness: The web interface is functional but dated, setup is meaningfully more complex than competitors like Navidrome, and the project’s primary developer has announced reduced contributions for approximately 6 months due to a family health situation [README][1].

What is Ampache

Ampache is a self-hosted web application that turns a folder of music files into a streaming server. You point it at your library, it reads the metadata, and you get a web interface plus a stack of protocol endpoints that let any compatible app connect to it. The GitHub description is blunt about scope: “A web based audio/video streaming application and file manager allowing you to access your music & videos from anywhere, using almost any internet enabled device” [README].

What the description undersells is the protocol breadth. Most self-hosted music servers pick one streaming protocol and stop there. Ampache ships with its own native API, a Subsonic API implementation (meaning it works with hundreds of existing Subsonic clients), UPnP/DLNA for local network devices, DAAP for iTunes, Localplay support for controlling external players like mpd, and WebDAV for file management [website docs][README]. If a client can stream music over a network, there is probably a way to point it at Ampache.

The project has been running since 2001 — 24 years of continuous development under the same name. It sits at 3,779 GitHub stars, which underrepresents its install base given the project’s age and the fact that many installations date from before GitHub star counts were a status signal [merged profile]. The license is AGPL-3.0, which means the source code must remain open and any modifications you deploy publicly must also be shared [README].

One thing the official documentation is explicit about, and worth stating plainly: Ampache is not a media organizer. It assumes your music collection is already structured the way you want it. If your library is a chaotic dump of files with inconsistent tags, Ampache will faithfully present that chaos back to you through a web browser. Fix your tags first [website docs].


Why people choose it

The reviews available for Ampache are thinner than for tools with active marketing teams, but the pattern across [1][2][3] is consistent enough to summarize.

The Subsonic client ecosystem is the main draw. The Subsonic API has been around long enough that it has accreted a substantial ecosystem of polished mobile apps — DSub, Ultrasonic, Symfonium, Substreamer, and more. These apps are often better than anything Ampache’s web interface offers. By implementing the Subsonic API, Ampache becomes the backend for whatever client you already prefer [README][website docs][1]. For users who spent years on Subsonic or a Subsonic-compatible server, migrating to Ampache means zero client change.

Protocol flexibility for non-standard setups. Reviewers on appmus.com [1] note that Ampache’s compatibility breadth — iTunes/DAAP, UPnP/DLNA, direct HTTP streaming to VLC and WinAMP, multiple auth methods including LDAP and OpenID — makes it the rare self-hosted tool that fits into enterprise-adjacent or legacy environments without adapter gymnastics. If your household has a smart TV, a Synology NAS, and someone who still uses iTunes, Ampache is one of the few servers that covers all three without plugins.

Free where Plex and Subsonic charge. The website docs make this comparison directly: Plex charges for mobile sync, DLNA, lyrics, and multiple users. Subsonic gates podcast support and personal server URLs behind a paid subscription. Ampache ships all of those features by default, for free [website docs]. For someone who tried Plex’s free tier, hit the paywall, and went looking for alternatives, Ampache is often the destination.

Flexible catalog sources. Most music servers only read from local disk. Ampache can additionally index a remote Subsonic library, a Beets catalog, another Ampache instance, or SoundCloud [website docs]. For users with distributed setups — music on a NAS at home, a remote VPS, and a cloud backup — this multi-catalog support is genuinely useful.


Features

Core media management:

  • Music and video streaming over HTTP/HTTPS [README]
  • Web-based library browser with album, artist, and playlist views [website]
  • Metadata-driven browsing — quality depends heavily on your tags [website docs]
  • Smart playlists, random play, and search [website]
  • On-the-fly transcoding: if your player can’t handle FLAC, Ampache converts to MP3 or another format in real time [website docs]
  • Video streaming in addition to audio — covers movies, home videos [1]

Streaming protocols:

  • Native Ampache API (documented at ampache.org/api) [README]
  • Subsonic API — works with all Subsonic-compatible clients [website docs][README]
  • UPnP/DLNA — experimental, for local network devices [website docs]
  • DAAP — for iTunes and compatible players [website docs]
  • Direct HTTP playlist streaming to VLC, WinAMP, Foobar2000, Windows Media Player [website docs]
  • WebDAV for file management [1]

Authentication and multi-user:

  • Multiple auth backends: MySQL, LDAP, HTTP, PAM, OpenID, external [README]
  • Multi-user support with per-user settings [website docs]
  • Metadata write-back to files or database-only mode [website docs]

Localplay:

  • Control external players (mpd, VLC) through the Ampache interface [website docs]
  • Acts as a remote control for a player running on another machine [website docs]

Client ecosystem:

  • Docker images available at hub.docker.com [README]
  • Mobile apps via Subsonic API (dozens of compatible third-party clients) [website docs]
  • Plugin system for additional functionality [merged profile]

Version and PHP requirements note: As of Ampache 7.x, Node.js v15+ and npm v7+ are required for installation alongside PHP 8.2–8.5. This is a steeper setup requirement than earlier versions [README]. If you’re running an older PHP stack, check the compatibility matrix carefully before upgrading.


Pricing: SaaS vs self-hosted math

Ampache is free software. There is no paid tier, no cloud version, no enterprise license [README][1]. What you pay is server costs.

Streaming services for comparison:

  • Spotify Individual: $10.99/mo ($131.88/yr)
  • Apple Music: $10.99/mo ($131.88/yr)
  • Amazon Music Unlimited: $10.99/mo ($8.99/mo with Prime)
  • Tidal HiFi: $10.99/mo ($131.88/yr)

Self-hosted with Ampache:

  • Ampache software: $0
  • Minimum VPS (Hetzner CX11, 2GB RAM): ~$4–6/mo
  • Domain: ~$10–15/yr (optional — LAN-only works too)
  • Total: ~$60–85/year

Plex for comparison:

  • Plex free: limited features, 1 concurrent stream to remote users
  • Plex Pass: $4.99/mo or $119.99 lifetime — unlocks mobile sync, live TV, multi-user, lyrics

The honest math: If you already own your music collection as files and you’re paying Spotify $131/year to stream music you’ll never own, the server cost pays for itself in under a year. If you don’t have a local music collection to stream, Ampache doesn’t solve that problem — you’d need to build the library first, which is a separate question about where music comes from legally.

The calculation is less clear-cut if you compare against Plex: Plex’s lifetime pass at $119.99 covers video, live TV, and integrations Ampache doesn’t have. For music-only use, Ampache wins on cost. For a household that wants video too, the comparison shifts.

Data on a managed Ampache hosting service is not available — there is no official cloud offering.


Deployment reality check

This is where Ampache earns its “requires technical knowledge” warnings from reviewers [1][2][3].

What you need:

  • A web server: Apache (most tested), nginx, lighttpd, or IIS [README]
  • PHP 8.2–8.5 for Ampache 7.x, with specific modules: PDO, PDO_MYSQL, hash, session, intl, simplexml, curl, zip [README]
  • Node.js v15+ and npm v7+ (new requirement in Ampache 7.0) [README]
  • MySQL 5.x/8.x or MariaDB 10.x [README]
  • Docker images are available and the simpler path for most users [README]

What can go sideways:

The Node.js/npm requirement added in version 7.0 catches users upgrading from older installs. The README has a troubleshooting doc titled “Ampache 7 for Admins” specifically to address the upgrade friction [README].

The web interface is rated as “functional but lacking modern polish” by reviewers [1][2][3]. This is accurate. Ampache’s UI works, but if you’re coming from a Plex or Spotify experience, the visual gap is noticeable. The good news: most power users run Ampache as a backend and use a Subsonic client app for the actual interface, sidestepping the web UI almost entirely.

The project’s primary developer posted a “REDUCED CONTRIBUTIONS” notice in the README acknowledging that family health issues will limit their availability for approximately 6 months [README]. This is an unusual level of transparency and is worth weighing if you’re planning a long-term deployment. The project has been active since 2001 and has community contributors, so it won’t stop working — but feature development and bug response times may slow during this period.

FreeBSD users need additional PHP modules (php-xml, php-dom, php-intl, php-zip) not required on Linux [README].

Realistic setup time: A technical user using Docker Compose: 1–2 hours to a working instance. A technical user doing a bare-metal LAMP stack install: 3–5 hours including PHP module configuration. A non-technical founder with no Linux experience: budget a full day or hire someone. The documentation at ampache.org/docs covers installation and basic configuration, but it assumes familiarity with web servers.


Pros and cons

Pros

  • Free, permanently. No tier system, no paid features hidden behind a subscription, no one can raise your bill. All documented features — multi-user, DLNA, lyrics, podcast support — are available from the first install [website docs][1].
  • Protocol breadth is unmatched. Subsonic API + native API + UPnP/DLNA + DAAP + WebDAV + HTTP streaming in one installation. Very few tools cover this range [README][website docs].
  • Subsonic client ecosystem. You get the benefit of years of Subsonic client development — polished Android and iOS apps that Ampache didn’t have to build or maintain [website docs][1].
  • 24 years of development. The project has been continuously maintained since 2001. It is not going to be abandoned next quarter [README].
  • Flexible catalog sources. Remote Subsonic libraries, Beets catalogs, SoundCloud, and other Ampache instances can all be indexed alongside local files [website docs].
  • Multi-auth options. LDAP, OpenID, PAM support means Ampache can slot into existing identity infrastructure [README].
  • Docker images available for the less-manual deployment path [README].

Cons

  • Web interface is dated. Reviewers consistently flag this [1][2][3]. Ampache’s built-in UI is functional, not beautiful. If you want a modern-looking music browser in the browser, you’ll be disappointed.
  • Setup is genuinely complex. PHP modules, web server configuration, Node.js requirement in v7 — this is a full stack to assemble and maintain [README][1]. Navidrome, by comparison, is a single binary.
  • Not a media organizer. If your music collection has messy tags, Ampache surfaces that mess faithfully. Tag cleanup is a separate task, not something Ampache handles [website docs].
  • Performance is hardware-dependent. Transcoding in particular scales with CPU. A low-end VPS may struggle under simultaneous transcoding requests [1].
  • Some features are experimental. UPnP/DLNA is listed as experimental [website docs]. Stability varies.
  • Primary developer availability reduced. The maintainer has flagged ~6 months of reduced contribution capacity [README]. Not a death sentence for a 24-year-old project, but worth factoring into timing decisions.
  • AGPL-3.0 license, not MIT. If you’re building a commercial product on top of Ampache, AGPL-3.0 requires releasing your modifications. Less flexible than MIT for embedded or commercial use cases [README].

Who should use this / who shouldn’t

Use Ampache if:

  • You have an organized local music library (files with clean metadata) and you want to stream it everywhere without a Spotify bill.
  • You’re already invested in the Subsonic client ecosystem — DSub, Ultrasonic, Symfonium, etc. — and want a self-hosted backend that speaks Subsonic.
  • You need broad protocol support: smart TV via UPnP, iTunes via DAAP, and mobile apps via Subsonic from the same server.
  • You’re comfortable with web server administration (or will hire someone once to set it up).
  • You want video streaming in addition to music from the same tool.

Skip it (try Navidrome instead) if:

  • You want a simpler Subsonic-compatible server that’s a single binary with minimal dependencies. Navidrome handles music-only use cases with far less operational overhead.
  • You’re not comfortable with PHP stack administration.
  • You want a cleaner web UI without relying on third-party clients.

Skip it (try Jellyfin instead) if:

  • Video is your primary use case, not music. Jellyfin’s video handling is more mature.
  • You want movie metadata, TV show episode tracking, and a Plex-like interface.

Skip it (stay on Spotify/Apple Music) if:

  • You don’t have a local music collection and you’re not interested in building one. Ampache streams your files — it doesn’t source music for you.
  • You’re a non-technical user with no one to help with setup and maintenance.

Alternatives worth considering

  • Navidrome — the most recommended alternative right now. Single binary, Subsonic-compatible, modern React UI, lighter resource footprint than Ampache. Music-only (no video). If Ampache’s complexity concerns you, start here.
  • Jellyfin — the Plex replacement. Better video support, active community, plugin ecosystem. Music is a secondary feature. If you want a unified media server, Jellyfin covers more ground.
  • Plex — the commercial incumbent. Better UI, broader feature set, lifetime pass is $119.99. Proprietary and the free tier has meaningful limits. The comparison Ampache’s docs make explicitly [website docs].
  • Subsonic — the original that established the API Ampache implements. Requires a paid subscription ($15/yr) for full features. Less reason to choose it over Navidrome or Ampache today.
  • Funkwhale — federated, community-oriented music sharing using ActivityPub. Decentralized architecture and music discovery focus. Different goal than Ampache — if you want to share music across instances rather than serve your personal collection, Funkwhale is the comparison [2][3].
  • Beets — not a streaming server, but the library management tool many Ampache users run in front of Ampache. Beets organizes and tags your files; Ampache streams them [website docs].

Bottom line

Ampache is what self-hosted music streaming looks like when a project survives long enough to accrete every protocol imaginable. It’s not pretty, it’s not simple to deploy, and the primary developer is dealing with a family health situation that will affect contribution pace for the near term. None of that changes what it actually is: a free, AGPL-licensed streaming server that has been working reliably since 2001, supports more client types than anything else in its category, and costs nothing beyond server infrastructure.

The honest case for Ampache over Navidrome (the simpler competitor) is protocol breadth — specifically DAAP, UPnP, Localplay, and the multi-catalog source support. If you only need Subsonic API compatibility and a clean music stream, Navidrome is less work. If you have a mixed environment — smart TV, iTunes machine, mobile apps, remote Subsonic library, and a NAS — Ampache is the server that covers all of it without stitching together multiple tools.

For a non-technical founder, the deployment complexity is the real barrier. The setup requires a PHP web stack, database, and now Node.js — not a one-click install. If you want someone to deploy and configure it for you so you can just stream your music, that’s a one-time service, not an ongoing subscription.


Sources

  1. AppMus — Ampache: Features, Alternatives & Analysis (2026). https://appmus.com/software/ampache
  2. AppMus — Funkwhale vs Ampache Comparison (2026). https://appmus.com/vs/funkwhale-vs-ampache
  3. AppMus — Ampache vs Funkwhale Comparison (2026). https://appmus.com/vs/ampache-vs-funkwhale
  4. AppMus — Ampache vs Amazon Music Comparison (2026). https://appmus.com/vs/ampache-vs-amazon-music

Primary sources:

Features

Integrations & APIs

  • Plugin / Extension System
  • REST API

Mobile & Desktop

  • Mobile App