Railway

Deploy ryot

Ryot — self-hosted media & fitness tracker. Your data on your server.

Deploy ryot

Just deployed

/var/lib/postgresql/data

Self-hosted media & fitness tracker. All your data stays on your server.

Ryot is a self-hosted platform for tracking movies, shows, books, games, anime, manga, and fitness activities.

Features:

  • Track movies, TV shows, books, video games, anime, manga, and music
  • Log workouts, measurements, and nutritional data
  • Import from Trakt, MAL, Goodreads, Plex, Jellyfin, and more
  • Automatic AI-powered tagging and recommendations
  • Clean, responsive web UI with PWA support
  • Export your data anytime
  • REST API for integrations

Deploy and Host

Deploy on Railway

Deployment Dependencies

  • PostgreSQL: Railway provisions a managed PostgreSQL database automatically. No manual configuration needed.
  • Server Admin Access Token: A long random string that authenticates you as the administrator on first login.

Why Deploy Ryot on Railway?

Running Ryot on Railway eliminates server management entirely. With one click you get a production-ready Ryot instance with a managed PostgreSQL database, auto-deploys from GitHub, automatic HTTPS, and global CDN. No VPS setup, no Docker Compose wrangling, no database administration.

Common Use Cases

  • Media enthusiasts: Track every movie, show, book, and game you consume with ratings, reviews, and detailed metadata
  • Fitness tracking: Log workouts, body measurements, and nutrition — all in one place alongside your media habits
  • Data hoarders: Import years of history from Trakt, MyAnimeList, Goodreads, Plex, and Jellyfin into a single searchable database
  • Self-hosters: Replace SaaS tracking services with a private instance where you control every byte of your personal data
  • Small groups: Share a Ryot instance with family or friends — multi-user support with separate tracking per person

Dependencies for Deployment

Required

  • PostgreSQL: Railway provisions a managed PostgreSQL database automatically. No manual configuration needed.
  • Server Admin Access Token: A long random string that authenticates you as the administrator on first login.

Environment Variables

VariableDescriptionRequired
DATABASE_URLPostgreSQL connection string (auto-filled by Railway)Yes
SERVER_ADMIN_ACCESS_TOKENAdmin authentication token — set to a random stringYes
FRONTEND_URLPublic URL of your Ryot instance (leave empty to auto-detect)No
TZTimezone in IANA format (e.g., America/New_York)No
DISABLE_TELEMETRYSet to true to disable telemetryNo
MOVIES_AND_SHOWS_TMDB_ACCESS_TOKENTMDB access token for movie/TV metadataNo
VIDEO_GAMES_TWITCH_CLIENT_IDTwitch client ID for game metadataNo
VIDEO_GAMES_TWITCH_CLIENT_SECRETTwitch client secret for game metadataNo

Volumes

Ryot stores all data in PostgreSQL. No persistent volume is required for the application service — your data lives in the managed database.

About Hosting

Ryot runs on a single container with the backend API and frontend served together on port 8000. On Railway, the app is fronted by automatic HTTPS via the Railway edge network, with DDoS protection and global CDN. Sleep after inactivity is disabled by default to keep the instance always available.

FAQ

Q: How do I get my admin access token? A: Set SERVER_ADMIN_ACCESS_TOKEN to any long, randomly generated string (e.g., openssl rand -base64 36). Use this token to log in on the first visit.

Q: How do I set up media tracking? A: Get a free API key from TMDB (for movies/TV) and/or Twitch (for video games) and set the corresponding environment variables. See the Ryot documentation for details.

Q: Can I import my existing data? A: Yes! Ryot supports importing from Trakt, MyAnimeList, Goodreads, Plex, Jellyfin, ListenBrainz, and CSV exports.

Q: Is there a mobile app? A: Ryot is a Progressive Web App (PWA). You can install it on your phone's home screen from the browser.


Template Content

More templates in this category

View Template
Matomo Analytics + MariaDB
Privacy-friendly analytics with MariaDB and persistent volumes.

leodev
0
View Template
Bugsink
Self-hosted Error Tracking. Sentry-SDK compatible

zǝʇɹoɔ oɓıɹpoɹ
18
View Template
SubTrackr
Self-hosted Subscription Tracker

amnesia
3