ListSync automatically syncs your watchlists from IMDb, Trakt, Letterboxd, MDBList, and more with Overseerr/Jellyseerr. No more manual adding - just add movies and shows to your favorite watchlist, and they'll appear in your media server automatically.
Key Features:
- π Automatic synchronization
- π¬ Support for multiple watchlist platforms
- π₯οΈ Compatible with Overseerr and Jellyseerr
- β‘ Easy setup with Docker
ListSync now includes a comprehensive web dashboard built with Next.js 15 and React 19, providing a modern interface to manage all your sync operations.
- π Real-Time Sync Monitoring - Live progress bars and status updates
- π Intuitive List Management - Add, edit, and organize your lists with ease
- π Comprehensive Analytics - Success rates, performance metrics, and historical data
- βοΈ Web-Based Configuration - Manage all settings through the dashboard
- π¨ Modern Responsive UI - Works perfectly on desktop, tablet, and mobile
- π Dark/Light Themes - Automatic system preference detection
Access your dashboard at: http://localhost:3222
(frontend) and http://localhost:4222/api
(API)
ElfHosted is your friendly neighborhood open-source PaaS, handling the geeky heavy-lifting (hosting, security, updates, you name it!) so you can focus on watching your media.
Important
ElfHosted π ListSync & SeerrBridge!
ListSync and its awesome companion SeerrBridge are fully supported and integrated into the ElfHosted ecosystem, you can already get them pre-configured in the bundles below, with a $1, 7-day trial!
Tip
ElfHosted Streaming Bundles: Your Turn-Key Streaming Powerhouse! πΉ
Want all of this without the DIY setup? π These ElfHosted bundles come pre-wired with RealDebrid, SeerrBridge and ListSync, and your choice of media server. Get the ultimate hassle-free, automated infinite streaming experience:
ListSync offers flexible deployment options to suit different use cases, from quick testing to full production deployments with web dashboard.
π¦ Full Stack Deployment (Recommended)
The full deployment includes everything: the core sync engine, REST API backend, and modern web dashboard for comprehensive management.
What's Included:
- π₯οΈ Web Dashboard (Port 3222) - Modern React interface
- π REST API (Port 4222) - Full API for automation
- βοΈ Core Sync Engine - Automated list synchronization
- π Real-time Monitoring - Live sync progress and analytics
- ποΈ Configuration Management - Web-based settings
Deploy with Docker Compose:
# Copy the example environment file and configure
cp .env.example .env
# Edit .env with your settings, then start using the public image
docker-compose up -d
# or build from source
docker-compose -f docker-compose.local.yml up -d
Access Points:
- π Web Dashboard: http://localhost:3222
- π API Docs: http://localhost:4222/docs
- π Health Check: http://localhost:4222/api/system/health
βοΈ Core-Only Deployment
Perfect for headless servers or when you only need the core synchronization functionality without the web interface.
What's Included:
- βοΈ Core Sync Engine - Automated list synchronization only
- π Console Logging - Text-based status updates
- π Scheduled Syncing - Automated intervals
- πΎ Local Database - SQLite for sync history
Deploy with Docker Compose:
# Copy the core environment file and configure
cp .env.core .env
# Edit .env with your settings, then start
docker-compose -f docker-compose.core.yml up -d
Perfect for:
- π₯οΈ Headless servers
- π¦ Minimal resource usage
- π§ Integration with existing systems
- π Lightweight automation
π Public Domain Deployment
Deploy ListSync with public internet access using your own domain, perfect for remote management and team access.
Deploy with Docker Compose:
# Copy the domain environment file and configure
cp .env.proddomain .env
# Edit .env with your domain settings, then start
docker-compose -f docker-compose.proddomain.yml up -d
All deployment options use the same environment configuration. Create a .env
file or use our plug-and-play template:
Quick Start with Pre-configured Lists: Use our plug-and-play configuration:
# Copy the plug-and-play environment file
cp .env.plugnplay .env
# Edit only the essential settings in .env:
# - OVERSEERR_URL (your Overseerr/Jellyseerr URL)
# - OVERSEERR_API_KEY (your API key)
# - DISCORD_WEBHOOK_URL (optional)
# - TZ (your timezone)
The .env
file comes pre-configured with curated lists including:
Provider | List Type | Description |
---|---|---|
IMDb | Chart & Lists | Top 250 Movies, Disney Movies |
Trakt | Trending & Popular | Trending Movies, Popular Movies, Trending Shows, Popular Shows |
MDBList | Curated Collections | Top Weekly Movies, Pixar Movies, Pirated Movies Charts |
Steven Lu | Popular Collection | Popular Movies Collection |
ListSync automatically timestamps all sync activities and displays them in the web interface. To ensure timestamps match your local time, configure your timezone using the examples below.
π Setting Your Timezone
Choose your timezone using either UTC offset or regional timezone format:
# docker-compose.yml
environment:
# UTC offsets (recommended for simplicity)
- TZ=UTC+0 # Greenwich Mean Time
- TZ=UTC-5 # US Eastern Time
- TZ=UTC-6 # US Central Time
- TZ=UTC-7 # US Mountain Time
- TZ=UTC-8 # US Pacific Time
- TZ=UTC+1 # Central European Time
- TZ=UTC+2 # Eastern European Time
- TZ=UTC+8 # China/Singapore Time
- TZ=UTC+9 # Japan/Korea Time
- TZ=UTC+10 # Eastern Australia Time
# docker-compose.yml
environment:
# GMT offsets (equivalent to UTC)
- TZ=GMT+0 # Greenwich Mean Time
- TZ=GMT-5 # US Eastern Time
- TZ=GMT-8 # US Pacific Time
- TZ=GMT+1 # Central European Time
- TZ=GMT+8 # Asia-Pacific Time
- π Online: Visit timeanddate.com/time/zones for the complete worldwide list of offsets
- π₯οΈ Linux/macOS: Run
timedatectl
orcat /etc/timezone
- πͺ Windows: Check "Time zone" in Settings β Time & Language
π§ Local Development & Manual Setup
For developers or advanced users who want to run ListSync without Docker or need a development environment.
- Python 3.9+
- Node.js 18+ (for web dashboard)
- Chrome/Chromium browser
- Git
Additional Resources:
- π Detailed Installation Guide
- π₯ Contributing Guide
- ποΈ Architecture Overview
For the most stable experience, use the source code from the latest release here.
π SeerrBridge Integration
SeerrBridge is our companion application that provides an alternative to traditional *arr stack (Radarr/Sonarr) setup. It works alongside ListSync to create a complete media management solution:
- Automated Processing: When ListSync adds requests to Jellyseerr/Overseerr, SeerrBridge automatically processes them
- Browser Automation: Uses Selenium to automate media fetching through Debrid Media Manager
- Simplified Setup: Eliminates the need for complex *arr stack configuration
- ListSync adds media requests to Jellyseerr/Overseerr
- SeerrBridge detects the requests via webhook
- SeerrBridge automatically processes the requests through DMM
- Media becomes available in your RD library
For detailed information about SeerrBridge, visit the SeerrBridge Repository.
ListSync supports multiple list services. You can add them using either the raw URL or the list ID.
π IMDb List ID or URL
- Navigate to your IMDb list in your browser.
- Copy the URL from the address bar. Examples:
- Custom lists:
https://www.imdb.com/list/ls012345678/
- IMDb charts:
https://www.imdb.com/chart/top/
(Top 250),https://www.imdb.com/chart/boxoffice/
(Box Office) - Watchlists:
https://www.imdb.com/user/ur12345678/watchlist
- Custom lists:
- Paste the URL directly into ListSync.
- Look at the URL:
- Custom lists:
ls012345678
- IMDb charts: Use the chart name (e.g.,
top
,boxoffice
) - Watchlists:
ur12345678
- Custom lists:
- Use the list ID in ListSync.
top
(Top 250 Movies)boxoffice
(Box Office)moviemeter
(MovieMeter)tvmeter
(TVMeter)
π Trakt List ID or URL
- Navigate to your Trakt list in your browser.
- Copy the URL from the address bar. Example:
https://trakt.tv/users/username/lists/example-list
- Paste the URL directly into ListSync.
- Click the "Share" button on your Trakt list.
- Copy the link, which will look like:
https://trakt.tv/lists/12345678
- The list ID is the number at the end (e.g.,
12345678
).
π Trakt Special Lists
- Copy the URL from the address bar. Examples:
https://trakt.tv/movies/trending
https://trakt.tv/shows/popular
https://trakt.tv/movies/boxoffice
ListSync supports a shortcut format of list-type:media-type
. Examples:
trending:movies
- Top trending moviespopular:shows
- Popular TV showsanticipated:movies
- Most anticipated movies
- List types: trending, popular, anticipated, watched, collected, boxoffice, streaming, recommendations, favorited
- Media types: movies, shows
Note: The boxoffice list type is only available for movies.
These special lists sync a configurable number of items (default: 20, can be set via TRAKT_SPECIAL_ITEMS_LIMIT environment variable).
π Letterboxd URL
- Navigate to your Letterboxd list in your browser.
- Copy the URL from the address bar. Example:
https://letterboxd.com/user/list/example-list/
https://letterboxd.com/user/watchlist/
(for watchlists)
- Paste the URL directly into ListSync.
π MDBList URL or Username/List Format
- Navigate to your MDBList list in your browser.
- Copy the URL from the address bar. Example:
https://mdblist.com/lists/username/listname
- Paste the URL directly into ListSync.
- You can also use the simpler format:
username/listname
- ListSync will automatically expand this to the full URL.
π Steven Lu's Popular Movies
This is a curated list of popular movies maintained by Steven Lu, available at:
https://s3.amazonaws.com/popular-movies/movies.json
To enable this list, simply add the below vairable:
STEVENLU_LISTS=stevenlu
This will be recognized as the Steven Lu Popular Movies list.
- Security Best Practices: Please read scripts you find online before running them.
- API Credentials: Always keep your API credentials secure.
- Rate Limiting: Be mindful of Overseerr's rate limiting policies during imports.
- Permissions: Only import and manage media you have the rights to handle.
If you find ListSync useful and would like to support its development, consider becoming a sponsor:
β‘οΈ Sponsor us on GitHub
Thank you for your support!
For comprehensive documentation, visit our Documentation Hub or explore specific guides:
- User Guide - Complete usage guide with examples
- Installation Guide - Detailed installation instructions
- Configuration Guide - Environment setup and configuration
- API Documentation - Complete REST API reference
- Architecture Overview - Technical architecture and design
If you encounter any issues while using ListSync, please check our Troubleshooting Guide for solutions to common problems.
We welcome contributions! For guidelines on how to contribute, please see our Contributing Guide.
This project is licensed under the MIT License. Review the LICENSE file for more details.
For important legal information about using ListSync, please refer to our Legal Disclaimer.