Repository navigation
[music] 0.1.0
The first release of [music]: self-hosted music for people and agents.
docker run -d --name music -p 8080:8080 -v music-data:/data -v /path/to/music:/music:ro \
-e PUBLIC_URL=http://localhost:8080 ghcr.io/lmdevv/music:0.1.0Open http://localhost:8080, create the admin account, and add /music as a library.
What's in it
- One container (linux/amd64, linux/arm64) with self-hosted Convex, the media service, the web app, and Caddy on one port; a NixOS module that runs it.
- Library scan of your existing files and tags, watched for changes, with artwork.
- Web app for desktop and phone, light (Apple Music feel) and dark (Spotify feel): home, albums, artists, songs, search, playlists, likes, history, Now Playing, queue, command menu (⌘K), settings, and admin.
- Lossless and gapless playback: FLAC in fragmented MP4 through a Media Source Extensions engine, measured sample-accurate in Chromium and within one sample in Firefox; AAC for data saver; HTML audio fallback.
- Live handoff and remote control between your devices.
- Multi-user accounts with invites, shared or private libraries, and API keys.
- The
musicCLI generated from the command registry, and an agent skill inskills/music.
Demo videos
music-demo-desktop.mp4 (1 min): first-run setup, real scan, play, Now Playing, search, command menu, like, playlist, API key, dark mode. music-demo-phone.mp4: the same account on a phone while the desktop plays. Demo music is CC licensed; credits in docs/demo-music.md.
Known gaps
- Safari and iOS are untested. Firefox and Chromium are tested.
- The first play of an uncached lossy file waits for its transcode (a few seconds). The next song is prepared ahead.
- The NixOS module runs the container rather than native systemd units.
- No lyrics, offline downloads, or native apps yet. Those come in V1.