Actualiza o vuelve a una versión anterior de medialab Server desde la interfaz web, con copia de seguridad automática

Guía práctica de Self-Update: copia de seguridad de la base de datos y la configuración, actualiza o vuelve a una versión anterior de medialab Server desde la interfaz web de Jellyfin y deja que el servidor regrese solo a la versión previa si la nueva no arranca.

Actualizar un servidor de medios debería ser aburrido. En la práctica es el momento en el que todo se rompe: se ejecuta una migración de la base de datos, un plugin deja de cargarse y el servidor ya no vuelve a responder. Normalmente te enteras desde una terminal, con apt y unos minutos de tensión mirando los logs.

Self-Update saca la terminal de esa ecuación. Es un plugin de Jellyfin que actualiza o vuelve a una versión anterior de medialab Server (la variante de Jellyfin 12.2 de MediaLab Works) desde la interfaz web. Antes de instalar nada hace una copia de seguridad de la base de datos y la configuración, y si la nueva versión no arranca correctamente el servidor vuelve solo a la anterior. Eso es lo que hace que una reversión sea lo bastante segura como para hacerla desde el navegador.

Este tutorial cubre el recorrido completo: comprobar versiones, actualizar, volver a una versión anterior, la comprobación diaria a las 03:00 y la actualización automática opcional. La página del producto está en /products/jf-selfupdate y la referencia detallada es la guía de usuario.

Requisitos

  • medialab Server instalado desde sus paquetes (medialab-server y medialab-server-web) en Debian o Ubuntu. Esos paquetes traen el actualizador: /usr/lib/medialab-server/update.sh, las unidades systemd medialab-update.path y medialab-update.service, y la carpeta /var/lib/medialab-update.
  • Al menos 1 GB libre en /usr/lib. Con menos, la actualización se detiene con Not enough disk space.
  • Una cuenta de MediaLab Works con una licencia que cubra el plugin (una suscripción activa, una licencia de por vida dentro de su ventana de actualizaciones, el bundle de Jellyfin o la prueba gratuita de 30 días) para actualizar y volver a una versión anterior. Comprobar las versiones funciona sin licencia.
  • Acceso de administrador al panel de Jellyfin. La API del plugin solo responde a administradores de Jellyfin.

Si medialab Server se instaló desde un archivo, una instalación portable o una compilación local, falta el actualizador: la página explica cómo instalar desde los paquetes y las acciones están desactivadas. En Jellyfin oficial la página solo muestra cómo cambiar a medialab Server, que conserva tus datos, usuarios, bibliotecas y plugins.

Paso 1 — Instala el plugin

Desde tu repositorio privado de plugins (recomendado). Así Jellyfin instala y actualiza el plugin por sí mismo.

  1. En tu cuenta de MediaLab Works abre Licenses → Jellyfin plugin repository y haz clic en Create address. Cópiala. Es privada porque contiene un token, así que no la compartas; puedes regenerarla o revocarla en cualquier momento.
  2. En Jellyfin abre Dashboard → Plugins → Repositories, haz clic en +, ponle un nombre (por ejemplo MediaLab Works), pega la dirección y guarda.
  3. En Dashboard → Plugins → Catalog busca Self-Update by MediaLab, haz clic en Install y reinicia el servidor.

Desde el catálogo público. https://medialab.works/jellyfin/manifest.json lista todos los plugins publicados de MediaLab Works; medialab Server lo añade por sí mismo.

Manualmente, desde un archivo zip. Descarga jf-selfupdate_x.y.z.zip desde Account → Licenses (el SHA-256 se muestra junto al botón), extráelo en una carpeta nueva Self-Update by MediaLab_x.y.z.0 dentro de /var/lib/jellyfin/plugins/ en una instalación por paquetes y reinicia el servidor.

Paso 2 — Activa la licencia

  1. Abre Dashboard → Plugins → Self-Update by MediaLab y haz clic en License (la página Server update también tiene un botón License).
  2. Pega tu clave de licencia y haz clic en Activate with key. El plugin vincula la clave a este servidor y muestra la licencia como Active.
  3. ¿Todavía no tienes clave? En la misma página introduce tu correo y empieza la prueba de 30 días, o compra una licencia; el plugin se activa solo cuando se completa el pago.

La licencia se comprueba una vez al día y en cada arranque del servidor, y de nuevo antes de una actualización, una reversión o una actualización automática, salvo que se haya comprobado poco antes. Sin internet sigue siendo válida durante 7 días tras la última comprobación correcta. Move license (release this server) en la página License libera la clave para otro servidor.

Paso 3 — Comprueba ahora y lee la lista de versiones

Abre Server update en el menú del panel de Jellyfin (solo administradores).

  • Installed version muestra la revisión de medialab, el paquete instalado (por ejemplo 12.2+ml4+deb12), la versión de Jellyfin y la versión más reciente encontrada en la última comprobación.
  • Haz clic en Check now. El actualizador lee el repositorio de medialab y la lista Available versions muestra todas las versiones, marcadas como installed, newer u older.

Hazlo antes de planificar cualquier mantenimiento. Es una operación de solo lectura y funciona sin licencia.

