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
データディレクトリの隣に WatchState サービスを配置した compose.yaml を作成します
- 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 の最終コミットは 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 の数値は毎日更新されます。
関連プロジェクト
Jellyfin、Plex、Emby、Nuvio、Stremioのライブラリと視聴履歴を同期できるセルフホスト型メディアトラッカー。
Jellyfin、Plex、Embyのライブラリ向けに、映画やテレビ番組のリクエストと承認ワークフローを管理するオープンソースのWebアプリ。
Ombiは、映画・音楽・テレビ番組のリクエストを受け付け、Plex、Emby、Jellyfinと連携するセルフホスト型メディアリクエストツールです。
ルールに基づいて未視聴・未リクエストのメディアを収集し、猶予期間後に削除する、Plex、Jellyfin、Emby向けのライブラリ管理ツールです。
Plex、Jellyfin、Embyサーバー向けのリアルタイム監視ダッシュボード。ストリーム、再生分析、アカウント共有の検出に対応。