Initial vault setup
This commit is contained in:
@@ -0,0 +1,92 @@
|
||||
---
|
||||
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](https://blackcandy.vercel.app) |
|
||||
| **GitHub** | [blackcandy-org/blackcandy](https://github.com/blackcandy-org/blackcandy) |
|
||||
| **License** | MIT |
|
||||
| **Langage** | Ruby |
|
||||
| **Étoiles GitHub** | ~0.7k ⭐ |
|
||||
| **Catégorie** | [[cat-music-streaming\|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é)
|
||||
|
||||
```yaml
|
||||
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
|
||||
- [Documentation](https://github.com/blackcandy-org/blackcandy#readme)
|
||||
- [GitHub](https://github.com/blackcandy-org/blackcandy)
|
||||
|
||||
## Pages Liées
|
||||
- [[cat-music-streaming]] — Catégorie Music Streaming
|
||||
- [[app-navidrome]] — Concurrent principal
|
||||
- [[recettes-docker-compose]] — Templates Docker
|
||||
Reference in New Issue
Block a user