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 1 Sept 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.3k
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.5k
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.3k
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
207
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