Repolode
IgnisDa

IgnisDa/ryot

A self-hosted tracker for media consumption (books, shows, games) and fitness workouts, with data kept on your own server.

Open-source alternative to:TraktGoodreadsStrong

Stars
3,647
Forks
142
Open issues
72
Last commit
18 minutes ago

What is it?

Ryot is a self-hosted tracker for the books you read, shows you watch, games you play and workouts you complete. It runs on your own server, so your data stays with you, and it brings these activities together in one interface with statistics and progress graphs.

On the media side, it covers movies, TV, anime, manga, books, audiobooks, podcasts, music and video games, with import from services such as Goodreads, Trakt and MyAnimeList. Integrations with Jellyfin, Plex, Kodi and Emby can record activity automatically. On the fitness side, it offers a built-in exercise database for logging workouts and tracking body measurements over time.

Ryot supports OpenID Connect for sign-in, sends notifications through Discord, Ntfy and Apprise, exposes a GraphQL API for custom integrations, and works as a PWA on mobile. The backend is written in Rust, and it is deployed with Docker alongside a PostgreSQL database.

Key features

  • 01Tracks movies, TV, anime, manga, books, games, podcasts and music in one place
  • 02Imports history from Goodreads, Trakt, MyAnimeList and Audiobookshelf
  • 03Logs workouts with a built-in exercise database and graphs body measurements
  • 04Syncs watch activity automatically from Jellyfin, Plex, Kodi and Emby
  • 05Offers OpenID Connect sign-in, Discord/Ntfy/Apprise notifications and a GraphQL API

Use cases

  • Keeping one personal log of everything you read, watch and play
  • Replacing scattered spreadsheets used to track workouts and body measurements
  • Automatically logging what you watch on a home media server
  • Building custom dashboards or automations on top of the GraphQL API

Quick start

  1. 1

    Create a docker-compose.yml file with the Ryot and PostgreSQL services

  2. 2

    Start the services in the background

    docker compose up -d
  3. 3

    Open http://localhost:8000 in your browser

Things to know

  • Requires running a PostgreSQL database alongside the app, so self-hosting takes some setup.
  • Some features such as profile sharing and personalized recommendations are only in the paid Pro version.

In collections

Topics

FAQ

What is ryot?
A self-hosted tracker for media consumption (books, shows, games) and fitness workouts, with data kept on your own server. Ryot is a self-hosted tracker for the books you read, shows you watch, games you play and workouts you complete. It runs on your own server, so your data stays with you, and it brings these activities together in one interface with statistics and progress graphs.
Is ryot free to use? What license does it have?
ryot is open source under the GPL-3.0 license. Check the license terms before using it in commercial products.
Is ryot still maintained?
Actively maintained. The last commit to ryot was on Oct 24, 2026.
What can I use ryot for?
Keeping one personal log of everything you read, watch and play Replacing scattered spreadsheets used to track workouts and body measurements Automatically logging what you watch on a home media server Building custom dashboards or automations on top of the GraphQL API
How do I install ryot?
Create a docker-compose.yml file with the Ryot and PostgreSQL services Start the services in the background: docker compose up -d Open http://localhost:8000 in your browser
Where can I get ryot?
The source code and installation instructions are on GitHub: https://github.com/IgnisDa/ryot

Summary generated by AI from the project's README. GitHub stats refresh daily.

Related projects