finds.dev← search

// the find

tsirysndr/music-player

★ 503 · Rust · MIT · updated Oct 2024

An extensible music server written in Rust 🚀🎵✨

A self-hosted music server daemon written in Rust, positioned as a modern alternative to MPD/Mopidy. It exposes both gRPC and GraphQL APIs, includes a TUI client, web UI, and Tantivy-based local search. Aimed at developers who want to run their own music server and prefer API-first control over GUI-first apps.

The dual API surface (gRPC with published protobuf schemas on buf.build + GraphQL with GraphiQL) is well thought out — you get type-safe clients for free and can query from anything. Using Symphonia for decoding means broad format support without FFmpeg as a runtime dependency. The workspace layout is genuinely modular: storage, playback, graphql, server, and entity are separate crates with their own BUILD files, so you can pull in just what you need. Tantivy for local full-text search is the right call — it's fast, embeddable, and avoids an external search dependency.

Last commit was October 2024 and the README still says 'work in progress' with half the feature list unchecked — streaming from Spotify, YouTube, Airplay, and the mobile apps are all listed as planned and none of them exist. The build process is heavier than it should be: you need protobuf compiler, Node/bun, and Rust just to compile, which is a real friction point for a server daemon. The author's own README points you away to a different project (Rockbox Zig), which is a quiet signal that this one isn't the priority anymore. No documentation beyond the README — if the GraphQL schema or gRPC API breaks, you're reading source.

View on GitHub →

// want more like this?

We dig through GitHub every week and send a few repos picked for what you actually care about — each with an honest take like this one.

Get finds in your inbox → Search again →