4.3 KiB
4.3 KiB
Automatización de Música (slskd + Soularr + Lidarr)
Ubicación: LXC 109 (Navidrome, TYAN) · Montado: 21 Sept 2026
Arquitectura
Lidarr (8686) ──► lista de álbumes/artistas que quieres
│ │
│ ▼
└──────────► Soularr (cron cada 30 min) ──► busca en Soulseek vía slskd
│
slskd (5030) ──► descarga a /var/lib/slskd/downloads
│
Soularr mueve/importa ──► Lidarr ──► /opt/navidrome/music
│
Navidrome (4533) ──► escaneo automático cada 1 h
Componentes
| Servicio | Puerto | Acceso | Función |
|---|---|---|---|
| Lidarr | 8686 | http://192.168.10.85:8686 | Gestión de artistas/álbumes deseados (la "lista") |
| slskd | 5030 | http://192.168.10.85:5030 (admin / Slskd2026!) | Cliente Soulseek con interfaz web |
| Soularr | — | cron */30 * * * * |
Conecta Lidarr ↔ Soulseek (descarga automática) |
| Navidrome | 4533 | https://navidrome.consultoria-as.com | Reproductor (escaneo automático @every 1h) |
Rutas y configuración
| Dato | Valor |
|---|---|
| Música final (Navidrome) | /opt/navidrome/music (13 GB, 2341 archivos) |
| Descargas slskd | /var/lib/slskd/downloads |
| Config Soularr | /opt/soularr/config.ini |
| Config slskd | /opt/slskd/slskd.yml |
| Config Lidarr | /var/lib/lidarr/ |
| Logs | journalctl -u slskd -u lidarr · /opt/soularr/soularr.log |
| Binarios | /opt/slskd/bin/slskd (0.26.0) · /opt/lidarr/Lidarr/ (3.1.0) |
Notas de instalación
- Instalados nativos (sin Docker): el LXC 109 no tiene Docker y tiene recursos holgados (10 GB RAM, 235 GB libres).
- Ambos binarios son .NET self-contained → requieren
DOTNET_BUNDLE_EXTRACT_BASE_DIR(configurado a/home/<usr>/.dotnet-extracten sus unit files); sin él fallan al arrancar. - Lidarr 3.x extrae su binario en
/opt/lidarr/Lidarr/Lidarr(subdirectorio, no en la raíz del tar). - Los comandos largos vía
pct execse cortan si la sesión SSH cae → usarsystemd-run --unit=<x> --collectdentro del contenedor para tareas largas (descargas, apt, pip).
Pendientes (configuración de usuario)
- Cuenta Soulseek en slskd: http://192.168.10.85:5030 → Settings → Soulseek (usuario/contraseña de la red Soulseek)
- Lidarr: agregar Root Folder
/opt/navidrome/musicy los artistas/álbumes deseados en http://192.168.10.85:8686 - Tras eso, Soularr (cron cada 30 min) buscará y descargará automáticamente
⚠️ Usar con contenido que se tenga derecho a descargar (compras propias, música libre, artistas que lo permitan).
⚠️ Configuración de slskd 0.26 — esquema YAML (Sept 2026)
El slskd 0.26 cambió los nombres de las secciones; con el esquema viejo ignora silenciosamente la configuración (síntoma: Not connecting to the Soulseek server; username and/or password invalid + escucha en el puerto default 50300 en vez del configurado).
Esquema correcto (/opt/slskd/slskd.yml):
directories:
downloads: /var/lib/slskd/downloads
incomplete: /var/lib/slskd/incomplete
web:
port: 5030
authentication:
username: admin
password: Slskd2026!
api_keys: # ← dentro de authentication (no como hermana de web)
- id: soularr
key: f62d4b3d70a3092dd9530c99736a2a5a
soulseek: # ← era `slskd:` en versiones viejas
username: Fransacreblue
password: Aasi940812
listen_port: 50300
Verificación
journalctl -u slskd -n 20 | grep -iE "logged|listening" # debe decir: Logged in ... as Fransacreblue
curl -s -H "X-API-Key: <key>" http://127.0.0.1:5030/api/v0/session # 200 = API OK
Cuenta Soulseek
- Usuario: Fransacreblue (creada por el usuario vía cliente Nicotine+, IP residencial)
- Con CGNAT no somos "connectable" (los peers no nos alcanzan), pero búsqueda y descarga funcionan vía conexiones indirectas — verificado: búsqueda de prueba devolvió 123 peers / 5,352 archivos.
- NOTA: los endpoints de la API de slskd para resultados están en
/searches/{id}/responses(no en/searches/{id}).