Feishin
Modern cross-platform music player for self-hosted servers
Feishin is a modern, full-featured music player for Subsonic, Navidrome, and Jellyfin servers. It offers a polished desktop and web interface with synced lyrics, scrobbling, and theming.
Key features
- Subsonic and Jellyfin support
- Synced lyrics
- Scrobbling
- Desktop and web clients
Pros & cons
Strengths
- Beautiful modern UI
- Multi-server support
Trade-offs
- Client only
- Requires an existing server
Feishin replaces
Last reviewed Aug 26, 2026 · 695 words
Feishin is the desktop app that Navidrome and Jellyfin never shipped. It is a client only: it stores no music, hosts nothing, and does nothing without a Subsonic-compatible or Jellyfin server behind it. Put it in front of a Navidrome library and you get a player that looks and behaves like a 2026 streaming app, with synced lyrics, gapless playback, scrobbling and a queue that behaves. That is the entire pitch, and for anyone already running a music server it justifies the 5 minutes of setup.
The server web UIs are for administration, not listening
Navidrome's built-in interface is a React-admin front end: fine for adding users and checking the scanner, poor as a daily player. Jellyfin's music section is a bolt-on to a video app. Feishin replaces both for the listening half. It speaks Subsonic (so Navidrome, Gonic, Airsonic-Advanced and the rest) and Jellyfin natively, and you can add several servers and switch between them. The Jellyfin vs Navidrome comparison covers which server to run; whichever you pick, this is the front end.
Desktop first, web build second
The desktop app is Electron, built for Windows, macOS and Linux (AppImage, deb and rpm). On the desktop it can use MPV as the playback engine instead of the browser's audio stack, which buys gapless playback, proper FLAC and Opus handling and ReplayGain. Install MPV alongside it and select it in settings; the difference on a live album or a mixed classical disc is immediate.
The web build is the same interface served from a container, useful for a laptop you cannot install software on:
services:
feishin:
image: ghcr.io/jeffvli/feishin:latest
ports:
- "9180:9180"
restart: unless-stopped
That container is stateless; every setting and server credential lives in the browser. It needs 256 MB of RAM at the outside and nothing else. The web build plays through HTML5 audio, so no MPV and no gapless; treat it as the fallback, not the main event.
HTTPS on both ends or the web build will not connect
The trap that fills the issue tracker: open the Feishin web build over HTTPS with Navidrome on plain HTTP, and the browser blocks the request as mixed content. Feishin then reports a connection error that looks like bad credentials. Put both behind the same reverse proxy with certificates, or run both on plain HTTP inside a VPN. The desktop app is not subject to this, which is one more reason it is the primary recommendation.
Lyrics, scrobbles and Discord: what works and how
Synced lyrics come from embedded tags first, then from online providers (LRCLIB, Genius and NetEase at last check) and display line by line. Scrobbling goes to the server, not directly to Last.fm: Navidrome forwards to Last.fm and ListenBrainz if you have linked them there, so a scrobble from Feishin shows up exactly like one from your phone. Discord rich presence is a toggle. Playlists sync with the server, so a playlist built in Feishin appears in every other client. Smart playlists and radio-style features depend on the server, and Navidrome's are still thin; that is not a Feishin limitation.
Mobile is not covered
There is no Feishin phone app. On Android, Symfonium is the polished paid option and Substreamer the free one; on iOS, play:Sub. All speak the same Subsonic API, so they coexist with Feishin without any server changes. If you came here looking for a full Spotify replacement, the answer is Navidrome plus Feishin on the desktop plus one of those on the phone, not any single app.
What I'd do
Run Navidrome behind Caddy with a real certificate, install the Feishin desktop app on every computer, switch its player to MPV, and set the lyrics providers once. Skip the Docker web build unless you have a locked-down work laptop. Link Last.fm from the Navidrome side so every client scrobbles the same way. Total ongoing maintenance is updating one Electron app when it asks, which is as low as a self-hosted music stack gets.
Compare Feishin
21 head-to-head comparisons.
- Feishin vs Navidrome
- Feishin vs Koel
- Feishin vs Mopidy
- Feishin vs Lidarr
- Feishin vs Black Candy
- Feishin vs Finamp
- Feishin vs Ampache
- Feishin vs Polaris
- Feishin vs Funkwhale
- Feishin vs OwnTone
- Feishin vs Gonic
- Feishin vs mStream
- Feishin vs Tempo
- Feishin vs Swing Music
- Feishin vs Airsonic
- Feishin vs Sonixd
- Feishin vs Lyrion Music Server
- Feishin vs Musicn
- Feishin vs Amperfy
- Feishin vs LMS
- Feishin vs Airsonic-Advanced
Similar media servers apps
Jellyfin
Media ServersFree software media system for streaming your library
Replaces Plex, Emby
qBittorrent
Media ServersBittorrent client that aims to be a good alternative to all other
Replaces µTorrent
SRS
Media ServersA simple, high efficiency and real-time video server, supports RTMP,
Navidrome
Media ServersModern music streaming server for your collection
Replaces Spotify
Kodi
Media ServersOpen-source home theater and media center
Replaces Plex
Koel
Media ServersPersonal music streaming server with an elegant interface
Replaces Spotify