personal music server in rust with:
- a rust web server
- a background import worker
- youtube ingest through
yt-dlp - a playback-only browser ui
- an interactive management cli
start the server:
cargo runopen the browser ui:
http://127.0.0.1:3000
start the interactive cli:
cargo run --bin share-tunes-cliinside the prompt:
share-tunes> jobs
share-tunes> tracks
share-tunes> import https://www.youtube.com/watch?v=...
share-tunes> delete-track 2
share-tunes> quit
one-shot mode still works too:
cargo run --bin share-tunes-cli -- jobs
cargo run --bin share-tunes-cli -- tracksthis project uses external media tools:
ffmpegyt-dlp
in this repo, yt-dlp was installed into .venv/ so the rust server can spawn it locally.
- imports are managed from the cli
- the browser ui only lists and plays tracks
- tracks are stored in
data/library/ - metadata and jobs are stored in
data/share-tunes.db