2.9 KiB
2.9 KiB
title: Black Candy created: 2026-06-08 updated: 2026-06-08 type: app tags: [catalogue, music-streaming, app-marathon3-rattrapage-final-a] confidence: medium contested: false sources: [https://selfh.st/apps/?tag=Music%20Streaming&app=black-candy]
🍬 Black Candy
Serveur de streaming musical minimaliste en Ruby on Rails, avec interface moderne type Spotify.
📋 Informations Générales
| Champ | Valeur |
|---|---|
| Site web | blackcandy.vercel.app |
| GitHub | blackcandy-org/blackcandy |
| License | MIT |
| Langage | Ruby |
| Étoiles GitHub | ~0.7k ⭐ |
| Catégorie | cat-music-streaming |
📝 Description
Black Candy est un serveur de streaming musical léger écrit en Ruby on Rails avec Stimulus + Tailwind pour le frontend. Il indexe une bibliothèque locale, génère des transcriptions HLS, supporte la recherche, les playlists, la lecture en continue et l'authentification multi-utilisateur. Interface épurée inspirée de Spotify, sans fioritures.
Différence vs Navidrome : stack Ruby on Rails monolithique (plus simple à débugger pour les Railsistes), contre Go+React pour Navidrome. Pour qui : amateurs de stack Ruby, petites collections personnelles (< 100k pistes).
🚀 Installation
Docker Compose (recommandé)
version: '3.8'
services:
blackcandy:
image: blackcandy/blackcandy:latest
container_name: black-candy
restart: unless-stopped
environment:
- RAILS_SERVE_STATIC_FILES=true
- DATABASE_URL=postgresql://blackcandy:blackcandy@db/blackcandy
- REDIS_URL=redis://redis:6379/0
depends_on:
- db
- redis
volumes:
- ./music:/music:ro
- ./storage:/rails/storage
labels:
traefik.enable: "true"
traefik.http.routers.blackcandy.rule: "Host(`music.example.com`)"
db:
image: postgres:16-alpine
environment:
POSTGRES_USER: blackcandy
POSTGRES_PASSWORD: blackcandy
POSTGRES_DB: blackcandy
volumes:
- ./db-data:/var/lib/postgresql/data
redis:
image: redis:7-alpine
🔄 Alternatives
Open Source
- app-navidrome — Référence moderne en Go
- app-funkwhale — Fédéré, multi-audio
- app-koel — Streaming musical Laravel/JS
Propriétaires
- Spotify — Streaming commercial dominant
- Apple Music — Catalogue Apple
🔐 Sécurité
- Auth : comptes locaux (Devise), pas d'OIDC natif
- Médias : URLs signées temporaires pour les streams
- Scan média : processus d'indexation Rscan, attention aux tags ID3 corrompus
📚 Ressources
Pages Liées
- cat-music-streaming — Catégorie Music Streaming
- app-navidrome — Concurrent principal
- recettes-docker-compose — Templates Docker