🇭🇺 Magyar nyelvű leírás (README in Hungarian)
A self-hosted personal media tracker and digital logbook for everything you watch, read, and play.
MediaTrail is an independent, self-hosted web application to track movies, TV shows, seasons, episodes, anime, manga, video games, books, comics, and board games in one place. Organize your library, log dates, assign ratings, track your progress, build custom lists, and explore your personal viewing statistics.
MediaTrail originates as an independent fork of Yamtrack, adding essential capabilities such as an integrated REST API, rich episode watch histories, live playback status, Nuvio integration, and native Hungarian localization.
- A record for every title: Movies, TV shows, anime, manga, video games, books, comics, and board games. Save a score, status, and progress, count repeats, set start and end dates, and write a note.
- Seasons, and every time you watched: Follow each season on its own. An episode can keep several watch records, each with its own date and note. Movies and series stay separate.
- A history of the changes: The log keeps the steps themselves: when you added a title, when you started it, and when you watched or read it again.
- Titles the catalogs do not have: Add a custom entry when none of the supported sources lists it.
- Lists with other people: Build a personal list for any purpose and add other accounts as collaborators.
- Upcoming releases: A calendar of what is coming up, plus an iCalendar (
.ics) link for other calendar apps. Release notices can go out through Apprise (Discord, Telegram, ntfy, Slack, email, and others). - Separate accounts: Each person has their own library. Sign-in can stay on MediaTrail, or use OIDC and social providers such as Google, GitHub, and Discord through django-allauth.
- English and Hungarian: The interface language is chosen per account. TMDB titles follow
TMDB_LANG. - Imports, including Nuvio: Nuvio can add only new items or refresh items you already track, with encrypted credentials and a schedule. Trakt, SIMKL, MyAnimeList, AniList, and Kitsu can run on a schedule too. Export the library to CSV and import that file back, or bring in IMDb, Goodreads, Steam, and HowLongToBeat lists.
- Playback, including Nuvio: The home page shows a live Now Watching banner with position, elapsed time, and time remaining when a Nuvio companion app reports what is playing. Jellyfin, Plex, and Emby can mark newly watched media on their own.
- REST API (Preview): Full REST API at
/api/v1/, OpenAPI schema at/api/schema/, and interactive Swagger documentation at/api/docs/. Written reference: API.md (magyar). - One container: Docker Compose, with SQLite or PostgreSQL. Redis runs inside the image, and all data stays in a single mounted folder.
MediaTrail features a live "Now Watching" banner on your home dashboard that updates in real time as you watch:
(Also available in a compact format for responsive dashboards)
The banner sits at the top of the home page, above the library:
Note: Now Watching needs a Companion App. The banner appears when that app reports what is playing.
MediaTrail is distributed as a lightweight, pre-configured Docker container with internal Redis support.
Create a docker-compose.yml file:
services:
mediatrail:
image: ghcr.io/aicon/mediatrail:latest
container_name: mediatrail
restart: unless-stopped
ports:
- "8000:8000"
environment:
SECRET: longstring
TMDB_LANG: en
TMDB_API:
TVDB_API:
URLS:
ADMIN_ENABLED: false
REGISTRATION: false
volumes:
- ./db:/mediatrail/dbOpen the Compose file and replace the example secret:
SECRET=longstring
Use a long random value for SECRET. If you are running MediaTrail behind a reverse proxy, also set URLS to the public origin:
URLS=https://mediatrail.example.com
The URL must include the protocol (https or http) and should not include a trailing slash or application path. Multiple origins can be separated with commas.
For the full list of supported settings, see Runtime.
Start the container:
docker compose up -dOpen your browser at http://localhost:8000.
Note on Upgrading from Yamtrack:
The internal storage path in MediaTrail is/mediatrail/db(replacing Yamtrack's old/yamtrack/db). Simply map your existing directory to./db:/mediatrail/db.
MediaTrail is an independent, unofficial fork and is not affiliated with, maintained by, or endorsed by upstream Yamtrack.
MediaTrail diverged from Yamtrack dev post-v0.25.3 (specifically the July 12, 2026 tabbed detail view), incorporating PR #1378 (REST API preview) and PR #1608 (Episode history).
When upstream Yamtrack adopted the 0.26 architecture, MediaTrail intentionally remained on the 0.25.x foundation to prioritize stability, self-contained deployment, and specific integrations. Upstream changes such as the rewritten log page, statistical reworks, and Trakt zip imports were deliberately omitted.
| Feature | Upstream Yamtrack (Stable) | MediaTrail |
|---|---|---|
REST API (/api/v1/) |
No | Yes |
| Multi-record Episode History | No | Yes |
| Live "Now Watching" Banner | No | Yes |
| Nuvio Sync / Import | No | Yes |
| Hungarian Localization | No | Yes |
| Embedded Redis Container | No (Requires separate Redis) | Yes (Included in image) |
| Internal Python Package | yamtrack |
yamtrack (kept for compatibility) |
MediaTrail connects with dedicated companion applications to automatically scrobble your viewing activity:
| Project | Description |
|---|---|
| MediaTrail-Scrobbler | Background service that scrobbles Nuvio playback events to MediaTrail. (ghcr.io/aicon/mediatrail-scrobbler) |
| NuvioTV-MT | Dedicated Android TV build with native MediaTrail scrobbler integration. |
| NuvioMobile-MT | Dedicated mobile client build with MediaTrail support. |
Comprehensive user guides, installation steps, and configuration examples are hosted in the official documentation repository:
- Manual: https://aicon.github.io/mediatrail-docs/
- API reference: API.md · API_HU.md
Documentation chapters: Installation, Library, Imports (including Nuvio), Environment Configuration, Accounts, and Maintenance.
If you enjoy MediaTrail and want to support its maintenance and ongoing development:
MediaTrail is licensed under the GNU Affero General Public License v3.0 (AGPL-3.0).
Yamtrack's original copyright notices are preserved. MediaTrail's copyright declarations are recorded in NOTICE.
Because this is modified network software, AGPL-3.0 Section 13 requires a prominent offer of the corresponding source code of the exact version being executed:
- Set
MEDIATRAIL_SOURCE_URLto the public HTTP(S) URL of your source repository or release package before exposing the instance over a network. - This variable may be left empty for private local installations.