Black Candy logo

Black Candy

Self-hosted music streaming server for personal libraries

4.4k stars 223 forks last commit first released MIT

Actively maintained

Last commit 26 Aug 2026.

Black Candy screenshot

Black Candy is an open-source, self-hosted music streaming server that provides a web-based music library and player for personal use. It scans a mounted media directory, builds a browsable catalog from audio metadata, and serves audio to web and mobile clients.

Key Features

  • Library indexing from a local media path (reads tags/metadata for artists, albums, tracks)
  • Web player with playback queue, playlists and search
  • Multi-user accounts and per-user preferences
  • Mobile client support (Android APK / F‑Droid and iOS app available) and responsive web UI
  • Docker images for easy deployment; supports environment variables for DB, media path and options
  • Uses SQLite by default; optional PostgreSQL support for larger deployments
  • Integrations: album/artist images via Discogs API; server-side audio handling via FFmpeg; image processing via libvips

Use Cases

  • Personal cloud music server to stream your own music library across devices
  • Small multi-user household or friend group music sharing with account separation
  • Developers or hobbyists building features or integrations on top of a Rails-based streaming backend

Limitations and Considerations

  • Default SQLite configuration may not scale well for very large libraries or many concurrent users; PostgreSQL is recommended for larger deployments
  • Edge/master images are considered unstable and may contain breaking changes or data-loss risks; use stable releases for production
  • Resource usage for large libraries (media scanning, transcoding with FFmpeg, image processing) can be significant and depends on host hardware

Black Candy is focused on delivering a simple, modern self-hosted music experience with mobile support and straightforward Docker deployment. It is suitable for personal and small-group use and can be scaled by using PostgreSQL and appropriate host resources.

Categories:

Tags:

Tech Stack:

Share:

Similar to Black Candy

Meelo logo

Meelo

Self-hosted personal music server focused on music collectors

1.4k
39
Last commit

Open-source self-hosted music server for collectors with flexible metadata parsing, multiple releases/versions support, music-video handling and Docker deployment.

GPL-3.0Actively maintained
Alternative to:
Plex logo
Plex
+9

LMS (Lightweight Music Server)

Self-hosted music streaming server with a web interface

1.7k
88
Last commit

Open-source C++ music server with web UI, Subsonic API, audio transcoding, recommendations, multi-library support and playlists/lyrics features.

GPL-3.0Actively maintained
Alternative to:
Plex logo
Plex
+11
Navidrome Music Server logo

Navidrome Music Server

Lightweight open-source web music server and streamer

23.1k
1.7k
Last commit

Open-source web music server that streams personal music collections via a modern web UI and Subsonic-compatible APIs; supports large libraries and on-the-fly transcoding.

GPL-3.0Actively maintained
Alternative to:
Plex logo
Plex
+13
Jellyfin logo

Jellyfin

Self-hosted media server for managing and streaming your library

56.2k
5.4k
Last commit

Jellyfin is a free, self-hosted media server to organize, manage, and stream movies, TV, music, and photos to web, mobile, and TV clients.

GPL-2.0Actively maintained
Alternative to:
Plex logo
Plex
+19
Navidrome logo

Navidrome

Web-based music server and personal audio streaming service

23.1k
1.7k
Last commit

Self-hosted music streaming server with a modern web UI, Subsonic-compatible API, multi-user support, and on-the-fly transcoding for large libraries.

GPL-3.0Actively maintained
Alternative to:
Plex logo
Plex
+13
mStream logo

mStream

Open-source personal music streaming server

2.4k
208
Last commit

Self-hosted Node.js music streaming server with web and mobile clients; supports FLAC/MP3, playlists, gapless playback and visualizer.

GPL-3.0Actively maintained
Alternative to:
Plex logo
Plex
+8