Control your personal music collection and Jellyfin server seamlessly
GitHub RepoImpressions1.5k

Control your personal music collection and Jellyfin server seamlessly

@githubprojectsPost Author

Project Description

View on 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.

You'll need your Jellyfin server URL and an API token (which you can generate in the Jellyfin dashboard under "Advanced > API Keys"). For detailed instructions, including non-Docker setups, check the full documentation on the GitHub repository.

Explore the Rusic GitHub Repository

Final Thoughts

Rusic feels like a developer's solution to a modern problem. It acknowledges that while streaming is convenient, owning and curating a personal collection still brings joy. It doesn't try to replace Jellyfin but instead partners with it to create a better experience. If you've got a hard drive full of music and a Jellyfin instance, spinning up Rusic is a no-brainer. It's a focused tool that does one job and does it well—and that's always something worth checking out.


Follow for more cool projects: @githubprojects

Back to Projects
Project ID: 4d1bdf8a-e3f8-4ade-90e2-dc2cf5608e23Last updated: March 1, 2026 at 09:20 AM