ryot
Platform for tracking various facets of your life - media, fitness, etc.
Platform for tracking various facets of your life - media, fitness, etc.
<h1 align="center">Ryot</h1>
<h3 align="center">
A self hosted platform for tracking various facets of your life - media, fitness and more.
</h3>
<br/>
<div align="center">
<a href="https://github.com/ignisda/ryot/stargazers">
<img alt="GitHub Repo stars" src="https://img.shields.io/github/stars/ignisda/ryot">
</a>
<a href="https://github.com/ignisda/ryot/releases">
<img alt="GitHub release" src="https://img.shields.io/github/v/release/ignisda/ryot">
</a>
<a href="https://github.com/ignisda/ryot/blob/main/LICENSE">
<img alt="License" src="https://img.shields.io/badge/license-GPLv3-purple">
</a>
<a href="https://hub.docker.com/r/ignisda/ryot">
<img alt="Docker pulls" src="https://img.shields.io/docker/pulls/ignisda/ryot">
</a>
<a href="https://discord.gg/D9XTg2a7R8">
<img alt="Discord" src="https://img.shields.io/discord/1239445721502056459?label=discord">
</a>
</div>
<p align="center">
<a href="https://docs.ryot.io" target="_blank">Documentation</a> •
<a href="https://demo.ryot.io/_s/acl_vUMPnPirkHlT" target="_blank">Live Demo</a> •
<a href="https://discord.gg/D9XTg2a7R8" target="_blank">Discord</a> •
<a href="https://ryot.io/features" target="_blank">Pro Features</a>
</p>
<br/>
<p align="center">
<img src="apps/website/public/cta-image.png" alt="Ryot Dashboard" width="700">
</p>
## Quick Start
Create a `docker-compose.yml` file:
```yaml
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](https://docs.ryot.io).
## What is Ryot?
Ryot (**R**oll **Y**our **O**wn **T**racker), 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](https://demo.ryot.io/_s/acl_vUMPnPirkHlT) 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](https://docs.ryot.io/importing/overview.html)
- Automatic tracking via Jellyfin, Plex, Kodi, Emby [integrations](https://docs.ryot.io/integrations/overview.html)
### Fitness
- Log workouts with a comprehensive exercise database
- Track body measurements over time
- Monitor progress with detailed graphs
<p align="center">
<img src="apps/website/public/features/measurements-graph.png" alt="Workout tracking" width="250">
<img src="apps/website/public/features/exercise-dataset.png" alt="Measurements" width="250">
</p>
### Technical
- Self-hosted with full data ownership
- OpenID Connect [authentication](https://docs.ryot.io/guides/authentication.html)
- Notifications via Discord, Ntfy, Apprise
- [GraphQL API](https://app.ryot.io/backend/graphql) 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](https://ryot.io) about the pro version.
## Community
Questions or feedback? Join the [Discord server](https://discord.gg/D9XTg2a7R8) or open a [GitHub issue](https://github.com/ignisda/ryot/issues).
## Acknowledgements
- Inspired by [MediaTracker](https://github.com/bonukai/MediaTracker)
- Exercise data from [Free Exercise DB](https://github.com/yuhonas/free-exercise-db)
- Thanks to all [contributors](https://github.com/IgnisDa/ryot/graphs/contributors)
<details>
<summary><strong>Migrating from v9?</strong></summary>
If you were using v9.* of Ryot, please read the [migration guide](https://docs.ryot.io/migration.html#from-v9-to-v10) for instructions to upgrade to v10.
</details>
Highly customizable homepage (or startpage / application dashboard) with Docker and service API integrations.
Beautiful static homepage to get to your links and services quickly. It has built-in search, editing, PWA support and localstorage caching to easily organize your start page.