Files
2026-06-09 18:40:21 +02:00

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

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