Repolode
arabcoders

arabcoders/watchstate

Servicio autoalojado que sincroniza el estado de reproducción entre servidores multimedia Plex, Jellyfin y Emby sin servicios de terceros.

Estrellas
1,609
Forks
30
Issues abiertos
2
Último commit
hace 5 días

¿Qué es?

WatchState mantiene sincronizado el estado de reproducción de los usuarios (si han visto el contenido y hasta dónde han llegado) entre servidores multimedia Plex, Jellyfin y Emby. Se ejecuta en tu propia infraestructura y no depende de servicios externos de sincronización.

La sincronización puede ser unidireccional o de muchos a muchos entre backends. También puedes exportar el estado de reproducción a un formato portable como copia de seguridad. Los usuarios se gestionan mediante identidades, de modo que se pueden vincular varias cuentas de cada servidor.

Las actualizaciones llegan mediante webhooks de los servidores multimedia o mediante tareas de importación programadas y bajo demanda, que detectan lo que no recogen los webhooks. El proyecto también incluye la función Media Health para encontrar problemas en los registros y permite buscar en los metadatos de los backends. Se distribuye como una imagen de Docker con una interfaz web.

Funciones clave

  • 01Sincroniza el estado de reproducción entre Plex, Jellyfin y Emby, de forma unidireccional o de muchos a muchos.
  • 02Recibe eventos webhook de los servidores multimedia para actualizar el progreso casi en tiempo real.
  • 03Exporta el estado de reproducción a un formato portable de copia de seguridad.
  • 04Admite varios usuarios mediante identidades.
  • 05Incluye comprobaciones de Media Health para encontrar problemas en los registros.
  • 06Se ejecuta como un contenedor Docker autoalojado con una interfaz web.

Casos de uso

  • Mantener sincronizado el estado de reproducción cuando en un hogar se usan Plex y Jellyfin.
  • Migrar o hacer una copia de seguridad del historial de reproducción de un servidor multimedia.
  • Evitar enviar datos de visualización a servicios de sincronización de terceros.

Inicio rápido

  1. 1

    Crea un compose.yaml con el servicio WatchState junto a un directorio de datos

  2. 2

    Inicia el contenedor con Docker Compose

    mkdir -p ./data && docker compose up -d
  3. 3

    Abre http://localhost:8080 y crea un usuario del sistema la primera vez que accedas

Antes de usarlo

  • Las versiones anteriores a la 1.10.9 están afectadas por vulnerabilidades del runtime de PHP, así que actualiza a la 1.10.9 o posterior y vuelve a crear el contenedor.
  • Para que los registros existentes puedan coincidir por ruta, primero hay que hacer una importación completa, ya que ahora la coincidencia por ruta está activada de forma predeterminada.
  • Los usuarios de Podman deben establecer el usuario del contenedor en 0:0. En Unraid o si hay problemas de permisos, puede ser necesario ajustar el ID de usuario.

En colecciones

Temas

Preguntas frecuentes

¿Qué es watchstate?
Servicio autoalojado que sincroniza el estado de reproducción entre servidores multimedia Plex, Jellyfin y Emby sin servicios de terceros. WatchState mantiene sincronizado el estado de reproducción de los usuarios (si han visto el contenido y hasta dónde han llegado) entre servidores multimedia Plex, Jellyfin y Emby. Se ejecuta en tu propia infraestructura y no depende de servicios externos de sincronización.
¿watchstate es gratuito? ¿Qué licencia tiene?
watchstate es open source bajo la licencia MIT. Revisa los términos de la licencia antes de usarlo en productos comerciales.
¿watchstate sigue mantenido?
Mantenimiento activo. El último commit de watchstate fue el 2 nov 2026.
¿Para qué puedo usar watchstate?
Mantener sincronizado el estado de reproducción cuando en un hogar se usan Plex y Jellyfin. Migrar o hacer una copia de seguridad del historial de reproducción de un servidor multimedia. Evitar enviar datos de visualización a servicios de sincronización de terceros.
¿Cómo se instala watchstate?
Crea un compose.yaml con el servicio WatchState junto a un directorio de datos Inicia el contenedor con Docker Compose: mkdir -p ./data && docker compose up -d Abre http://localhost:8080 y crea un usuario del sistema la primera vez que accedas
¿Dónde consigo watchstate?
El código fuente y las instrucciones de instalación están en GitHub: https://github.com/arabcoders/watchstate

Resumen generado por IA a partir del README del proyecto. Las estadísticas de GitHub se actualizan a diario.

Proyectos relacionados

Herramienta autoalojada que sincroniza listas, puntuaciones, historial y progreso de reproducción entre servidores multimedia como Plex, Jellyfin y Emby, y servicios como Trakt y SIMKL.

995+15 esta semana28PythonAGPL-3.0Bien mantenidoActualizado hace 20 horas