← Back to catalog WatchState · managed by DINAO

Your media servers synchronized, without third-party services

A synchronization engine powered by WatchState, installed and maintained by DINAO. Keep the same watch history across Plex, Jellyfin, and Emby — without relying on an external service.

Hosted in FrancePlex · Jellyfin · EmbyNo third-party serviceGDPR CompliantOfficial publisher image
Overview

What is WatchState?

WatchState is an self-hosted service that synchronizes the playback status of your media servers without relying on a third-party service. It natively supports Plex, Jellyfin, and Emby and maintains a consistent watch history across them.

Its bidirectional synchronization engine propagates both the 'watched/unwatched' status and the playback position (resume). You start a series on Plex and continue it on Jellyfin or Emby: your progress follows automatically. A path matching mechanism allows matching items based on the media file path, which is useful when your servers share the same files but have inconsistent external identifiers.

Synchronization can be triggered manually, on a schedule, or via webhooks. Lightweight and designed for Docker, WatchState integrates perfectly into a DINAO managed offering, with a web console, CLI, backups, and monitoring.

Compatible offers

Host WatchState at DINAO

Resource tiers compatible with WatchState prerequisites (minimum 1 vCPU / 512 Mo / 2 Go). Hosted in France, fully managed.

Découverte
1 vCPU · 2 Go · 20 Go
9,90 € /month excl. VAT
  • 1 dedicated vCPU
  • 2 Go RAM
  • 20 GB NVMe
  • Daily backups
  • Managed & monitored by DINAO
Order
Performance
4 vCPU · 8 Go · 80 Go
39,90 € /month excl. VAT
  • 4 dedicated vCPU
  • 8 Go RAM
  • 80 GB NVMe
  • Daily backups
  • Managed & monitored by DINAO
Order
Dédié
8 vCPU · 16 Go · 160 Go
79,90 € /month excl. VAT
  • 8 dedicated vCPU
  • 16 Go RAM
  • 160 GB NVMe
  • Daily backups
  • Managed & monitored by DINAO
Order
Under the hood

Technical details

vCPU
1 vCPU
ideal : 2 vCPU
Memory
512 Mo
ideal : 1 Go
Disk
2 Go
ideal : 5 Go
Image : ghcr.io/arabcoders/watchstate:latest Registry : ghcr.io Services : watchstate Ports : 8080
FAQ

You might be wondering…

Which media servers are supported?

WatchState natively supports Plex, Jellyfin, and Emby, and can synchronize them simultaneously in both directions.

Do I need a third-party service like Trakt?

No. WatchState runs entirely locally and synchronizes your servers without depending on an external service. Your data stays with you.

Is playback progress preserved?

Yes. WatchState synchronizes both the watched/unwatched status and the playback position (resume), so you can pick up an episode where you left off on another server.

Where is the data hosted?

On the DINAO infrastructure in France, in one of the available data centers. Your data never leaves the territory.

How is synchronization triggered?

In several ways: manually, on a schedule, or automatically via webhooks emitted by your media servers when a viewing event occurs.