Control your personal music collection and Jellyfin server seamlessly
C

Control your personal music collection and Jellyfin server seamlessly

Control your personal music collection and Jellyfin server seamlessly

1,607 stars
N/A forks
N/A contributors

README

Project documentation from GitHub

Rusic: Your Personal Music Collection, Back Under Your Control

Remember when your music library was just a folder of MP3s? It was simple. You owned the files, you organized them, and they played anywhere. Then streaming happened. Convenience won, but control and ownership faded. What if you could have both? That's the itch Rusic is trying to scratch.

It's a self-hosted music server, but with a sharp focus. It's not trying to be a media powerhouse for movies, TV shows, and audiobooks. It's for your music. Your files. And it's built to plug directly into your existing Jellyfin server, giving you a dedicated, polished interface for the part of your library that matters most to audiophiles and collectors.

What It Does

Rusic is a lightweight, self-hosted music server that integrates with Jellyfin. You point it at your folder of music files (FLAC, MP3, etc.), and it scans your collection, building a browsable and playable web interface. Crucially, it uses your Jellyfin server for its backend media management and streaming. Think of Rusic as a dedicated, music-optimized front-end skin for your Jellyfin music library.

It pulls album art, artist info, and metadata, presenting your collection in a clean, fast interface designed specifically for audio. You control the files, Jellyfin handles the heavy lifting of serving them, and Rusic provides the tailored listening experience.

Why It's Cool

The cool factor here is in the focused integration. Jellyfin is fantastic, but its interface is generalized for all media. Rusic carves out the music experience and optimizes for it. This separation of concerns is smart: let Jellyfin do what it's great at (media management, transcoding, API), and let Rusic specialize in the user-facing music player.

It's also built with Rust, which hints at the developer's priorities: performance, stability, and efficiency. For a self-hosted service that might run on a Raspberry Pi or a home server, those are key benefits. It's not a bloated Electron app; it's a nimble binary that serves a web UI.

For developers, the architecture is a neat case study. It's not reinventing the wheel by building a whole media stack. It's leveraging a powerful existing open-source project (Jellyfin) and building a better client for a specific use case. It’s a pattern more projects could learn from.

How to Try It

Ready to give your music library a dedicated home? The quickest way is with Docker.

  1. Ensure you have a Jellyfin server already set up and your music library added to it.

  2. Pull and run the Rusic image:

    docker run -d \ -p 8080:8080 \ -e JELLYFIN_URL=http://your-jellyfin-server:8096 \ -e JELLYFIN_TOKEN=your_jellyfin_api_token \ --name rusic \ temidaradev/rusic:latest
    
  3. Open your browser to http://your-server:8080.

Did you like this issue?

Join our weekly newsletter

Love discovering amazing projects?

Help us continue bringing you the best open-source discoveries every week.

Back to Projects
Last updated: Feb 28, 2026