Crate fugue

Crate fugue 

Source
Expand description

§Fugue

A smart Subsonic API proxy that merges multiple Navidrome instances into one unified music library.

§Architecture

Fugue sits between Subsonic clients and one or more Navidrome backends:

  • proxy — fan-out requests to all backends, merge responses, proxy streams
  • id — opaque ID namespacing so backend IDs never collide
  • cache — background crawl + SQLite cache for instant browsing/search
  • dedup — cross-backend deduplication via metadata fingerprinting
  • social — optional P2P layer (Iroh) for sharing with friends
  • config — TOML + env var configuration
  • subsonic — Subsonic API endpoint handlers and auth

Run cargo doc --no-deps --open to browse full module documentation.

Modules§

cache 🔒
Background caching layer for merged library data.
config 🔒
Application configuration.
dedup 🔒
Cross-backend deduplication engine.
error 🔒
health 🔒
id 🔒
ID namespacing for multi-backend routing.
proxy 🔒
Subsonic API proxy layer.
social 🔒
P2P social layer for Fugue.
state 🔒
Shared application state.
subsonic 🔒
Subsonic API endpoint layer.

Structs§

Cli 🔒

Enums§

ApiKeyAction 🔒
Commands 🔒
FriendAction 🔒
PlaylistAction 🔒

Functions§

api_key 🔒
build_backends 🔒
check 🔒
friend 🔒
init_db 🔒
main 🔒
playlist 🔒
serve 🔒
status 🔒
sync 🔒
ticket 🔒