feishin logo

feishin

A modern self-hosted music player.

releasetotaldiscordsonixd:matrix.org
Website GitHub

What is it?

What it is

Feishin is a modern, cross‑platform music player client written in TypeScript that connects to self‑hosted music servers such as Navidrome, Jellyfin, and any OpenSubsonic‑compatible API. It is a rewrite of the Sonixd project and offers both a desktop Electron app and a web front‑end.

Why it exists

Feishin was created to provide a feature‑rich, user‑friendly interface for self‑hosted music libraries, adding modern UI, MPV and web playback back‑ends, scrobbling, smart playlist editing, and synchronized lyrics support. It also simplifies deployment with pre‑built binaries, AppImage, Flathub, Docker images, and a hosted web version.

Who should use it

Users who self-host music servers (Jellyfin, Navidrome, Subsonic/OpenSubsonic) and want a feature-rich desktop/web client with MPV backend, lyrics, smart playlists, and scrobbling.

Who should avoid it

Users who rely solely on commercial streaming services, lack a self-hosted music server, or prefer minimal-configuration mobile apps.

How it works

A quick walkthrough in plain English

How feishin works

Step 1 of 3

You interact with it

Open feishin, send a request, or connect it to your stack.

Features

MPV player backend
Web player backend
Modern UI
Scrobble playback to your server
Smart playlist editor (Navidrome)
Synchronized and unsynchronized lyrics support

Advantages

  • Open source (GPL-3.0)
  • Supports multiple music servers (Jellyfin, Navidrome, Subsonic/OpenSubsonic)
  • Available as desktop client, web version, and Docker image
  • Modern and customizable UI
  • Built-in lyrics fetching and display
  • Smart playlist editing for Navidrome
  • Scrobbling to server
  • Active community support (Discord, Matrix)
  • Multi-language support via Weblate
  • Regular releases and active development

Disadvantages

  • Requires manual MPV binary configuration for desktop client
  • Smart playlist editor limited to Navidrome
  • Web client only supports web player backend
  • Docker deployment requires environment variable setup
  • Some Linux namespace issues may require additional configuration
  • Plex support not native (requires fork)

Installation

cloud

https://feishin.vercel.app

docker

docker run --name feishin -p 9180:9180 ghcr.io/jeffvli/feishin:latest

# Build the image locally
 docker build -t feishin .
 docker run --name feishin -p 9180:9180 feishin

compose

services:
    feishin:
        container_name: feishin
        image: 'ghcr.io/jeffvli/feishin:latest'
        restart: unless-stopped
        environment:
            - SERVER_NAME=jellyfin
            - SERVER_LOCK=true
            - SERVER_TYPE=jellyfin
            - SERVER_URL=
            - REMOTE_URL=
            - LEGACY_AUTHENTICATION=false
            - ANALYTICS_DISABLED=true
        ports:
            - 9180:9180

FAQ

How do I install Feishin on macOS, Linux, or via Docker?

For macOS, download the latest desktop client from the releases page. On Linux, use Flathub or the Appimage installer script. Docker users can run the image via `docker run --name feishin -p 9180:9180 ghcr.io/jeffvli/feishin:latest`.

Why is MPV rapidly switching between pause/play states?

Ensure the MPV binary path is correct in settings. Reinstall MPV using version v0.35.x or v0.36.x, as v0.34.x is known to be unstable.

Which music servers does Feishin support?

Feishin supports Navidrome, Jellyfin, and OpenSubsonic-compatible servers (e.g., Airsonic-Advanced, Ampache, Funkwhale). Plex requires a fork by lux032.

How do I configure Feishin via Docker environment variables?

Set variables like `SERVER_NAME`, `SERVER_TYPE`, `SERVER_URL`, and `REMOTE_URL` in the Docker Compose file or command to customize server integration and behavior.

How do I fix the 'SUID sandbox helper binary' error on Linux?

Run `chmod 4755 chrome-sandbox` and `sudo chown root:root chrome-sandbox` to adjust permissions for the sandbox binary.

Why is the desktop client recommended over the web version?

The desktop client supports both MPV and web player backends, includes built-in lyric fetching, and offers a more feature-rich experience compared to the web client's limited web player support.

Loading documentation…
View on GitHub

Featured in Videos

YouTube tutorials and walkthroughs for feishin

s6

1,671,961 views

Starts at 00:00

Share

Alternatives

Similar projects ranked by category, topics, and text overlap.

Compare
feishin | MushyBook