Maloja
Maloja's one job is to be your own scrobble database, charting what you listen to from a server you control. Players and media servers that speak the native JSON API or a ListenBrainz, GNU FM, or Audioscrobbler 1.2 compatible protocol can scrobble with their own API keys. Vinyl sessions and background music can be logged by hand on a manual scrobble page. Existing history moves in from a Last.fm export, a Spotify data export, a ListenBrainz export, or another Maloja instance, while a proxy option forwards new scrobbles to Last.fm or a second Maloja server. The start page ranks top artists, tracks, and albums for today, this week, this month, this year, or all time, alongside a pulse chart of listening volume and a feed of the latest scrobbles. Artist and album pages add performance charts that follow chart position over time. Collaborations credit every artist on a track, and subunits, solo projects, and main acts can be combined or separated in charts at any time. Gold, Platinum, and Diamond awards mark tracks and albums that pass scrobble thresholds you set. Artwork can come from Last.fm, Spotify, Deezer, TheAudioDB, or MusicBrainz lookups, or from images you upload yourself. Week start, timezone, theme, and tile layout are all settings, and an API explorer lists endpoints for scripts. Running on a dedicated VPS on RepoCloud with guaranteed CPU, RAM, and SSD, full root SSH access, and a browser serial console. GPL-3.0 licensed.
Mstream
"The easiest music streaming server available" is mStream's own billing, and the claim holds up: a lightweight Node.js app that turns a folder of audio files into a private streaming service in minutes, no external database required. Its filesystem-based design is the clever part - the API mirrors your folder structure, so you can browse and play music immediately, before any library scan finishes, and your organization on disk is your organization in the app. It streams flac, mp3, wav, ogg, opus, aac, and m4a, which matters to the audiophile crowd: FLAC plays uncompressed, bit-perfect, with gapless playback for live albums and continuous mixes. The web player runs anywhere a browser does and packs personality - a Milkdrop-style visualizer (Butterchurn), playlist sharing via links, and drag-and-drop uploads straight through the file explorer. Native iOS and Android apps add the feature streaming subscriptions can't match: sync your collection to your phone for true offline playback of music you own. Multi-user support assigns separate directories and permissions per account. Resource usage is famously light - mStream is tested on multi-terabyte libraries and runs happily on a Raspberry Pi, so a small RepoCloud instance serves a lifetime's collection. GPL-licensed, with zero listening-habit telemetry.
Black Candy
With 4,300+ GitHub stars and native mobile apps on three platforms, Black Candy transforms any VPS into a private Spotify-style streaming service for your personal music collection. The Ruby on Rails 7 backend with Hotwire Turbo and Stimulus delivers a responsive single-page-feeling web player supporting album browsing, artist views, playlists, favorites, and queue management without full page reloads. Point it at a media directory containing MP3, FLAC, OGG, AAC, or WAV files and Black Candy indexes metadata, fetches album artwork from Discogs API, and begins streaming immediately with on-the-fly transcoding that adapts bitrate to client bandwidth. Multi-user support gives each account independent playlists, favorites, and listening history while sharing the same music library — ideal for families or shared households. Native iOS, Android, and F-Droid apps maintained as separate repositories provide offline caching, background playback, and server discovery for mobile listening. The admin panel manages user accounts, configures media paths, and sets Discogs API tokens for automatic cover art retrieval. Deployment requires one Docker command — `docker run -p 80:80 ghcr.io/blackcandy-org/blackcandy:latest` — with persistent storage volumes for the SQLite database and media directory. For larger deployments, switch to PostgreSQL via environment variables with dedicated database URLs for ActionCable, SolidQueue, and SolidCache. Running on a dedicated VPS on RepoCloud with guaranteed CPU, RAM, and SSD, full root SSH access, and a browser serial console. MIT licensed.
Minimax Music UI
Minimax Music UI turns a self-hosted MiniMax-Music3 model into a private song factory, giving you a Suno-style studio where you describe a track, add lyrics, and watch finished songs appear in your own library. The Create panel works in Simple or Custom mode: write a style description covering genre, BPM, key, vocals, and arrangement, then shape words in a lyrics editor with one-tap [Verse], [Chorus], [Bridge], and [Instrumental] section chips. One submit can queue up to four takes at 5 to 360 seconds each, and the render queue shows queued, rendering, and done states with elapsed time, cancel, and retry, surviving a server restart without losing your place. When you run the bundled inference server, you can even press play on a track that is still rendering and hear the waveform grow in real time. A magic wand rewrites rough ideas into structured music captions, and a second wand drafts original lyrics sized to your chosen duration, both through any OpenAI-compatible model you point it at. Finished renders land in a searchable library with cover art, seeds, and render times, ready to download as WAV, reuse as a template, or open in a detail panel with the prompt and lyrics. A sticky waveform player with seek and keyboard shortcuts keeps music going while you work, and an optional access token locks the whole studio down. Running on a dedicated VPS on RepoCloud with guaranteed CPU, RAM, and SSD, full root SSH access, and a browser serial console. MIT licensed.
Airstation
Airstation turns your music folder into a radio station where every listener hears the same second of the same song at the same time. From the studio panel you upload tracks once, and they stay in a permanent library you can search and sort by date added, name, or duration. Build the broadcast queue by dragging tracks into order, reshuffle it whenever the mood changes, let it cycle endlessly, shuffle it randomly, or pause the station entirely when the day is done. Playlists group tracks for recurring shows, and the playback history shows listeners what has already aired. Anyone with the link opens the player page and is listening within seconds, no account and no app install, while a live counter tells you how many people are tuned in right now. The player page itself can be retitled to match your station's name. Friends get a shared listening moment instead of another playlist link, communities get a station that plays their own rotation around the clock, and collectors get to hear their library the way radio always felt: live, shared, and slightly out of your control once it starts. Running on a dedicated VPS on RepoCloud with guaranteed CPU, RAM, and SSD, full root SSH access, and a browser serial console. MIT licensed.
Substreamer
A free, polished web client for Subsonic-compatible music servers: Substreamer is the browser-based frontend you point at your existing streaming backend to play your own library from anywhere. It speaks the Subsonic API (v1.13 and higher), which makes it compatible with the whole ecosystem that has grown around that protocol: the original Subsonic server, its forks Airsonic and Madsonic, and modern implementations like Navidrome and Ampache. That decoupling is the point - your music files, transcoding, and library indexing live on whichever server you prefer, while Substreamer provides the listening experience: browse by artist, album, and genre, build and manage playlists, search your collection, and stream on demand. This RepoCloud deployment runs the containerized web edition, so the same interface is available from any browser without installing a native app, and it pairs with the Substreamer mobile apps that made the client popular. For anyone assembling a self-hosted Spotify replacement - typically Navidrome for the backend plus a good client - Substreamer fills the client half with a clean, familiar player UI. Because it is a stateless client, the container is lightweight and low-maintenance: connect it to your server's URL and credentials, and your entire collection is streaming in minutes, with no subscription and no catalog that can disappear.
Explo
Every Tuesday, a fresh fifty-song playlist lands in your own music server, built from what you actually listened to: Explo is a self-hosted discovery engine that turns ListenBrainz recommendations into playlists inside Navidrome, Jellyfin, Plex, and other home music systems. It fetches Weekly Exploration, Weekly Jams, and Daily Jams, then goes and gets the tracks, requesting songs from YouTube or Soulseek or whole albums through Lidarr, tagging downloads with proper metadata on the way in. Custom playlists import from Spotify, Apple Music, and ListenBrainz, so a list a friend made elsewhere becomes local files and a native playlist in your library. The web interface handles setup, schedules, and import history; last week's playlist can be kept for later listening instead of overwritten, and notifications report each run. For people who left streaming behind but miss algorithmic discovery, this closes the loop between a scrobble history and a self-hosted collection that keeps growing on its own. Running on a dedicated VPS on RepoCloud with guaranteed CPU, RAM, and SSD, full root SSH access, and a browser serial console. MIT licensed.
Tidarr
Tidarr turns a Tidal subscription into a personal music archive you control, downloading tracks, albums, playlists, mixes, and music videos at up to 24-bit 192 kHz FLAC quality. Search by keyword or paste an artist, album, playlist, track, or mix URL, then queue downloads that are processed on the server and filed into your library folder. Playlists, mixes, favorites, and artists can be watched and synced on a schedule, existing tracks are skipped, and covers and M3U playlist files are generated with customizable paths. Optional OpenID Connect or password protection secures the interface on port 8484, and the quality selector can be locked for shared instances. Downloaded releases are tagged on the fly by Beets, custom shell scripts can run in the post-processing pipeline, and finished additions trigger library refreshes in Plex, Jellyfin, or Navidrome. Completion notifications arrive through Gotify, Ntfy, Apprise, or a Mattermost webhook. Lidarr can use Tidarr as both a Newznab indexer and a SABnzbd download client, folding high-quality acquisition into an existing monitored library workflow. ReplayGain values, download history, rate-limited modes, and custom CSS round out daily use, and a REST API exposes the same functions to external automation. Running on a dedicated VPS on RepoCloud with guaranteed CPU, RAM, and SSD, full root SSH access, and a browser serial console. MIT licensed.