Documentación

Todo lo que necesitas para instalar, configurar y gestionar JRMPanel.

Instalación

JRMPanel se puede instalar en AlmaLinux 9.x/10.x o Rocky Linux 9.x/10.x con un solo comando. El instalador configura automáticamente todas las dependencias incluyendo Node.js 20, MariaDB, Nginx y la aplicación JRMPanel.

Requisitos del Sistema:

  • AlmaLinux 9.x / 10.x o Rocky Linux 9.x / 10.x
  • Mínimo 2 GB RAM (4 GB recomendado)
  • 20 GB de espacio en disco
  • Acceso SSH como root

Instalación Rápida:

wget -O install.sh https://jrmstream.com/install && bash install.sh

La instalación generalmente se completa en 5 minutos.

Configuración del Servidor

Después de la instalación, accede al Panel de Administración en https://tu-servidor:3083 para configurar los ajustes de tu servidor.

Configuración Principal:

  • Hostname: Establece el hostname de tu servidor y el dominio predeterminado
  • Puertos: Configura los rangos de puertos para Shoutcast/Icecast (predeterminado: 8000-9000)
  • Almacenamiento: Define las rutas de subida de música y los límites de almacenamiento
  • Firewall: JRMPanel auto-configura las reglas de firewalld para todos los puertos
  • Respaldo: Programa respaldos automatizados en almacenamiento local o remoto

Configuración de Shoutcast

JRMPanel soporta Shoutcast DNAS v1 y v2 (incluyendo v2.6). Crear una estación Shoutcast toma segundos desde el panel de administración.

Crear una Estación:

  1. Navega a Estaciones > Crear Nueva
  2. Selecciona "Shoutcast v2" como motor
  3. Establece el puerto, bitrate y máximo de oyentes
  4. Configura la contraseña de fuente y la contraseña de admin
  5. Haz clic en "Crear" — la estación inicia automáticamente

Características:

  • Soporte multi-mount (múltiples streams por estación)
  • Codificación AAC+ y MP3
  • Relay de stream y auto-failover
  • Gestión de listado en directorio público (YP)

Configuración de Icecast

JRMPanel soporta completamente Icecast 2.4 con streaming SSL, múltiples puntos de montaje y configuración de relays.

Crear una Estación Icecast:

  1. Navega a Estaciones > Crear Nueva
  2. Selecciona "Icecast 2.4" como motor
  3. Configura los puntos de montaje (ej., /stream, /mobile)
  4. Establece el formato de codificación (OGG Vorbis, MP3, OPUS, FLAC)
  5. Activa SSL si has configurado Let's Encrypt

Streaming HLS: JRMPanel puede generar streams HLS desde fuentes Icecast, permitiendo la reproducción en iOS Safari y otros reproductores compatibles con HLS.

AutoDJ (Liquidsoap)

JRMPanel usa Liquidsoap como motor de AutoDJ, proporcionando transmisión automatizada de nivel profesional.

Configurar AutoDJ:

  1. Activa AutoDJ en la página de configuración de la estación
  2. Sube música a través de la interfaz web o FTP (ProFTPD)
  3. Crea playlists: Rotación General, Programadas, Jingles
  4. Configura el tiempo de crossfade y las reglas de inserción de jingles
  5. Establece el comportamiento de respaldo cuando el DJ en vivo se desconecta

Programación de Playlists:

  • Programación basada en horario (reproduce playlists específicas a horas específicas)
  • Rotación basada en peso (controla la frecuencia de reproducción de canciones)
  • Mezcla inteligente (evita repeticiones)
  • Inserción de jingles cada N canciones

Certificados SSL

JRMPanel se integra con Let's Encrypt para proporcionar certificados SSL gratuitos para todas tus estaciones.

Configuración Auto-SSL:

  1. Asegúrate de que tu dominio apunte a la IP del servidor
  2. Navega a Configuración > SSL
  3. Ingresa tu dominio y haz clic en "Generar Certificado"
  4. JRMPanel despliega automáticamente el certificado en todas las estaciones
  5. Los certificados se auto-renuevan 30 días antes de su expiración

Streaming SSL: Una vez habilitado SSL, los oyentes pueden conectarse a través de streams HTTPS, lo cual es requerido para reproductores web modernos y elimina las advertencias de contenido mixto del navegador.

Integración con WHMCS

JRMPanel proporciona un módulo nativo de WHMCS para la provisión, suspensión y terminación automatizada de cuentas de radio hosting.

Configuración:

  1. Descarga el módulo WHMCS desde tu panel de JRMPanel
  2. Súbelo al directorio /modules/servers/jrmpanel/ de tu WHMCS
  3. Configura la conexión del servidor en WHMCS (hostname, clave API)
  4. Crea productos vinculados a los planes de JRMPanel

Acciones Automatizadas:

  • Crear: Provisiona estación + cuenta de cliente al activar la orden
  • Suspender: Suspende la estación cuando la factura está vencida
  • Reactivar: Reactiva la estación cuando se recibe el pago
  • Terminar: Elimina la estación al cancelar

Referencia de API

JRMPanel expone una API REST para el control programático de estaciones, clientes y recursos del servidor.

Autenticación: Todas las solicitudes API requieren una clave API válida enviada en el encabezado Authorization.

Endpoints Principales:

  • GET /api/stations — Listar todas las estaciones
  • POST /api/stations — Crear una nueva estación
  • GET /api/stations/{id} — Obtener detalles de la estación
  • POST /api/stations/{id}/restart — Reiniciar una estación
  • GET /api/stations/{id}/listeners — Oyentes actuales
  • GET /api/stats — Estadísticas globales del servidor

La documentación completa de la API está disponible dentro de tu panel de administración de JRMPanel en Configuración > API.

Solución de Problemas

La estación no inicia:

  • Verifica si el puerto ya está en uso: ss -tlnp | grep PUERTO
  • Verifica que firewalld permita el puerto: firewall-cmd --list-ports
  • Revisa los logs de la estación en el panel de administración

AutoDJ no reproduce:

  • Asegúrate de que los archivos de música estén subidos y las playlists no estén vacías
  • Verifica el proceso de Liquidsoap: systemctl status liquidsoap@STATION_ID
  • Verifica que los formatos de archivo sean compatibles (MP3, OGG, FLAC)

Errores de certificado SSL:

  • Asegúrate de que el DNS del dominio apunte a la IP del servidor
  • Verifica que el puerto 80 sea accesible (requerido para la validación de Let's Encrypt)
  • Intenta renovar manualmente: Configuración > SSL > Renovar

Alto uso de CPU:

  • Verifica el número de streams de transcodificación activos
  • Considera actualizar a un plan superior para más recursos
  • Monitorea con htop y verifica el uso por proceso