Skip to content
Pocket Homelab
Get the appComing soon to the App Store

Pocket Music

v0.4.2 · Self-hosted · MIT

Your music library, played anywhere.

Pocket Music is a player for the whole household on top of Navidrome. It keeps every play, makes new mixes from your own shelves each day, turns a sentence into a playlist, and writes smart playlists back to the server so every Subsonic app on your phone or in the car sees them too.

  • Included in Pocket Box
  • Sign in with Pocket Core
  • Works with Navidrome and Lidarr and Subsonic apps and LRCLIB
Pocket Music on an iPhone: Home with today's listening time, a streak, Daily Mix 1 and 2, and albums to jump back intoPocket Music on an iPhone: Home with today's listening time, a streak, Daily Mix 1 and 2, and albums to jump back into

Player

Your albums, with the details that matter.

Every album shows its format and bitrate, how often you have played it and the songs you love. Playback is gapless, with volume levelling from ReplayGain tags, media-key controls and a sleep timer.

The album Piano Paintings playing: track list with format and a loved song, 26 plays by you, and the player bar at the bottomThe album Piano Paintings playing: track list with format and a loved song, 26 plays by you, and the player bar at the bottom

Make a mix

A playlist from one sentence.

Type what you would like to hear, pick a length, and get a mix made only from music you own. Play it straight away or save it as a playlist.

  • Pocket AI or your own OpenAI-compatible key plans it, if you connect one
  • The AI sees only your genre and artist names
  • Without AI the mix is matched from the words: genres, artists, decades, moods
The Make a mix dialog: calm piano and soundtracks for a rainy Sunday, with the songs it picked from the libraryThe Make a mix dialog: calm piano and soundtracks for a rainy Sunday, with the songs it picked from the library

Stats

Made from what you play.

Every play is kept and passed on to Navidrome, and from there to Last.fm, ListenBrainz or Maloja. See your minutes, plays, new songs and streaks for any period, on any device.

  • Top artists, albums, songs and genres, by hour of day and weekday
  • Plays from Subsonic apps count too
  • Import your past from Maloja or ListenBrainz
Stats on an iPhone: 7 h 31 min listened and 137 plays in the last 30 days, 7 artists, 6 new songs and a 5-day streakStats on an iPhone: 7 h 31 min listened and 137 plays in the last 30 days, 7 artists, 6 new songs and a 5-day streak

Smart playlists

Rules that every player sees.

Build a playlist from rules and watch the preview fill as you go. It is refreshed every day as a real playlist on your music server, so your phone app and car stereo get it too.

  • Genre, year, plays, last played, added, loved, rating, format, bitrate
  • Start from a template like Heavy rotation or Loved, not lately
  • Refresh every day or only when you ask
The smart playlist editor: Heavy rotation, songs played more than nine times, with a preview of twelve songsThe smart playlist editor: Heavy rotation, songs played more than nine times, with a preview of twelve songs

And the rest of it

  • Daily mixes and radio

    Daily Mix 1 to 4 by your favourite genres, On Repeat, Rediscover, Deep Cuts and more, new each day. Radio from any song, album, artist or genre.

  • Synced lyrics

    Lyrics follow the song, from your files first and LRCLIB after. A nightly job saves them as .lrc files next to the songs, so every player has them.

  • Offline and on every device

    Download an album, playlist or mix to your phone or laptop. Each open Pocket Music is a device you can pause, skip or take over with Play here.

  • What is missing, one click away

    With Lidarr, artist pages show the albums you do not have, and Get it asks Lidarr for them. A notification tells you when the album has arrived.

Install

One container next to Navidrome.

Pocket Music is one Go binary with one SQLite file and one volume, published for amd64, arm64 and armv7. Point it at your Navidrome, open it and create the first account, then connect your Navidrome account under Settings, Library. Lidarr, Maloja and notifications are optional.

On a Pocket Box it is already installed, and each person's Navidrome and Lidarr login comes from Pocket Core.

Every setting in the README →

docker run -d --name pocket-music -p 8080:8080 -v ./data:/data \
  -e BASE_URL=https://music.example.com -e SECURE_COOKIES=true \
  -e NAVIDROME_URL=http://navidrome:4533 \
  ghcr.io/abjelosevic88/pocket-homelab-music:latest