Música · Streaming · Beets · Metadatos
Navidrome + Beets — Servidor de música con organización automática¶
Como Spotify pero con tu propia música, sin anuncios y sin algoritmos. Beets organiza automáticamente los metadatos y carátulas. Navidrome sirve la música en streaming a todos los dispositivos.
Como usuario¶
Navidrome: - Explorar por artista, álbum o género - Crear playlists - Marcar favoritos - Escuchar sin conexión (descargar álbumes) - Apps compatibles con Subsonic
Beets: No se usa directamente — trabaja en silencio organizando la música.
| Plataforma | Acceso |
|---|---|
| Navegador | https://musica.sc |
| Ubuntu | Navegador (https://musica.sc) |
| Android | DSub (gratis) / Symfonium (~5€, mejor interfaz) |
| FireTV | No aplica |
Configurar app Android: tipo servidor → Subsonic/Navidrome → URL: https://musica.sc → usuario y contraseña SmallCountry.
El flujo: Lidarr descarga música → Beets corrige metadatos, carátulas y nombres → Navidrome la sirve en streaming.
Integración con otros servicios de SmallCountry¶
| Servicio | Relación |
|---|---|
| Lidarr | Adquisición de música |
| Jellyfin | Puede acceder a la misma biblioteca musical |
| n8n | Ciclo de vida |
| Arr Stack | Stack de adquisición |
Servicios que lo hacen posible¶
- Navidrome — Servidor de streaming compatible Subsonic
- Beets — Organizador de metadatos musicales (MusicBrainz)
- ZFS (sistema de archivos con integridad de datos) — Almacenamiento de la biblioteca musical
Para el administrador (diseño previsto)
| Parámetro | Valor |
|---|---|
| LXC (contenedor ligero de Proxmox) | 173 |
| IP | 10.10.20.173 |
| Tier | 3 |
| Impacto | 🟢 Bajo |
ZFS persistente: SATA /music/ (biblioteca musical).
Docker compose con Navidrome.
Healthcheck: curl en Navidrome.
Logs: docker compose logs -f dentro del LXC.
Backup: PBS (sistema de copias de seguridad de Proxmox) diario.
Beets: Usa MusicBrainz para corregir metadatos. Se ejecuta como job batch disparado por n8n tras nuevas descargas.
Problemas comunes:
- «No aparece música nueva» → ejecutar beet import /music/incoming/ manualmente.
- «Metadatos incorrectos» → revisar logs de Beets, puede requerir intervención manual con beet modify.
- «Navidrome no arranca» → verificar que el directorio /music/ está montado.
Para el arquitecto (diseño previsto)
graph TD
LIDARR[Lidarr] -->|Descarga| MUSIC_DIR[SATA /music/]
N8N[n8n] -->|Dispara| BEETS[Beets CLI]
BEETS -->|Corrige metadatos| MUSICBZ[MusicBrainz]
BEETS -->|Organiza| MUSIC_DIR
MUSIC_DIR -->|Sirve| NAVIDROME[Navidrome :4533]
CADDY[Caddy] -->|musica.sc| NAVIDROME
AUTHENTIK[Authentik] -->|Proxy| CADDY
USUARIO[Usuario] -->|Streaming| CADDY
USUARIO -->|App Subsonic| CADDY
Bridge / Puertos: vmbr2. Navidrome 4533, Beets sin puerto (solo CLI).
Pi-hole: musica.sc → 10.10.20.173.
Caddy: forward_auth + reverse_proxy a :4533.
Authentik: Provider Proxy, grupo familia.
Orquestación: Beets se ejecuta como job batch disparado por n8n tras nuevas descargas.
| Artefacto | Ruta |
|---|---|
| Playbook | deploy-navidrome.yml |
| Rol | roles/navidrome/ |
| Tofu | modules/navidrome/ |