Yamtrack

Yamtrack

Docker app from grtgbln's Repository

Overview

Yamtrack is a self-hosted media tracker for movies, tv shows, anime and manga.

Yamtrack

App Tests Docker Image CodeFactor Codecov GitHub

Yamtrack is a self hosted media tracker for movies, tv shows, anime, manga, video games, books, comics, and board games.

📚 Documentation

The full documentation is available at fuzzygrim.github.io/Yamtrack.

🚀 Demo

You can try the app at yamtrack.fuzzygrim.com using the username demo and password demo.

✨ Features

  • 🎬 Track movies, tv shows, anime, manga, games, books, comics, and board games.
  • 📺 Track each season of a tv show individually and episodes watched.
  • ⭐ Save score, status, progress, repeats (rewatches, rereads...), start and end dates, or write a note.
  • 📈 Keep a tracking history with each action with a media, such as when you added it, when you started it, when you started watching it again, etc.
  • ✏️ Create custom media entries, for niche media that cannot be found by the supported APIs.
  • 📂 Create personal lists to organize your media for any purpose, add other members to collaborate on your lists.
  • 📅 Keep up with your upcoming media with a calendar, which can be subscribed to in external applications using a iCalendar (.ics) URL.
  • 🔔 Receive notifications of upcoming releases via Apprise (supports Discord, Telegram, ntfy, Slack, email, and many more).
  • 🐳 Easy deployment with Docker via docker-compose with SQLite or PostgreSQL.
  • 👥 Multi-users functionality allowing individual accounts with personalized tracking.
  • 🔑 Flexible authentication options including OIDC and 100+ social providers (Google, GitHub, Discord, etc.) via django-allauth.
  • 🦀 Integration with Jellyfin, Plex and Emby to automatically track new media watched.
  • 📥 Import from Trakt, Simkl, MyAnimeList, AniList and Kitsu with support for periodic automatic imports.
  • 📊 Export all your tracked media to a CSV file and import it back.

📱 Screenshots

Homepage Calendar
Homepage calendar
Media List Grid Media List Table
List Grid List Table
Media Details Tracking
Media Details Tracking
Season Details Tracking Episodes
Season Details Tracking Episodes
Lists Statistics
Lists Statistics
Create Manual Entries Import Data
Create Manual Entries Import Data

🐳 Installing with Docker

Download the default docker-compose.yml file from the repository, update the environment values, and start Yamtrack:

docker compose up -d

The default Compose file uses SQLite, which is enough for most personal installs. For full SQLite, PostgreSQL, and reverse proxy setup instructions, see the Setup documentation.

💻 Development

Development instructions are available in the Development documentation.

💪 Support the Project

There are many ways you can support Yamtrack's development:

⭐ Star the Project

The simplest way to show your support is to star the repository on GitHub. It helps increase visibility and shows appreciation for the work.

🐛 Bug Reports

Found a bug? Open an issue on GitHub with detailed steps to reproduce it. Quality bug reports are incredibly valuable for improving stability.

💡 Feature Suggestions

Have ideas for new features? Share them through GitHub issues. Your feedback helps shape the future of Yamtrack.

🧪 Contributing

Pull requests are welcome! Whether it's fixing typos, improving documentation, or adding new features, your contributions help make Yamtrack better for everyone.

☕ Donate

If you'd like to support the project financially:

ko-fi

Install Yamtrack on Unraid in a few clicks.

Find Yamtrack in Community Apps on your Unraid server, review the template, and click Install. Unraid handles the Docker app or plugin setup from the published template.

Open the Apps tab on your Unraid server Search Community Apps for Yamtrack Review the template variables and paths Click Install

Requirements


        Requires a separate Redis server.
    

Related apps

Details

Repository
ghcr.io/fuzzygrim/yamtrack
Last Updated2026-07-17
First Seen2024-05-10

Runtime arguments

Web UI
http://[IP]:[PORT:8000]/
Network
bridge
Privileged
false

Template configuration

WebUIPorttcp

Container Port: 8000

Target
8000
Default
8000
Value
8000
SecretVariable

Secret key for the application

Target
SECRET
Redis HostVariable

Redis connection details

Target
REDIS_URL
Default
redis://localhost:6379
TMDb API keyVariable

Override default The Movie Database API key

Target
TMDB_API
Allow NSFW on TMDbVariable

Allow NSFW content from TMDb

Target
TMDB_NSFW
Default
False|True
TMDb languageVariable

The language to use for TMDb

Target
TMDB_LANG
Default
en
MyAnimeList API keyVariable

Override default MyAnimeList API key

Target
MAL_API
Allow NSFW on MyAnimeListVariable

Allow NSFW content from MyAnimeList

Target
MAL_NSFW
Default
False|True
IGDB API keyVariable

Override default IGDB API key

Target
IGDB_ID
IGDB API secretVariable

Override default IGDB API secret

Target
IGDB_SECRET
Allow NSFW on IGDBVariable

Allow NSFW content from IGDB

Target
IGDB_NSFW
Default
False|True
Allowed hostsVariable

Host/domain names that this Django site can serve, set this to your domain name if exposing to the public

Target
ALLOWED_HOSTS
Allow user registrationVariable

Allow users to register for an account

Target
REGISTRATION
Default
True|False
DebugVariable

Enable debug mode

Target
DEBUG
Default
False|True
PUIDVariable

The user ID of the user running the container

Default
1000
PGIDVariable

The group ID of the user running the container

Default
1000
Webserver process countVariable

Number of webserver processes, recommended to have a value of (2 x num cores) + 1

Target
WEB_CONCURRENCY
Default
1
Database storage pathPathrw

Path to the database storage

Target
/yamtrack/db
Default
/mnt/user/appdata/yamtrack/db
Value
/mnt/user/appdata/yamtrack/db