Ferramenta auto-hospedada que sincroniza listas para assistir, notas, histórico e progresso entre servidores de mídia como Plex, Jellyfin e Emby e trackers como Trakt e SIMKL.
arabcoders/watchstate
Serviço auto-hospedado que sincroniza o estado de reprodução entre servidores de mídia Plex, Jellyfin e Emby sem serviços de terceiros.
- Estrelas
- 1,609
- Forks
- 30
- Issues abertas
- 2
- Último commit
- há 5 dias
O que é?
O WatchState mantém o estado de reprodução dos usuários (se foi assistido e o progresso) sincronizado entre servidores de mídia Plex, Jellyfin e Emby. Ele roda na sua própria infraestrutura e não depende de serviços externos de sincronização.
A sincronização pode ser unidirecional ou many-to-many entre os backends. O estado de reprodução também pode ser exportado em um formato portátil para backup. Os usuários são gerenciados por meio de identidades, permitindo vincular várias contas de cada servidor.
As atualizações chegam por webhooks enviados pelos servidores de mídia ou por tarefas de importação agendadas e sob demanda, que capturam tudo o que os webhooks não detectarem. O projeto também inclui o recurso Media Health, que identifica problemas nos registros, e uma busca nos metadados dos backends. Ele é distribuído como uma imagem Docker com uma interface web.
Recursos principais
- 01Sincroniza o estado de reprodução entre Plex, Jellyfin e Emby, de forma unidirecional ou many-to-many.
- 02Recebe eventos de webhook dos servidores de mídia para atualizar o progresso quase em tempo real.
- 03Exporta o estado de reprodução em um formato portátil para backup.
- 04Oferece suporte a vários usuários por meio de identidades.
- 05Inclui verificações do Media Health para identificar problemas nos registros.
- 06Roda como um contêiner Docker auto-hospedado com uma interface web.
Casos de uso
- Manter o status de conteúdo assistido sincronizado quando uma casa usa Plex e Jellyfin.
- Migrar ou fazer backup do histórico de reprodução de um servidor de mídia.
- Evitar enviar dados de visualização para serviços de sincronização de terceiros.
Início rápido
- 1
Crie um compose.yaml com o serviço WatchState ao lado de um diretório de dados
- 2
Inicie o contêiner com Docker Compose
mkdir -p ./data && docker compose up -d - 3
Acesse http://localhost:8080 e crie um usuário do sistema no primeiro acesso
Antes de usar
- Versões anteriores à 1.10.9 são afetadas por vulnerabilidades no runtime do PHP. Portanto, atualize para a versão 1.10.9 ou posterior e recrie o contêiner.
- Para que os registros existentes possam corresponder por caminho, é necessário fazer uma importação completa antes, pois a correspondência por caminho agora vem ativada por padrão.
- Usuários do Podman devem definir o usuário do contêiner como 0:0. No Unraid ou em caso de problemas de permissão, talvez seja necessário ajustar o ID do usuário.
Em coleções
Tópicos
Perguntas frequentes
- O que é watchstate?
- Serviço auto-hospedado que sincroniza o estado de reprodução entre servidores de mídia Plex, Jellyfin e Emby sem serviços de terceiros. O WatchState mantém o estado de reprodução dos usuários (se foi assistido e o progresso) sincronizado entre servidores de mídia Plex, Jellyfin e Emby. Ele roda na sua própria infraestrutura e não depende de serviços externos de sincronização.
- watchstate é gratuito? Qual é a licença?
- watchstate é open source sob a licença MIT. Confira os termos da licença antes de usá-lo em produtos comerciais.
- watchstate ainda é mantido?
- Manutenção ativa. O último commit de watchstate foi em 2 de nov. de 2026.
- Para que posso usar watchstate?
- Manter o status de conteúdo assistido sincronizado quando uma casa usa Plex e Jellyfin. Migrar ou fazer backup do histórico de reprodução de um servidor de mídia. Evitar enviar dados de visualização para serviços de sincronização de terceiros.
- Como instalar watchstate?
- Crie um compose.yaml com o serviço WatchState ao lado de um diretório de dados Inicie o contêiner com Docker Compose: mkdir -p ./data && docker compose up -d Acesse http://localhost:8080 e crie um usuário do sistema no primeiro acesso
- Onde consigo watchstate?
- O código-fonte e as instruções de instalação estão no GitHub: https://github.com/arabcoders/watchstate
Resumo gerado por IA a partir do README do projeto. As estatísticas do GitHub são atualizadas diariamente.
Projetos relacionados
Rastreador de mídia auto-hospedado que sincroniza bibliotecas e histórico de reprodução do Jellyfin, Plex, Emby, Nuvio e Stremio.
Aplicativo web open source para solicitar filmes e séries, com fluxo de aprovação para bibliotecas Jellyfin, Plex e Emby.
Ombi é uma ferramenta auto-hospedada para solicitar mídias, que permite pedir filmes, músicas e séries e sincroniza com Plex, Emby e Jellyfin.
Ferramenta para manutenção de bibliotecas do Plex, Jellyfin e Emby, que usa regras para reunir mídias não assistidas ou não solicitadas e removê-las após um período de carência.
Dashboard de monitoramento em tempo real para servidores Plex, Jellyfin e Emby, com dados de transmissões, análises de reprodução e detecção de compartilhamento de contas.