Самостоятельно размещаемый инструмент для синхронизации списков просмотра, оценок, истории и прогресса воспроизведения между медиасерверами, такими как Plex, Jellyfin и Emby, и трекерами, например Trakt и SIMKL.
arabcoders/watchstate
Самостоятельно размещаемый сервис для синхронизации статуса просмотра между медиасерверами Plex, Jellyfin и Emby без сторонних сервисов.
- Звёзды
- 1,609
- Форки
- 30
- Открытые issues
- 2
- Последний коммит
- 6 дней назад
Что это?
WatchState поддерживает одинаковый статус просмотра пользователей (просмотрено и прогресс) на медиасерверах Plex, Jellyfin и Emby. Сервис работает на вашей инфраструктуре и не зависит от внешних сервисов синхронизации.
Синхронизация между бэкендами может быть однонаправленной или по схеме «многие ко многим». Статус просмотра также можно экспортировать в переносимый формат для резервного копирования. Для работы с пользователями используются идентификаторы: так можно сопоставить друг с другом несколько аккаунтов на каждом сервере.
Обновления поступают через вебхуки медиасерверов или из запланированных и запускаемых вручную задач импорта, которые обнаруживают изменения, пропущенные вебхуками. В проект также входит функция Media Health для поиска проблем с записями и поиск по метаданным бэкендов. Сервис поставляется в виде Docker-образа с веб-интерфейсом.
Ключевые возможности
- 01Синхронизирует статус просмотра между Plex, Jellyfin и Emby — однонаправленно или по схеме «многие ко многим».
- 02Получает события через вебхуки медиасерверов и обновляет прогресс почти в реальном времени.
- 03Экспортирует статус просмотра в переносимый формат для резервного копирования.
- 04Поддерживает нескольких пользователей с помощью идентификаторов.
- 05Включает проверки Media Health для поиска проблем с записями.
- 06Работает как самостоятельно размещаемый Docker-контейнер с веб-интерфейсом.
Сценарии использования
- Синхронизировать статус просмотра, если в доме используются и Plex, и Jellyfin.
- Перенести или сохранить резервную копию истории просмотров с медиасервера.
- Не отправлять данные о просмотре сторонним сервисам синхронизации.
Быстрый старт
- 1
Создайте compose.yaml со службой WatchState рядом с каталогом данных
- 2
Запустите контейнер с помощью Docker Compose
mkdir -p ./data && docker compose up -d - 3
Откройте http://localhost:8080 и при первом входе создайте системного пользователя
Что важно знать
- Версии до 1.10.9 подвержены уязвимостям среды выполнения PHP. Обновитесь до версии 1.10.9 или новее и пересоздайте контейнер.
- Чтобы существующие записи можно было сопоставлять по пути, сначала необходимо выполнить полный импорт, поскольку сопоставление по пути теперь включено по умолчанию.
- Пользователям Podman необходимо задать для пользователя контейнера значение 0:0. При использовании Unraid или проблемах с разрешениями может потребоваться изменить ID пользователя.
В подборках
Темы
Частые вопросы
- Что такое watchstate?
- Самостоятельно размещаемый сервис для синхронизации статуса просмотра между медиасерверами Plex, Jellyfin и Emby без сторонних сервисов. WatchState поддерживает одинаковый статус просмотра пользователей (просмотрено и прогресс) на медиасерверах Plex, Jellyfin и Emby. Сервис работает на вашей инфраструктуре и не зависит от внешних сервисов синхронизации.
- watchstate можно использовать бесплатно? Какая у него лицензия?
- watchstate распространяется с открытым исходным кодом под лицензией MIT. Перед использованием в коммерческих продуктах проверьте условия лицензии.
- watchstate всё ещё поддерживается?
- Активно поддерживается. Последний коммит в watchstate — 2 нояб. 2026 г..
- Для чего можно использовать watchstate?
- Синхронизировать статус просмотра, если в доме используются и Plex, и Jellyfin. Перенести или сохранить резервную копию истории просмотров с медиасервера. Не отправлять данные о просмотре сторонним сервисам синхронизации.
- Как установить watchstate?
- Создайте compose.yaml со службой WatchState рядом с каталогом данных Запустите контейнер с помощью Docker Compose: mkdir -p ./data && docker compose up -d Откройте http://localhost:8080 и при первом входе создайте системного пользователя
- Где скачать watchstate?
- Исходный код и инструкции по установке — на GitHub: https://github.com/arabcoders/watchstate
Описание создано ИИ на основе README проекта. Статистика GitHub обновляется ежедневно.
Похожие проекты
Самостоятельно размещаемый трекер фильмов и сериалов, синхронизирующий библиотеки и историю просмотров в Jellyfin, Plex, Emby, Nuvio и Stremio.
Веб-приложение с открытым исходным кодом для заявок на фильмы и сериалы с модерацией для медиатек Jellyfin, Plex и Emby.
Ombi — self-hosted приложение для запросов медиаконтента, которое синхронизируется с Plex, Emby и Jellyfin и позволяет запрашивать фильмы, музыку и сериалы.
Инструмент для обслуживания медиатеки Plex, Jellyfin и Emby: находит по правилам непросмотренный или незапрошенный контент и удаляет его по истечении льготного периода.
Панель мониторинга Plex, Jellyfin и Emby в реальном времени: потоки, аналитика воспроизведения и обнаружение совместного использования аккаунтов.