Repolode
arabcoders

arabcoders/watchstate

Plex、Jellyfin、Emby間で視聴状態を同期する、サードパーティサービス不要のセルフホスト型サービス。

スター
1,610
フォーク
30
未解決の Issue
2
最終コミット
6 日前

これは何?

WatchStateは、Plex、Jellyfin、Embyのメディアサーバー間で、ユーザーの視聴状態(視聴済みかどうかや再生位置)を同期します。自前のインフラで動作し、外部の同期サービスには依存しません。

バックエンド間の同期は、一方向または多対多で実行できます。視聴状態をポータブルな形式でエクスポートして、バックアップとして保存することもできます。ユーザーはIDで管理するため、各サーバーの複数のアカウントを互いに紐付けられます。

メディアサーバーからWebhookで更新を受け取るほか、Webhookで捕捉できなかった更新を取り込むための定期実行・オンデマンドのインポートタスクも利用できます。また、レコードの問題を検出するMedia Health機能と、バックエンドのメタデータを検索する機能を備えています。Dockerイメージとして提供され、Web UIも利用できます。

主な機能

  • 01Plex、Jellyfin、Emby間で視聴状態を一方向または多対多で同期します。
  • 02メディアサーバーからWebhookイベントを受信し、ほぼリアルタイムで再生位置を更新します。
  • 03視聴状態をポータブルなバックアップ形式でエクスポートします。
  • 04IDを使って複数のユーザーを管理できます。
  • 05レコードの問題を検出するMedia Healthチェックを備えています。
  • 06Web UIを備えたセルフホスト型のDockerコンテナとして動作します。

ユースケース

  • PlexとJellyfinを併用する家庭で、視聴済み状態を同期する。
  • メディアサーバーの視聴履歴を移行またはバックアップする。
  • 視聴データをサードパーティの同期サービスに送信せずに済ませる。

クイックスタート

  1. 1

    データディレクトリの隣に WatchState サービスを配置した compose.yaml を作成します

  2. 2

    Docker Compose でコンテナを起動します

    mkdir -p ./data && docker compose up -d
  3. 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 の最終コミットは 2026年11月2日 です。
watchstate は何に使えますか?
PlexとJellyfinを併用する家庭で、視聴済み状態を同期する。 メディアサーバーの視聴履歴を移行またはバックアップする。 視聴データをサードパーティの同期サービスに送信せずに済ませる。
watchstate のインストール方法は?
データディレクトリの隣に WatchState サービスを配置した compose.yaml を作成します Docker Compose でコンテナを起動します: mkdir -p ./data && docker compose up -d http://localhost:8080 を開き、初回アクセス時にシステムユーザーを作成します
watchstate はどこで入手できますか?
ソースコードとインストール手順は GitHub にあります:https://github.com/arabcoders/watchstate

概要はプロジェクトの README をもとに AI が生成しています。GitHub の数値は毎日更新されます。

関連プロジェクト

Plex、Jellyfin、Embyなどのメディアサーバーと、TraktやSIMKLなどのトラッカー間で、ウォッチリスト、評価、視聴履歴、再生状況を同期するセルフホスト型ツール。

995+14 今週28PythonAGPL-3.0活発にメンテナンス更新 3 時間前