DEV Community

GitHubOpenSource
GitHubOpenSource

Posted on

WatchState: Your Ultimate Self-Hosted Media Server Sync Solution!

Quick Summary: πŸ“

WatchState is a self-hosted PHP service designed to synchronize playback progress across multiple media servers like Plex, Jellyfin, and Emby. It operates without relying on third-party services, offering features such as multi-user support, webhook event handling, and the ability to back up playback states.

Key Takeaways: πŸ’‘

  • βœ… WatchState provides seamless, self-hosted watch state synchronization for Plex, Jellyfin, and Emby.

  • βœ… It eliminates reliance on third-party services, giving you full control over your media data and privacy.

  • βœ… Features multi-user support, flexible sync options (one-way or many-to-many), and portable data backups.

  • βœ… Includes 'Media Health' for comprehensive auditing and resolution of media record issues in your library.

  • βœ… Easy to deploy using Docker, offering a powerful and robust solution for media server enthusiasts.

Project Statistics: πŸ“Š

  • ⭐ Stars: 1599
  • 🍴 Forks: 29
  • ❗ Open Issues: 0

Tech Stack: πŸ’»

  • βœ… PHP

Hey fellow media enthusiasts and self-hosting gurus! Ever found yourself juggling multiple media servers like Plex, Jellyfin, or Emby, only to realize your watch progress isn't consistent across them? Or maybe you've migrated your library and lost all your precious 'watched' statuses? It's a frustrating problem that many of us face, and it often leads to endless searching for where you left off. But what if I told you there's an incredibly cool GitHub project that's a total game-changer for this exact issue? Get ready to say hello to WatchState!WatchState is an awesome, open-source tool designed with one primary goal in mind: to seamlessly sync your users' play states across your backend media servers. The best part? It does all of this without relying on any third-party services. This means you maintain full control over your data and your viewing history, right there on your own infrastructure. It's truly a breath of fresh air for privacy-conscious users and those who love to keep everything in-house.So, how does this magic happen? WatchState acts as a smart, central hub for your media servers. You connect your Jellyfin, Plex, and Emby instances to it, and WatchState takes care of the heavy lifting. It understands who's watching what, and where they left off, then intelligently updates the other connected servers. Whether you need a simple one-way sync from your primary server to a secondary, or a full many-to-many synchronization where all servers stay perfectly aligned, WatchState has you covered. It even supports multiple users through its 'identities' feature, ensuring everyone's progress is tracked independently.But WatchState isn't just about syncing. It's a powerful companion for your media library. It allows you to backup your entire play state into a portable format, giving you peace of mind and easy recovery options. Plus, it comes with a fantastic feature called 'Media Health.' This isn't just a simple check; it's a comprehensive auditing tool that helps you find and resolve issues within your media records. Think structural metadata disagreements, duplicate GUIDs, file integrity problems, and more. It replaces older, separate views with one central report, making library maintenance incredibly efficient. Imagine being able to spot exactly why a show isn't syncing or why metadata looks off!For us developers and self-hosters, the benefits are huge. WatchState saves you countless hours of manual tracking and frustration. It improves the user experience dramatically by ensuring a consistent watch history across all your platforms. Deployment is super straightforward, too. With a simple docker compose file, you can have WatchState up and running in minutes, ready to connect to your media servers. It runs rootless, emphasizing security, and provides a clean, web-based interface for management. If you're passionate about your media collection and want to take control of your watch data, WatchState is an absolute must-try. It’s a robust, flexible, and truly empowering tool for any media server enthusiast. Go check it out on GitHub – you won't regret it!

Learn More: πŸ”—

View the Project on GitHub


🌟 Stay Connected with GitHub Open Source!

πŸ“± Join us on Telegram

Get daily updates on the best open-source projects

GitHub Open Source

πŸ‘₯ Follow us on Facebook

Connect with our community and never miss a discovery

GitHub Open Source

Top comments (0)