Self-hosted service
sbondCo/Watcharr avatar
sbondCo/Watcharr

Watcharr: A Self-Hosted Watch List That Tracks Movies, Shows, Anime, and Games

Open source, self-hostable watched list for all your content (movies, tv series, anime, games) with user authentication, modern and clean UI and a very simple setup.

1,501 stars81 forksGoGPL-3.0

At a glance

What is it?
Watcharr is a Go and SvelteKit based, self-hostable watched list for movies, TV series, anime, and games. It offers user authentication, a clean UI, and a simple Docker setup, but its feature set and maintenance cadence deserve a closer look.
Who is it for?
Adopt Watcharr if you want a lightweight, self-hosted watch list with user accounts and a modern UI, and you are comfortable with a project that is actively developed but may have occasional bugs. Do not adopt it if you need extensive integrations or a stable, long-term API.
Can I use it commercially?
Yes, with conditions. GPL-3.0 is a copyleft licence: if you distribute software that includes it, you must release that software's source code under the same licence. Running it internally without distributing it does not trigger that obligation.
Is it still maintained?
Yes. The repository last received commits 3 days ago.
What is it written in?
Mainly Go, according to GitHub's language statistics.

Answers come from the project's GitHub data, last synced on September 14, 2026, and from our analysis. They are not legal advice.

DEEP OPEN-SOURCE ANALYSIS

The Problem: Tracking What You Watch, Wherever You Watch It

If you watch movies, TV series, anime, and play video games, you likely have a scattered history. Streaming services remember what you watched on their platform, but not across platforms. A self-hosted watch list solves this by giving you a single place to record what you have seen, what you are currently watching, and what you plan to watch. Watcharr is designed for individuals or small households who want to own that data and access it without relying on a third-party cloud service. The README positions it as 'your new easily self-hosted content watched list,' meaning the target user is someone comfortable running a server, even if they are not a developer. It is not a media server like Jellyfin or Plex; it is a metadata tracker. You do not store files, you store statuses and ratings.

How Watcharr Works: Go Backend, SvelteKit Frontend, and a Simple Data Model

Watcharr is built with Go for the backend and SvelteKit for the frontend, according to the README. The architecture is a standard client-server model: the SvelteKit frontend communicates with the Go API to fetch and update watch statuses, ratings, and user data. The data model is simple: you have users, and each user has a list of content items, each with a status (watched, watching, planned, etc.) and an optional rating. The README mentions a 'Discover' feature in the screenshots, which suggests there is a way to browse new content, likely pulling metadata from external sources. The exact data flow is not detailed in the provided material, but the emphasis on 'very simple setup' suggests the backend handles database migrations and static file serving automatically. The demo instance runs on the latest dev build, which means new features are tested there first. That is a double-edged sword: you get early access, but you also get bugs.

Getting Started: Docker Compose and a One-Minute Setup

The README points to the documentation for an up-to-date setup guide, but it also highlights a docker-compose.yml file in the repository root. If you have Docker installed, you can likely clone the repository and run docker-compose up to get a working instance. The README claims that setting up your own instance to have a look around will take less than a minute, which is a strong statement. The demo instance is currently offline due to server issues, so the quickest way to try Watcharr is to run it yourself. The documentation covers server configuration, including a specific section for game support via IGDB. That suggests the default setup does not include game tracking; you need to add an IGDB API key or similar configuration. The exact commands are not in the provided material, but the presence of a docker-compose.yml implies a standard containerized deployment. For a non-Docker user, the Go binary can likely be built and run, but the README does not detail that path.

Game Tracking: An Optional Feature with Extra Configuration

Watcharr's core focus is movies and TV shows, but it can also track video games 'with some extra configuration' via IGDB. This is a notable limitation: game support is not out of the box. The README links to a documentation page for server configuration, so you will need to obtain an IGDB API key and add it to your Watcharr configuration. That is a barrier for casual users who want to track games immediately. The fact that this is an optional feature also means the data model and UI might treat games differently from movies and shows. If you are primarily a gamer, you might find the integration less polished than dedicated game tracking tools. The README does not specify whether game tracking includes achievements or playtime, so expect only the same status and rating system as for other content.

User Authentication and Multi-User Support

The README mentions user authentication as a key feature. The demo instance has no demo account; you can type any random username and password, then click 'Not a user?' to sign up. This implies that Watcharr supports multiple users on a single instance, each with their own watch list. That is a significant advantage over a simple spreadsheet or a single-user tracker. The authentication mechanism is not described in detail, but it is likely a standard username/password flow with session management. For a self-hosted app, this is important because it means you can share your instance with family or friends without them seeing your watch history. However, the README does not mention password reset or email verification, so the security model might be basic. If you plan to expose Watcharr to the internet, you should consider putting it behind a reverse proxy with HTTPS, which the documentation likely covers.

Limitations and Failure Modes: Dev Build Bugs and a Single Maintainer

The README is honest about the project's state. The demo instance runs on the latest dev build, and the maintainer notes that 'there may be bugs, as new features are tested on here too.' That means the dev branch is not stable, and if you run the latest release, you might encounter issues that are fixed only in the next release. The project has a project board for tracking patches, but the maintainer admits to being 'very unorganised,' so you cannot rely on a structured roadmap. The demo server is currently down due to hardware issues, which shows that even the reference deployment is not immune to problems. For a self-hosted app, this is a warning: if you rely on Watcharr, you need to be prepared to handle server maintenance yourself. The README does not mention backup or migration procedures, so you should plan your own data backup strategy. The GPL-3.0 license means you can modify the source, but you must share your changes if you distribute them.

Alternatives: Trakt, Jellyfin, and the Difference in Approach

The most direct alternative to Watcharr is Trakt, a hosted service that tracks what you watch across movies, TV, and anime. Trakt offers a rich API, plugins for many media players, and a large community. The key difference is that Trakt is a cloud service, so you do not own your data. Watcharr gives you self-hosting, which means data privacy and control, but you lose the convenience of a managed service. Another alternative is Jellyfin, which is a media server that can also track what you have watched, but it is much heavier and requires you to store media files. Watcharr is lighter because it only stores metadata and statuses. If you want a simple, self-hosted watch list without the overhead of a media server, Watcharr is closer to that goal. However, Trakt has a mature plugin ecosystem, while Watcharr currently has only a community-made Kodi plugin listed in the README. That plugin is not officially maintained, so you are on your own if it breaks.

Maintenance and Upgrade Cost: Active Development, But No Guarantees

The last push to the default branch was on 2026-08-04, with releases v4.2.1, v4.2.0, and v4.1.1 in quick succession. That indicates active development, with a release roughly every week or two. The project is not archived, which is a positive sign. However, the maintainer is a single person, as implied by the 'I' in the README. That means the pace of development depends on one individual's availability. Upgrading Watcharr likely involves pulling the latest Docker image and restarting the container, but the README does not provide a specific upgrade path. You should check the release notes for each version to see if there are breaking changes. The GPL-3.0 license is permissive for personal use, but if you modify and distribute the software, you must release your changes under the same license. The README does not mention any paid support, so you rely on GitHub issues and a Matrix channel for help.

Editorial conclusion

Adopt Watcharr if you want a lightweight, self-hosted watch list with user accounts and a modern UI, and you are comfortable with a project that is actively developed but may have occasional bugs. Do not adopt it if you need extensive integrations or a stable, long-term API. Before deploying, verify the current state of the demo server and check the latest release notes for any breaking changes, especially if you plan to use the game tracking feature which requires additional configuration.

Official sources

  1. Official documentation
  2. Official README
  3. Project repository
  4. Release notes
Community notes

Community notes