Files
wiki/Catalogue-Self-Hosted/apps/app-nextbeats.md
T
2026-06-09 18:40:21 +02:00

106 lines
4.6 KiB
Markdown

---
title: NextBeats
created: 2026-06-07
updated: 2026-06-07
type: app
tags: [catalogue, music, lofi, radio, ambient, nextjs, typescript]
confidence: medium
contested: false
sources:
- https://selfh.st/apps/?tag=music
- https://github.com/btahir/next-beats
---
# 📻 NextBeats
> Lecteur de musique **lofi / ambient** moderne en Next.js, avec ambiance « rétro TV », superposition de bruitages (pluie, café, feu) et chaînes YouTube customisables. **Repo archivé janvier 2026** (lecture seule).
| Métadonnée | Valeur |
| :--- | :--- |
| **Site web** | https://nextbeats.vercel.app |
| **GitHub** | https://github.com/btahir/next-beats |
| **License** | MIT |
| **Langage** | TypeScript (Next.js 14) + Tailwind |
| **Étoiles** | 26 ⭐ |
| **Dernière MAJ** | 2026 (archivé jan. 2026) |
| **Catégorie** | [[cat-music]] |
## Description
NextBeats n'est pas un *music server* à proprement parler — c'est un **lecteur ambiant web** dans la veine de Lofi Girl ou Radio Garden, mais self-hostable. L'idée : reproduire l'expérience d'un stream lofi pour coder/étudier, avec la possibilité d'**empiler des couches d'ambiance** (pluie, café, feu, vent) par-dessus la musique, et de **brancher ses propres chaînes YouTube** (Lofi Girl, chillhop, jazz lofi). UI « vieux TV cathodique » avec scanlines et glitch léger, rendu entièrement client (flux YouTube dans `<iframe>`).
**Statut** : le repo a été **archivé en lecture seule en janvier 2026** par btahir. Il reste utilisable en l'état et forkable (code propre, Next.js 14 moderne), mais ne recevra plus de mises à jour upstream. Bonne base pour un fork communautaire.
**Différenciation** vs [[app-funkwhale]], Navidrome, [[app-jellyfin]] : NextBeats **ne gère pas de bibliothèque locale**, ne scrobble pas, ne tag pas. C'est un pur *consommateur de flux web*. Son utilité est dans le **moment d'écoute** (focus, ambiance) et l'**esthétique**. Idéal en deuxième instance pour compléter un setup musical.
## Installation
### Docker Compose
```yaml
# docker-compose.yml
services:
nextbeats:
image: ghcr.io/btahir/next-beats:latest
container_name: nextbeats
restart: unless-stopped
ports:
- "3000:3000"
environment:
- TZ=Europe/Paris
- NODE_ENV=production
# pas de volumes persistants : settings en localStorage
```
### Installation manuelle
```bash
git clone https://github.com/btahir/next-beats
cd next-beats
npm install && npm run build && npm start
# UI sur :3000
```
## Configuration
- **Chaînes YouTube** : ajouter une URL de stream lofi → nom + description → sauvegardé en `localStorage`.
- **Sound effects** : 6 intégrés (café, clavier, feu, pluie, white noise, vent) + custom via URL YouTube.
- **Volumes indépendants** : slider musique / slider effets. Sur mobile, contrôle programmatique limité → boutons hardware.
- **Thèmes** : plusieurs palettes (rétro TV par défaut).
- **Persistance** : tout en `localStorage` navigateur, **pas de synchro multi-device**.
## Alternatives
### Open Source
- **Lofi-Girl-Player** (forks) — clones Lofi Girl sans ambiances empilables.
- **Radio Garden** (site public) — radios FM du monde en globe 3D, non self-hosté.
- [[app-funkwhale]] ou [[app-jellyfin]] + chaînes IPTV lofi — détournement.
- [[app-homepage]] — widget embarquant un player lofi.
### Propriétaires
- **Lofi Girl** (YouTube) — non self-hosté, dépend de YouTube.
- **Chillhop Music** — idem.
- **Endel** — algo génératif ambiant, fermé, abonnement.
- **Noisli** — mix d'ambiances freemium.
## Sécurité
- **Repo archivé** : pas de patchs sécurité → ne pas exposer directement sur Internet sans reverse-proxy WAF ([[app-traefik]] + Crowdsec) et sur sous-domaine dédié.
- **YouTube IFrame API** : contenu servi côté client, IP navigateur loguée par Google.
- **Pas d'auth** intégrée, accès libre sur LAN ou exposition.
- **localStorage** : pas de PII, juste préférences UX, RGPD-safe.
- **Dépendances npm** : `npm audit` régulièrement, surtout sur repo archivé.
- **Build** : `next build` produit du SSR — vérifier qu'aucun secret n'est embarqué.
## Ressources
- Repository : https://github.com/btahir/next-beats
- Démo live : https://nextbeats.vercel.app (instance publique du mainteneur)
- Next.js : https://nextjs.org/
## Pages Liées
- [[cat-music]] — catégorie parente
- [[app-funkwhale]] — serveur musical « sérieux » (complément)
- [[app-jellyfin]] — alternative serveur
- [[app-homepage]] — dashboard pour embarquer NextBeats
- [[app-traefik]] — reverse proxy
- [[recettes-docker-compose]] — templates
- [[securisation-home-lab]] — bonnes pratiques