Was ist Ryot, und welches Problem löst es?

Wer parallel Serien auf Trakt, Bücher auf Goodreads und Workouts in einer dritten App protokolliert, verteilt seine eigenen Nutzungsdaten über mehrere kommerzielle Anbieter – mit allem, was das an Kontrollverlust und Kontoverwaltung mit sich bringt. Ryot, kurz für „Roll Your Own Tracker", setzt genau hier an: Es ist eine selbst hostbare, in Rust geschriebene Anwendung, die Medienkonsum – Filme, Serien, Anime, Manga, Bücher, Hörbücher, Podcasts, Musik und Videospiele – und Fitness-Tracking – Workouts, Körpermaße, Fortschrittsverlauf – in einer einzigen Oberfläche bündelt. Das Projekt steht unter der GNU General Public License Version 3 (GPLv3) und wird von IgnisDa auf GitHub entwickelt, mit aktuell rund 3.500 Sternen, 124 Forks und über 2.100 Commits. Statt Daten über Trakt, Goodreads, MyAnimeList, eine Fitness-App und einen weiteren Anbieter zu verteilen, laufen sie in Ryot in einer einzigen, selbst kontrollierten Datenbank zusammen.

Architektur und Installation: Rust, PostgreSQL, Docker Compose

Technisch besteht Ryot aus zwei Bausteinen: einem Rust-Backend, das laut Repository für Performance sorgt und eine GraphQL-API bereitstellt, und einer PostgreSQL-Datenbank, in der sämtliche Tracking-Daten liegen. Die Installation erfolgt laut README standardmäßig über Docker Compose. Ein minimaler Auszug aus der offiziellen Dokumentation sieht so aus:

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:

Zwei Punkte sind beim Aufsetzen wichtig: Der SERVER_ADMIN_ACCESS_TOKEN muss zwingend durch eine eigene, lange Zufallszeichenfolge ersetzt werden – im Beispiel steht bewusst ein Platzhalter, der nicht produktiv verwendet werden darf. Und die DATABASE_URL verweist auf den Servicenamen ryot-db aus derselben Compose-Datei, nicht auf localhost. Nach docker compose up -d ist die Oberfläche unter http://localhost:8000 erreichbar. Offizielle Angaben zu Mindestanforderungen an RAM oder CPU macht das Projekt nicht – aus der schlanken Zwei-Container-Architektur ohne zusätzlichen Such- oder Cache-Dienst lässt sich aber ein eher geringer Bedarf vermuten, eine belastbare Zahl liefert das Projekt selbst jedoch nicht.

Medien-Tracking: von Filmen bis Podcasts

Im Zentrum von Ryot steht die Idee, möglichst viele Medienarten in einem einzigen Verlauf zu erfassen: Filme, TV-Serien, Anime, Manga, klassische Bücher, Hörbücher, Podcasts, Musik und Videospiele lassen sich laut README allesamt tracken. Für den Einstieg unterstützt Ryot den Import aus bestehenden Konten bei Goodreads, Trakt und MyAnimeList, sodass sich eine über Jahre gewachsene Bibliothek nicht von Hand neu eintippen lässt. Wer bereits einen Medienserver betreibt, kann zusätzlich automatisches Tracking über Jellyfin, Plex, Kodi oder Emby aktivieren: Schaut man eine Folge auf dem eigenen Jellyfin-Server, trägt Ryot den Fortschritt selbstständig nach, ohne dass man ihn manuell markieren muss. Diese Kombination aus Eigenimport und Auto-Tracking unterscheidet Ryot von reinen Wunschlisten-Tools – es ist als laufender Log gedacht, nicht als einmalige Bestandsaufnahme.

Fitness-Tracking: Workouts, Körpermaße, Fortschritt

Neben dem Medienteil bringt Ryot einen vollständigen Fitness-Bereich mit: Workouts lassen sich anhand einer umfangreichen Übungsdatenbank protokollieren, Körpermaße über die Zeit erfassen und der Fortschritt in Diagrammen visualisieren. Damit deckt Ryot einen guten Teil dessen ab, wofür sonst dedizierte Tools wie wger nötig wären – allerdings ohne dessen jahrelange Spezialisierung auf ausschließlich diesen Bereich (mehr dazu im Vergleichsabschnitt weiter unten). Wer nur die Fitness-Seite nutzen möchte, kann das tun, ohne die Medien-Funktionen überhaupt anzurühren – beide Bereiche laufen unabhängig nebeneinander in derselben Instanz.

