106 lines
4.6 KiB
Markdown
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
|