Yamtrack
Yamtrack is a self hosted media tracker for movies, tv shows, anime, manga, video games and books.
๐ 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 and comics.
- ๐บ 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 |
|---|---|
![]() |
![]() |
| Media List Grid | Media List Table |
|---|---|
![]() |
![]() |
| Media Details | Tracking |
|---|---|
![]() |
| Season Details | Tracking Episodes |
|---|---|
![]() |
| Lists | Statistics |
|---|---|
![]() |
![]() |
| Create Manual Entries | Import Data |
|---|---|
![]() |
![]() |
๐ณ Installing with Docker
Copy the default docker-compose.yml file from the repository and set the environment variables. This would use a SQlite database, which is enough for most use cases.
To start the containers run:
Alternatively, if you need a PostgreSQL database, you can use the docker-compose.postgres.yml file.
๐ Reverse Proxy Setup
When using a reverse proxy, if you see a 403 - Forbidden error, you need to set the URLS environment variable to the URL you are using for the app.
services:
yamtrack:
...
environment:
- URLS=https://yamtrack.mydomain.com
...Note that the setting must include the correct protocol (https or http), and must not include the application / context path. Multiple origins can be specified by separating them with a comma (,).
โ๏ธ Environment variables
For detailed information on environment variables, please refer to the Environment Variables wiki page.
๐ป Local development
Clone the repository and change directory to it.
git clone https://github.com/FuzzyGrim/Yamtrack.git
cd YamtrackInstall Redis or spin up a bare redis container:
docker run -d --name redis -p 6379:6379 --restart unless-stopped redis:8-alpine
Create a .env file in the root directory and add the following variables.
TMDB_API=API_KEY MAL_API=API_KEY IGDB_ID=IGDB_ID IGDB_SECRET=IGDB_SECRET STEAM_API_KEY=STEAM_API_SECRET SECRET=SECRET DEBUG=True
Then run the following commands.
python -m pip install -U -r requirements-dev.txt cd src python manage.py migrate python manage.py runserver & celery -A config worker --beat --scheduler django --loglevel DEBUG & tailwindcss -i ./static/css/input.css -o ./static/css/tailwind.css --watch
Go to: http://localhost:8000
๐ช 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:









