4.6 KiB
title, created, updated, type, tags, confidence, contested, sources
| title | created | updated | type | tags | confidence | contested | sources | |||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| NextBeats | 2026-06-07 | 2026-06-07 | app |
|
medium | false |
|
📻 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
# 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
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
localStoragenavigateur, 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 auditrégulièrement, surtout sur repo archivé. - Build :
next buildproduit 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