Deploy Scrob
Self-hosted media tracking app that syncs from Jellyfin, Plex, and Emby
Scrob
Just deployed
/app/backend/data
Just deployed
/var/lib/postgresql/data
Deploy and Host Scrob on Railway
Scrob is a self-hosted media tracking and scrobbling application that functions as your own private Trakt and Letterboxd combined. It syncs libraries, watch history, and ratings across Jellyfin, Plex, Emby, and Kodi, supports two-way Trakt syncing, and integrates directly with Radarr and Sonarr to manage media requests and watchlists.
About Hosting Scrob
This template deploys the standard Scrob application container (ghcr.io/ellite/scrob:latest, running an Astro frontend on port 7330 and FastAPI backend on port 7331) paired with a managed PostgreSQL 16 database (postgres-ssl:16) over Railway's private network. Application data is persisted in a volume mounted at /app/backend/data.
Deployment Tips & Configuration
- Initial Admin Account & Registration: Even with
ENABLE_REGISTRATIONS="false"set by default for security, the first user can always register on a fresh instance. Simply open your Railway public domain, click Register to create your administrator account, and your instance will automatically remain closed to public sign-ups. To invite friends or family later, setENABLE_REGISTRATIONS="true". - TMDB API Key (Required for Onboarding): After logging in for the first time, Scrob's onboarding guide will prompt you to add a TMDB API Read Access Token (use the longer API Read Access Token, not the shorter API Key) in Settings to fetch posters, backdrops, cast data, and episode metadata. You can also optionally add a TVDB API key.
- Connecting Media Servers & Webhooks: From the Scrob Settings menu, you can add connections to Jellyfin, Plex, and Emby for scheduled library and watch-state syncing, or configure real-time scrobbling webhooks pointing to your Railway domain.
- OIDC / Single Sign-On: Scrob natively supports OpenID Connect (Authelia, Authentik, Keycloak, Pocket ID) as well as built-in TOTP Two-Factor Authentication (2FA). Refer to the Scrob GitHub README for
OIDC_*environment variables. - Backups & Recovery: Scrob natively supports exporting a full SQL dump of your database directly from the settings interface, which can be restored seamlessly on a fresh install. Combine this with Railway's native Volume Backups to snapshot your
/app/backend/datastorage for complete peace of mind.
Note: This is a community-made template and therefore not officially supported by the Scrob developer. Please direct template-specific help requests to the Railway thread for the template.
Common Use Cases
- Private Trakt & Letterboxd Alternative: Track every movie, show, season, and episode you watch, rate titles on a 10-point scale, write reviews, and curate personal or public lists.
- Multi-Server Watch History Sync: Keep watched status and playback progress automatically synchronized across multiple Jellyfin, Plex, and Emby servers.
- Real-Time Webhook Scrobbling: Automatically scrobble live playback from Plex, Jellyfin, Emby, or the official Scrob Kodi Addon.
- Radarr & Sonarr Request Automation: Add movies and shows directly to Radarr and Sonarr from the Scrob UI and automatically forward your Plex Watchlist to your *arr stack.
Dependencies for Scrob Hosting
- Scrob (
ghcr.io/ellite/scrob:latest): Combined Astro frontend and Python FastAPI backend container with a persistent volume mounted at/app/backend/data. - PostgreSQL (
ghcr.io/railwayapp-templates/postgres-ssl:16): Primary relational database accessed viaasyncpgover Railway's private network.
Deployment Dependencies
- Scrob Official Website
- Scrob GitHub Repository & Documentation
- TMDB API Settings (For Metadata Token)
Why Deploy Scrob on Railway?
Deploying Scrob on Railway provisions the application container, PostgreSQL 16 database, persistent storage volume, and public HTTPS domain for real-time media server webhooks in a single click, without needing to manage reverse proxies or multi-container Docker Compose files.
Template Content
