IgnisDa/ryot

Roll your own tracker!

TypeScript

3,637

2,177 commits

updated Oct 14, 2026

See the code

README

Ryot

A self hosted platform for tracking various facets of your life - media, fitness and more.


Documentation • Live Demo • Discord • Pro Features


Ryot Dashboard

Quick Start

Create a docker-compose.yml file:

services:
  ryot-db:
    restart: unless-stopped
    image: postgres:18-alpine
    environment:
      - POSTGRES_PASSWORD=postgres
    volumes:
      - postgres_storage:/var/lib/postgresql

  ryot:
    image: ignisda/ryot:v10
    restart: unless-stopped
    ports:
      - "8000:8000"
    environment:
      - SERVER_ADMIN_ACCESS_TOKEN=CHANGE_ME_TO_A_LONG_RANDOM_STRING
      - DATABASE_URL=postgres://postgres:postgres@ryot-db:5432/postgres

volumes:
  postgres_storage:

Then run docker compose up -d and visit http://localhost:8000. For production setups, see the installation guide.

What is Ryot?

Ryot (Roll Your Own Tracker), pronounced "riot", is a self-hosted tracker for your media consumption and fitness activities. Track the books you read, shows you watch, games you play, and workouts you complete - all in one place with a clean interface and insightful statistics.

Demo

Try the live demo to explore the interface. Demo data resets every 24 hours.

Media Tracking

  • Track movies, TV shows, anime, manga, books, audiobooks, podcasts, music and video games
  • Import from Goodreads, Trakt, MyAnimeList, Audiobookshelf and more
  • Automatic tracking via Jellyfin, Plex, Kodi, Emby integrations

Fitness

  • Log workouts with a comprehensive exercise database
  • Track body measurements over time
  • Monitor progress with detailed graphs

Workout tracking Measurements

Technical

  • Self-hosted with full data ownership
  • OpenID Connect authentication
  • Notifications via Discord, Ntfy, Apprise
  • GraphQL API for custom integrations
  • PWA support for mobile use
  • Written in Rust for performance

Pro Version

Ryot Pro adds profile sharing, personalized recommendations, supercharged collections and more. Learn more about the pro version.

Community

Questions or feedback? Join the Discord server or open a GitHub issue.

Acknowledgements

Migrating from v9?

If you were using v9.* of Ryot, please read the migration guide for instructions to upgrade to v10.

exercise-tracker
fitness-tracker
integrations
media-tracking
tracker

IgnisDa/ryot

Roll your own tracker!

TypeScript

3,637

2,177 commits

updated Oct 14, 2026

See the code

README

Ryot

A self hosted platform for tracking various facets of your life - media, fitness and more.


Documentation • Live Demo • Discord • Pro Features


Ryot Dashboard

Quick Start

Create a docker-compose.yml file:

services:
  ryot-db:
    restart: unless-stopped
    image: postgres:18-alpine
    environment:
      - POSTGRES_PASSWORD=postgres
    volumes:
      - postgres_storage:/var/lib/postgresql

  ryot:
    image: ignisda/ryot:v10
    restart: unless-stopped
    ports:
      - "8000:8000"
    environment:
      - SERVER_ADMIN_ACCESS_TOKEN=CHANGE_ME_TO_A_LONG_RANDOM_STRING
      - DATABASE_URL=postgres://postgres:postgres@ryot-db:5432/postgres

volumes:
  postgres_storage:

Then run docker compose up -d and visit http://localhost:8000. For production setups, see the installation guide.

What is Ryot?

Ryot (Roll Your Own Tracker), pronounced "riot", is a self-hosted tracker for your media consumption and fitness activities. Track the books you read, shows you watch, games you play, and workouts you complete - all in one place with a clean interface and insightful statistics.

Demo

Try the live demo to explore the interface. Demo data resets every 24 hours.

Media Tracking

  • Track movies, TV shows, anime, manga, books, audiobooks, podcasts, music and video games
  • Import from Goodreads, Trakt, MyAnimeList, Audiobookshelf and more
  • Automatic tracking via Jellyfin, Plex, Kodi, Emby integrations

Fitness

  • Log workouts with a comprehensive exercise database
  • Track body measurements over time
  • Monitor progress with detailed graphs

Workout tracking Measurements

Technical

  • Self-hosted with full data ownership
  • OpenID Connect authentication
  • Notifications via Discord, Ntfy, Apprise
  • GraphQL API for custom integrations
  • PWA support for mobile use
  • Written in Rust for performance

Pro Version

Ryot Pro adds profile sharing, personalized recommendations, supercharged collections and more. Learn more about the pro version.

Community

Questions or feedback? Join the Discord server or open a GitHub issue.

Acknowledgements

Migrating from v9?

If you were using v9.* of Ryot, please read the migration guide for instructions to upgrade to v10.

exercise-tracker
fitness-tracker
integrations
media-tracking
tracker

Significant stargazers

(top 24 of 33)

Rob Loach

570 followers · starred Apr 2026

Jakub Kuczys

128 followers · starred Aug 2026

Sara Vieira

4,284 followers · starred May 2023

Kevin

29 followers · starred Jun 2025