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

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
catalogue
music
lofi
radio
ambient
nextjs
typescript
medium false
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

# 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 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

Pages Liées