GraphQL-API, Benachrichtigungen und Mobilnutzung

Ryot bringt laut README eine GraphQL-API mit, über die sich eigene Auswertungen, Automatisierungen oder Integrationen bauen lassen – ein Feature, das reine Konsumenten-Apps wie Trakt oder Goodreads in dieser Form nicht offenlegen. Zur Anmeldung unterstützt Ryot OpenID Connect (OIDC) zusätzlich zu klassischen Zugangsdaten. Benachrichtigungen lassen sich über Discord, Ntfy oder Apprise einrichten, was Ryot an bestehende Homelab-Benachrichtigungsketten anschließbar macht, die viele Self-Hoster ohnehin schon für andere Dienste nutzen. Für die mobile Nutzung gibt es keine native App, dafür aber PWA-Unterstützung – Ryot lässt sich also über den Browser wie eine App auf dem Homescreen installieren, ohne einen App-Store-Umweg.

Kostenloser Kern vs. Pro-Tarif: das Geschäftsmodell

Ryot finanziert sich über ein optionales Pro-Abonnement, dessen Funktionsumfang laut README aus Profilfreigabe, personalisierten Empfehlungen und erweiterten Sammlungsfunktionen besteht. Die genauen Preise nennt das Repository nicht, sie stehen laut README auf der separaten Projektseite ryot.io, die in dieser Sitzung nicht erreichbar war. Wichtig für alle, die Ryot ausschließlich selbst hosten wollen: Der komplette Tracking-Kern – Medien, Fitness, Import, Auto-Tracking, GraphQL-API – bleibt davon unberührt und ist unter der GPLv3 vollständig kostenlos nutzbar. Wer das Projekt zunächst unverbindlich ausprobieren will, findet laut README eine öffentliche Demo-Instanz, deren Daten alle 24 Stunden zurückgesetzt werden – praktisch für einen ersten Eindruck, aber ausdrücklich nicht für echte Daten gedacht.

Reifegrad und Entwicklungstempo

Ryot ist kein junges Projekt: Mit aktuell v10.4.0 (veröffentlicht am 14.07.2026) hat die Versionszählung bereits zweistellige Hauptversionen erreicht, das Repository verzeichnet über 2.100 Commits und wird unter anderem über einen eigenen Discord-Server begleitet. Das spricht für eine über Monate und Jahre gewachsene Codebasis statt für ein über Nacht hochgeladenes Wochenendprojekt. Die letzte dokumentierte Version stammt vom 14.07.2026 und liegt damit rund einen Monat vor dem Stand dieses Beitrags – innerhalb des Sechs-Monats-Fensters, das für eine Empfehlung als hinreichend aktiv gilt. Wie schnell sich einzelne Funktionen zwischen Hauptversionen ändern, dokumentiert das Projekt nicht in einer separaten Zusammenfassung; wer produktiv auf eine bestimmte Version setzt, sollte vor einem Versionssprung die jeweiligen Release Notes auf GitHub prüfen.

Ryot im Vergleich: wger, Trakt und Einzellösungen

