rockbox-zig
A modern, network-enabled music player platform built on Rockbox technology https://www.rockbox.org
What is it?
What it is
Rockbox Daemon (rockboxd) is a single‑binary audio server that bundles the legacy Rockbox firmware’s audio engine with modern Rust and Zig tooling. It exposes gapless playback, DSP, 20+ codecs, and a tag database through gRPC, GraphQL, HTTP, MPD, and Subsonic/Jellyfin APIs, and supports multi‑room output via AirPlay, Snapcast, Squeezelite, Chromecast, and UPnP/DLNA.
Why it exists
It provides a unified, self‑contained audio platform that modernizes the classic Rockbox experience, enabling advanced features (cross‑fading, parametric EQ, Typesense search) and multi‑room streaming while offering a rich set of APIs for integration with existing media ecosystems and custom clients.
Who should use it
Audio enthusiasts and developers who want a feature‑rich, multi‑room audio server with support for AirPlay, Snapcast, Chromecast, UPnP, and custom APIs (gRPC, GraphQL, HTTP, MPD). Ideal for home media setups, media server integrations, and building custom audio services.
Who should avoid it
Users looking for a simple, out‑of‑the‑box music player or those who prefer a minimal, single‑room solution without the need to configure multiple output backends or APIs. Also not suited for environments with strict licensing or where GPL‑2.0 is a concern.
How it works
A quick walkthrough in plain English
How rockboxd works
Step 1 of 3
You interact with it
Open rockboxd, send a request, or connect it to your stack.
Features
Advantages
- Single binary delivering all audio APIs and multi-room outputs
- Cross-platform (Linux, macOS, Windows via Docker)
- Extensible architecture using Rust, Zig, and C firmware
- Rich client ecosystem (web, desktop, mobile, terminal)
- High performance audio engine with DSP and gapless playback
- Built-in search and metadata handling
- Easy Docker deployment for quick start
- Open-source with permissive license and community support
- Supports S3-compatible storage for cloud integration
Disadvantages
- Complex build chain (Rust, Zig, C, WebAssembly) requires multiple toolchains
- Requires configuration file for many features
- Limited streaming support (no YouTube/Spotify/Tidal yet)
- Dependency on external services for multi-room (Snapcast, AirPlay, Chromecast)
- Potential performance overhead on low-end devices
- Docker image may not fit all environments (requires port mapping)
- Requires network access for mDNS discovery for some outputs
- Learning curve for advanced configuration and API usage
Installation
docker
docker run -v $HOME/Music:/root/Music -p 6062:6062 -p 7882:7882 tsiry/rockbox
native
Install via package managers (apt, dnf, brew) or compile from source as described in Manual Install instructions.
FAQ
How do I configure AirPlay multi-room output?
Set `audio_output = "airplay"` in `settings.toml` and list multiple receivers under `[[airplay_receivers]]` with their host IPs and optional ports.
What's the easiest way to start using Rockbox?
Use Docker with `docker run -v $HOME/Music:/root/Music -p 6062:6062 tsiry/rockbox` to get a web UI and HLS stream immediately.
How can I adjust audio settings like EQ or crossfade?
Edit `~/.config/rockbox.org/settings.toml` to modify parameters such as `eq_enabled`, `crossfade`, or `bass/treble` values.
How do I upload music files via the S3-compatible API?
Enable `s3_enabled = true` in `settings.toml`, configure AWS credentials, and use `awscli` or similar tools to upload files to the `music` bucket.
Which ports does Rockbox use for different services?
Key ports include 6062 (GraphQL/Web UI), 6600 (MPD), 7882 (CMAF/HLS), 3483 (Squeezelite), and 9000 (S3 API). Check the Ports table in the README for details.
Can I compile Rockbox from source instead of using Docker?
Yes. Clone the repo, build dependencies, and run `zig build` after configuring the firmware and Rust crates. See the Compiling from Source section for steps.
Featured in Videos
YouTube tutorials and walkthroughs for rockbox-zig
Alternatives
Similar projects ranked by category, topics, and text overlap.