mediasite: A self-hosted film catalog with DHT search
mediasite combines TMDB charts, ratings, and magnet search through a self-hosted bitmagnet stack; setup requires Docker and a TMDB key.
Project facts
GitHub Ecosystem- License
- MIT
- Language
- JavaScript
- Stars
- 44
- Data checked
- 2026-11-01
Snapshot figures reflect the check date and may change over time.
Running a media server still leaves you jumping between film charts, rating sites, and search indexes to decide what to watch. mediasite is a self-hosted movie and TV discovery site that combines TMDB lists, Douban and Rotten Tomatoes ratings, and a magnet index from bitmagnet. It also includes a web console for controlling the crawler. GitHub metadata checked on November 1, 2026: 44 stars, MIT license, and JavaScript as the primary language.

Core features
mediasite connects title discovery, ratings, and a self-hosted index in one site. It does not implement BitTorrent or DHT crawling itself. The README says it uses the separate bitmagnet project for crawling and content classification.
- Browse film and TV lists: The site syncs TMDB’s popular, top-rated, trending, and now-playing lists. You can filter by movie or TV, year, and genre; the README also lists a Douban Top 250 page.
- See ratings from several sources: Detail pages add Douban and Rotten Tomatoes ratings alongside TMDB metadata. The README describes both batch lookups and on-demand detail-page requests, with caching and rate limiting.
- Search the DHT index: Each title can query bitmagnet for magnet-index results, sorted by seed count, resolution, subtitles, and episode details, with same-name noise filtered out.
- Control the crawler: A web console sets the DHT crawler’s run mode, crawl level, and schedule, and displays status, network speed, and newly indexed items. A host-side agent and the site coordinate through state files; the agent reconciles the requested state every two seconds.
- Stream while downloading: An optional
streamsidecar directly plays compatible formats and converts others to HLS. The first image pull is about 4.6 GB; resource use depends on the media and host.
Typical use cases
- Run a personal media site: A home-lab user can browse TMDB titles and see ratings and locally indexed results in one interface.
- Manage a private DHT crawler: Operators can control bitmagnet’s start/stop state, crawl settings, and schedule from the web console. The stack includes bitmagnet, PostgreSQL, Docker Compose, and a host agent.
- Find content you may access: The tool can be used to discover and play content that is licensed, in the public domain, or owned by the operator. Magnet links connect to peers; the operator chooses what to search for.
mediasite is for finding and organizing media sources. If you want an AI coding assistant to produce a video, see OpenMontage and its local production workflow.
Quick start
The README requires Docker Compose, Node.js 20 or later for the host-side crawler agent, and TMDB credentials. Start by cloning the repository and preparing separate .env files for the site and crawler:
git clone https://github.com/wxwxOk/mediasite /opt/mediasite
cd /opt/mediasite
Then follow the repository guide to start bitmagnet and PostgreSQL, the website, and the crawler agent, filling in the TMDB credentials. Configure access control before deployment: with SITE_PASSWORD empty, the site has no authentication and should stay bound to 127.0.0.1. Only consider a public bind after setting a password. The crawler agent also needs Docker control and should run as a trusted host service.
Summary
mediasite fits operators willing to maintain a multi-container media stack who want title discovery, ratings, and their own index in one place. It adds TMDB data, Douban and Rotten Tomatoes ratings, a crawler console, and a playback sidecar on top of bitmagnet. The repository is MIT-licensed; GitHub metadata was checked on November 1, 2026.
The README says the project does not host or distribute copyrighted files; it queries the public DHT and indexes sources configured by the user. Playback connects to other BitTorrent peers and clears its temporary cache. The legality of DHT searches and magnet streaming varies by location and by the content involved, so restrict use to material you are authorized to access or distribute. Also account for the default empty password, the crawler agent’s Docker permissions, and the roughly 4.6 GB first pull for the optional playback sidecar.