Ryot steht nicht allein in seiner Nische, deckt aber eine ungewöhnliche Kombination ab. Wer ausschließlich Fitness tracken will, findet mit wger eine seit Jahren etablierte, unter AGPL-3.0-or-later lizenzierte Alternative mit rund 6.600 Sternen, die sich auf Workouts, Ernährung und Gewichtsverlauf konzentriert – dafür aber kein Medien-Tracking anbietet. Wer nur Serien und Filme protokollieren will, kann weiterhin Trakt nutzen, allerdings als reinen Cloud-Dienst ohne Self-Hosting-Option, oder sich auf die Wiedergabehistorie von Jellyfin oder Plex verlassen, die aber kein strukturiertes Tracking über mehrere Medienarten hinweg vorsieht. Der eigentliche Unterschied von Ryot ist also weniger die Tiefe in einer einzelnen Kategorie, sondern die Bündelung: Statt drei bis vier separate Konten bei ebenso vielen Anbietern zu pflegen, landet alles selbst gehostet in einer Anwendung mit einer Datenbank. Wer bereits mit wger oder Trakt zufrieden ist und keinen Bedarf an der jeweils anderen Hälfte hat, muss nicht wechseln – der Mehrwert von Ryot entsteht vor allem dann, wenn beide Bereiche gemeinsam an einem Ort landen sollen.

  • FAQ: siehe Fragen untenIst Ryot wirklich komplett kostenlos, oder brauche ich den Pro-Tarif? Der gesamte selbst gehostete Kern – Medien-Tracking, Fitness-Tracking, Import, Auto-Tracking, GraphQL-API – ist unter der GPLv3 kostenlos. Der optionale Pro-Tarif ergänzt laut README nur Zusatzfunktionen wie Profilfreigabe und Empfehlungen und ist für den produktiven Self-Hosting-Betrieb nicht erforderlich.Ersetzt Ryot meinen Jellyfin- oder Plex-Server? Nein. Ryot ist kein Medienserver und streamt selbst nichts – es trackt lediglich, was über Jellyfin, Plex, Kodi oder Emby konsumiert wird, sofern die Auto-Tracking-Anbindung aktiv ist. Der eigentliche Medienserver bleibt weiterhin nötig.Kann ich meine bestehenden Trakt- oder Goodreads-Daten übernehmen? Laut README ja, über dedizierte Import-Funktionen für Goodreads, Trakt und MyAnimeList. Wie vollständig der Import im Einzelfall gelingt, dokumentiert das Projekt nicht bis ins Detail – ein Testlauf mit einem kleinen Datenexport vor der vollständigen Migration ist sinnvoll.Wie viele Server-Ressourcen braucht Ryot? Offizielle Mindestangaben zu RAM oder CPU macht das Projekt nicht. Die Architektur aus einem Rust-Binary und einer PostgreSQL-Instanz ohne weitere Zusatzdienste spricht für einen eher schlanken Bedarf, eine belastbare Zahl lässt sich daraus aber nicht ableiten.Lohnt sich Ryot, wenn ich nur Fitness oder nur Medien tracken will? Bedingt. Für reines Fitness-Tracking ist wger die länger etablierte, spezialisiertere Alternative; für reines Medien-Tracking bleibt Trakt als Cloud-Dienst eine Option. Der Mehrwert von Ryot liegt in der Bündelung beider Bereiche in einer selbst gehosteten Instanz.Wie sicher sind meine Daten bei einem selbst gehosteten Ryot? Die Daten liegen ausschließlich in der eigenen PostgreSQL-Datenbank; ein direkter Internetzugriff ist nicht zwingend nötig. Wie bei jeder self-hosted Anwendung gilt aber: Ein ausreichend langer SERVER_ADMIN_ACCESS_TOKEN, ein aktuelles Betriebssystem und ein eigenes Backup-Konzept für die Postgres-Daten bleiben in der Verantwortung des Betreibers – Ryot übernimmt das nicht automatisch.
  • Fazit: Ryot löst ein Problem, das viele Self-Hoster erst bemerken, wenn sie es einmal zusammenzählen: Wie viele verschiedene Cloud-Konten braucht es eigentlich, nur um zu protokollieren, was man ansieht, liest, spielt und trainiert? Statt vier separaten Diensten bietet Ryot eine einzige, unter der GPLv3 kostenlose Anwendung mit solidem Funktionsumfang auf beiden Seiten – Medien und Fitness – plus einer offenen GraphQL-API für alle, die noch weiter automatisieren wollen. Wer bereits mit spezialisierten Einzellösungen wie wger oder Trakt zufrieden ist, gewinnt durch einen Wechsel nicht zwangsläufig etwas; wer aber genau die Bündelung sucht und bereit ist, eine PostgreSQL-Instanz nebenher zu betreiben, bekommt mit Ryot ein ungewöhnlich vollständiges Self-Hosting-Projekt mit sichtbarem Entwicklungstempo.
  • Quellen: Alle Angaben stammen aus dem GitHub-Repository IgnisDa/ryot (README, Releases, LICENSE, Commit-Verlauf) sowie ergänzend aus dem GitHub-Repository wger-project/wger zur Einordnung der Alternative wger. Details siehe Tabelle im Abschnitt „Recherche und Quellen".
  • Weiterführende Links: Ryot auf GitHub · Ryot-Dokumentation · wger zum Vergleich