🏡 index : ironmagma/quintodrome.git

Quintodrome

A Tauri desktop app that wraps Navidrome — your self-hosted music server — into a native macOS/Windows application.

The server is bundled as a sidecar binary and managed automatically, so there's nothing to install, configure, or keep running: launch the app and it starts (and later shuts down) its own Navidrome instance for you.

This repository is a fork of Navidrome. Everything outside desktop/ is the upstream server + web UI; desktop/ is the Quintodrome wrapper around it.

What it does

Batteries included:

Quick start

# one-time: Node >= 24 (see .nvmrc), Go >= 1.26, Rust
just run

just run builds the Navidrome sidecar and launches the app. No just? See the desktop README for the plain commands, or install it with brew install just.

To wipe Navidrome's persistent state (database, cache) and start fresh:

just clean-state

Building a distributable

just bundle          # or: ./desktop/scripts/build.sh

This produces the platform's packaged app under desktop/src-tauri/target/release/bundle/ (e.g. macos/Quintodrome.app on macOS). Cross-platform binaries are built in CI — see .github/workflows/desktop.yml, which produces .app/.dmg on macOS and .exe/.msi on Windows for tagged releases.

Artifacts are unsigned (no Apple/Windows code-signing certs), so users will see Gatekeeper/SmartScreen prompts.

macOS: "Quintodrome is damaged and can't be opened"

Because the app isn't signed with an Apple Developer ID, macOS blocks downloaded copies. After moving the app to /Applications, run:

xattr -dr com.apple.quarantine /Applications/Quintodrome.app
codesign --force --deep -s - /Applications/Quintodrome.app

The Homebrew cask strips the quarantine flag automatically on install.

Configuration

Environment variables override the defaults:

Variable Default Purpose
QUINTODROME_HOST 127.0.0.1 Address the webview connects to
QUINTODROME_PORT 4533 Port for the Navidrome server
QUINTODROME_MUSIC_FOLDER OS music dir (e.g. ~/Music) Where your music lives
QUINTODROME_ADMIN_PASSWORD admin Password for the auto-created admin user (fresh installs only)
QUINTODROME_PUBLIC_URL http://quintodrome Friendly origin shown in the address bar

The data folder (database, cache) is always the OS app-data directory (e.g. ~/Library/Application Support/com.quineglobal.drome on macOS).

Repository layout

.
├── desktop/          # Quintodrome: the Tauri wrapper (Rust + toolbar HTML)
│   ├── src-tauri/    #   sidecar spawn/health-check, lifecycle, menu, clipboard
│   ├── src/          #   toolbar.html (nav bar) + index.html (splash)
│   └── scripts/      #   build.sh, icon generator
├── ui/               # Navidrome web UI (React)
├── server/           # Navidrome HTTP server
├── core/             # Navidrome core (scanning, transcoding, …)
├── cmd/              # Navidrome entrypoint / CLI
└── Justfile          # run / bundle / sidecar / clean-state

For the details of building and running the desktop app directly, see desktop/README.md.

Development

Prerequisites:

The Navidrome server is built with make build; the wrapper stages it as desktop/src-tauri/binaries/navidrome-<target-triple> and bundles it as a Tauri sidecar. See desktop/scripts/build.sh.

Acknowledgements

Quintodrome is built on Navidrome, an open-source web-based music collection server and streamer. All credit for the music server and web UI goes to the Navidrome project.