<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>

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.
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.
Try the live demo to explore the interface. Demo data resets every 24 hours.

Ryot Pro adds profile sharing, personalized recommendations, supercharged collections and more. Learn more about the pro version.
Questions or feedback? Join the Discord server or open a GitHub issue.
Migrating from v9?
If you were using v9.* of Ryot, please read the migration guide for instructions to upgrade to v10.