最佳自主托管多用户音乐采集 2026
Your personal, sovereign music ecosystem — where discovery meets ownership.
Melodia Flow is a self-hosted, multi-user music acquisition and curation platform designed to feed your existing Navidrome instance (or any Subsonic-compatible server). Think of it as a digital butler for your music library — it doesn't just download songs; it learns your tastes, respects your privacy, and orchestrates a seamless pipeline from streaming service discovery to local file storage.
Built with a trinity of modern technologies (SvelteKit for the reactive frontend, FastAPI for the intelligent API layer, and a Go plugin engine for high-performance audio extraction), Melodia Flow is Docker-native, NAS-friendly, and comes with multi-user support from day one — including two-factor authentication, encrypted user secrets, and personal access tokens (PATs) for granular access control.
Whether you're a family sharing a home server or a solo audiophile who wants to escape the streaming subscription treadmill, Melodia Flow turns the act of acquiring music into an elegant, automated ritual.
Most self-hosted music solutions stop at playing your files. Melodia Flow fills the gap: how do those files get there in the first place?
This project acts as a smart acquisition proxy between you and the music you love. You search for an artist or album on Spotify or Deezer (via their APIs), Melodia Flow finds matching tracks on YouTube (or other audio sources), extracts the highest-quality audio, tags it with metadata, and delivers it directly into your Navidrome music folder — all without leaving your browser.
It’s like having a private, always-on music librarian who never sleeps, never asks for a tip, and keeps your collection astonishingly organized.
| Feature | Description |
|---|---|
| Multi-User with Identity | Each user has encrypted secrets, personalized search history, and independent download queues. |
| 2FA & PAT Authentication | Time-based one-time passwords (TOTP) for the web UI; personal access tokens for API automation. |
| Spotify & Deezer Search | Native API integration for discovering tracks, albums, and playlists from two major catalogs. |
| YouTube Audio Extraction | Go-based plugin engine finds the best matching audio source and extracts it with metadata embedding. |
| Automatic Metadata Tagging | Album art, artist, genre, year, track number — all written directly into the file's ID3 tags. |
| Navidrome Folder Sync | Downloaded files are placed into a configurable music directory that Navidrome monitors. |
| SvelteKit Frontend | Reactive, responsive, dark-mode-first user interface with real-time download progress. |
| FastAPI Backend | Asynchronous, dependency-injected API with automatic OpenAPI docs. |
| Go Plugin Architecture | Hot-reloadable plugins for audio sources — extend without restarting the server. |
| Docker-Only Deployment | Single docker-compose.yml with persistent volumes. Optimized for Synology, QNAP, Unraid. |
| Queue Management | Prioritize, pause, retry, or cancel downloads. Smart deduplication prevents redownloads. |
| User Quotas & Rate Limiting | Prevent one user from hogging all system resources; configurable daily download caps. |
Melodia Flow is a three-tier application running inside Docker containers:
Data Flow:
User Search (Spotify/Deezer)
→ API resolves metadata
→ Plugin Engine finds audio match
→ Download worker fetches file
→ Metadata tagger enriches file
→ File placed into Navidrome watch folder
→ WebSocket notifies user "Done!"
config/ directory and add your melodia-flow.yml with API keys, user definitions, and folder paths.docker compose up -d.http://your-server:3000 and complete the admin setup wizard (first user gets admin rights).The system will auto-detect existing Navidrome folder permissions and adjust the container user IDs (PUID/PGID) accordingly.
Melodia Flow defines three trust levels:
Invitation system: New users receive a one-time registration link (valid for 24 hours) sent by email or printed as a QR code.
cryptography Fernet symmetric encryption with a master key stored in memory (loaded from environment during boot).pyotp for TOTP generation. Admin users must enroll within 24 hours of first login.Melodia Flow’s ability to extract audio from multiple sources comes from its plugin architecture.
Each plugin implements a simple interface:
Search(query) → []SourceMatch
Resolve(SourceMatch) → AudioStream
Currently shipping with:
plugins/ directory, and it becomes available in the UI.The SvelteKit frontend supports runtime theming via CSS custom properties:
ui:
theme: "deepsea" # options: deepsea, emerald, midnight, sandstorm
logo_path: "/custom/logo.svg"
footer_text: "Powered by Melodia Flow"
Administrators can upload a custom logo and modify colors without rebuilding the container. Themes persist across updates.
Melodia Flow ships with 14 language locales out of the box:
Language detection uses browser Accept-Language header; users can override via their profile settings. Translation contributions follow a simple JSON key-value format in locales/.
/api/v1/metrics (counters for downloads, errors, active users)./health returns container status and plugin engine version.Melodia Flow is designed for zero-downtime configuration reloads:
POST /api/v1/system/reload — Re-reads config file, applies new users and rate limits without restarting.POST /api/v1/plugins/reload — Unloads and loads all plugins (brief interruption to queued downloads, typically <2 seconds).MIGRATIONS.md.Q: Can I use this without Navidrome?
A: Yes. Melodia Flow can write to any folder you mount. However, Navidrome’s auto-scan feature is the primary use case.
Q: Does it work with Apple Music / Tidal?
A: Not natively, but the plugin architecture allows a skilled developer to add support. Community plugins are welcome.
Q: Is there a webhook when downloads finish?
A: Yes. Configure notifications.webhook_url in the config file. Payload includes user, track, and file path.
Q: What if two users search for the same song at the same time?
A: The queue system deduplicates by file hash — only one download is triggered; both users are notified.
This project is licensed under the MIT License. See the LICENSE file for details.
You are free to use, modify, and distribute Melodia Flow for any purpose — personal, educational, or commercial.
Melodia Flow is a technical tool for content acquisition and does not provide or host any copyrighted material. Users are solely responsible for ensuring their use of third-party APIs and downloaded content complies with applicable laws in their jurisdiction. The developers assume no liability for misuse of this software. Always respect the rights of artists and copyright holders.
Melodia Flow — because your music library should feel like a carefully curated collection, not a chaotic pile of downloads.
暂无开放 Issues,或尚未同步最近议题。