W

Watcharr

1.3k stars·Video & Audio Download·SHA-256 checksum verified

Easily self-hosted movie, TV show, anime, and video game tracker with status management and ratings.

Smart Download

Visit Project Homepage

No installer available yet — head to the source repository

Self-host your own content watchlist for movies, TV, anime, and games.

Core Features

  • Self-hosted – full control over your data
  • Supports movies, TV shows, anime, and video games
  • Track status: watched, watching, planned, etc., with ratings
  • Built-in Discover page and user profiles, dark mode
  • Docker one-click deploy with docker-compose

What It Can't Do

  • •Requires TMDB and IGDB API keys for metadata; first run needs initial user setup; game tracking is optional and needs extra IGDB config.

Use Cases

  • Privacy-first alternative to Trakt for tracking media
  • Family or small team shared watch progress (e.g., binge-watching anime)
  • Gamers tracking game completion (with IGDB config)

Detailed Introduction

Watcharr is an easily self-hosted content watched list that lets you store your watched, watching, or planned movies, TV shows, and anime. You can rate them, track their status, and even include video games with extra IGDB configuration. Built with Go and Svelte, it offers a modern, responsive interface with dark mode, user profiles, a discover page, and Docker deployment. Community plugins like a Kodi addon enhance automation. It’s a privacy-focused alternative to services like Trakt.

Troubleshooting & FAQ (2)

Troubleshooting
Why does Nginx reverse proxy to Watcharr time out even though Docker maps port 3080?

Watcharr listens on port **3000 inside the container**, not 3080. In Docker port mapping, the format is HOST:CONTAINER, so map host port 3080 to container port 3000:

services:
  watcharr:
    image: ghcr.io/sbondco/watcharr:latest
    container_name: watcharr
    ports:
      - "3080:3000"
    volumes:
      - ./data:/data
    restart: unless-stopped

Apply the change:

docker compose up -d

If Nginx runs on the host, proxy to the published host port:

location / {
    proxy_pass http://127.0.0.1:3080;
    proxy_set_header Host $host;
    proxy_set_header X-Real-IP $remote_addr;
    proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
    proxy_set_header X-Forwarded-Proto $scheme;
}

If Nginx runs in a container, put both containers on the same Docker network and proxy directly to the container port:

proxy_pass http://watcharr:3000;

Verify the internal listener with:

docker logs watcharr

You should see Listening on http://0.0.0.0:3000. Using 3080:3080 causes the reverse proxy to time out because nothing is listening on port 3080 inside the Watcharr container.

GitHub Issue #994
Troubleshooting
Why does Watcharr log me out with 'database is locked' errors during a Trakt import?

This happens because the Trakt importer writes your entire watch history to the SQLite database in bulk, locking it so authentication queries fail (401 'not authorized' errors, forced logouts). Fix: update Watcharr to the latest version, which runs SQLite in WAL (Write-Ahead Logging) mode, allowing concurrent reads during imports. Workaround on older versions: the import continues in the background even if the progress popup appears stuck, so let it finish completely (large histories can take hours), then log back in once the database writes are done.

GitHub Issue #675

Tags

self-hostedmovietvanimegamingtrackerdockerprivacy

Getting Started

1

Download installer

Click the button above to download the installer for your system

2

Install the software

Double-click the downloaded installer and follow the prompts

3

Step 1: Install Docker and Docker Compose

4

Step 2: Download the docker-compose.yml from the repo root

5

Step 3: Run docker-compose up -d in terminal

Install Guide
  1. Step 1: Install Docker and Docker Compose
  2. Step 2: Download the docker-compose.yml from the repo root
  3. Step 3: Run docker-compose up -d in terminal
File Integrity

Checksum not available

This project has not published a SHA-256 checksum on its GitHub Release page

SHA256 Checksum

No checksum available

Download directly from GitHub Releases and verify file integrity yourself

All SHA-256 checksums on this platform are extracted from the project's official GitHub Release page, without any modification. You can independently verify them on the GitHub Releases page.

Open Source Transparency

View GitHub Source
Environment Guide

Uninstall Info

Stop containers (docker-compose down) and remove volumes (docker volume rm watcharr_data) to erase all data.

No Extra Dependencies

Ready to use after download. No additional runtime required.

Project Info
LicenseGPL-3.0
Last Updated2026-10-26 22:36:28
GitHub RepositoryOfficial Website

Having issues? Check the FAQ below

2 FAQs

Similar Projects