Paso 4 — Actualiza a la versión más reciente, o a una que elijas

  • Update to x instala la versión más reciente.
  • Install junto a una versión instala esa.
  • Roll back to the previous version va a la versión inmediatamente anterior a la instalada; Roll back junto a una versión más antigua va a esa. Desde medialab Server 12.2-ml.7 en adelante, volver a una versión anterior a 12.2-ml.7 se rechaza a propósito, porque las versiones más antiguas tienen el actualizador menos seguro.

Todas las acciones piden primero una confirmación. Léela: te recuerda que el servidor se reinicia, así que la reproducción en curso se detiene; que antes se hace una copia de seguridad de la base de datos y la configuración; y que si el servidor no arranca correctamente vuelve solo a la versión actual.

Mientras hay una actualización en curso, o mientras una solicitud espera a ser recogida, se rechaza una nueva solicitud.

Paso 5 — Sigue el progreso durante el reinicio

Current operation sigue la solicitud: enviada, en ejecución, The server is restarting…, y después la página se recarga sola cuando el servidor vuelve a responder. El reinicio suele tardar de 1 a 3 minutos.

Last result muestra después cómo terminó:

  • succeeded;
  • failed, rolled back automatically, con la versión a la que volvió el servidor;
  • refused, con el motivo, por ejemplo una versión que no está en el repositorio.

En el caso poco habitual de que el servidor tampoco responda después de volver, la página muestra dónde está la copia de seguridad.

Paso 6 — La comprobación diaria a las 03:00 y las actualizaciones automáticas opcionales

La tarea programada Check for medialab Server updates (categoría medialab, todos los días a las 03:00) solo comprueba el repositorio. No instala nada.

En Automatic update:

  • Install new versions automatically está desactivado por defecto.
  • Update hour (server time) es la hora a la que se puede instalar una nueva versión (04:00 si no la cambias). Haz clic en Save.

Con la actualización automática activada y una licencia válida, cuando la última comprobación encontró una versión más reciente que la instalada, se instala a la hora elegida, como máximo una vez al día, con la misma copia de seguridad y reversión automática que una actualización manual. Puedes cambiar la hora de la propia comprobación en Dashboard → Scheduled Tasks.

Consejos y solución de problemas

  • Sin sudo, por diseño. El plugin se ejecuta como el usuario jellyfin y solo escribe un archivo de solicitud, /var/lib/medialab-update/request.json. El servicio root medialab-update lo valida de forma estricta: la acción debe ser update, rollback o check, la versión debe tener el formato exacto de paquete (por ejemplo 12.2+ml4+deb12) y debe existir en el repositorio. Solo se instalan los paquetes medialab-server y medialab-server-web, y solo desde el repositorio apt firmado de medialab, cuya dirección está fijada en el servidor y nunca viene de la solicitud. Si se rechaza una solicitud, es esta comprobación haciendo su trabajo.
  • Espacio libre primero. Revisa /usr/lib antes de un salto grande. Not enough disk space es el fallo evitable más habitual.
  • Elige una hora tranquila. Una actualización reinicia el servidor; la reproducción en curso se detiene de 1 a 3 minutos. La comprobación a las 03:00 y la hora de instalación por defecto a las 04:00 son un buen punto de partida para un servidor doméstico.
  • ¿Acciones rechazadas? Actualizar, volver a una versión anterior y la actualización automática necesitan una licencia válida; sin ella, comprobar sigue funcionando y no se borra nada. Mira la página License.
  • Actualizaciones del plugin y licencias de por vida. El catálogo público ofrece siempre la versión más reciente del plugin. Cuando la ventana de actualizaciones de una licencia de por vida ha terminado, una versión más reciente del plugin no está licenciada y se detiene con "version not licensed" hasta que uses Roll back to x.y.z en su página License o compres un pase de actualización. Para evitarlo, usa tu repositorio privado, que solo ofrece las versiones que permite tu licencia, en lugar del catálogo público.
  • Contenedores. En un contenedor, actualiza descargando la nueva etiqueta de imagen (12.2-ml.N) y recreando el contenedor; Self-Update muestra las versiones disponibles pero no instala paquetes en un contenedor.

Conclusión

Lo valioso no es el botón, sino el orden de las operaciones que hay detrás: copia de seguridad de la base de datos y la configuración, instalar y, si el servidor no vuelve, regresar a la versión anterior y restaurar la copia de seguridad automáticamente. Con la comprobación diaria a las 03:00 haciendo la lectura y la actualización automática desactivada hasta que decidas lo contrario, mantienes el control sin tener una terminal abierta. Empieza en /products/jf-selfupdate, ten a mano la guía y el changelog y, si algo no cuadra, la base de conocimiento y las FAQ son las siguientes paradas.

Esta publicación se redactó con ayuda de IA a partir de la documentación de nuestros productos o de las fuentes indicadas y se revisó automáticamente antes de publicarse.

Sigue leyendo

¿Usas Emby, Jellyfin o Nextcloud?

Nuestros plugins y apps añaden TV en directo, subtítulos, registro de usuarios y seguridad a tu propio servidor, con prueba gratuita.