Self-hosted movie & TV tracker

Your watchlist belongs to you.

Sofa lives on your own server and seamlessly plugs into your existing home media stack.

Episode Tracking

Track progress at the episode level. Pick up any series exactly where you left off.

Media Server Sync

Automatically log watches from Plex, Jellyfin, or Emby via webhooks.

Sonarr & Radarr

Export your watchlist as import lists for your *arr stack.

Self-Hosted

Your data lives on your server. Single-file database, local image cache, built-in backups.

Web + Mobile

Native iOS and Android app alongside the web interface. Same account, synced everywhere.

One Container

Deploy with a single Docker image. No external database, no sidecar services.

Deploy in minutes

1

Get a TMDB API token

Create a free account at themoviedb.org

2

Set three environment variables

TMDB_API_READ_ACCESS_TOKEN=...
BETTER_AUTH_SECRET=...
BETTER_AUTH_URL=https://sofa.example.com
3

Start the container

docker compose up -d

The first registered account becomes admin.