Yamtrack

App Tests Docker Image Image CodeFactor Codecov GitHub

Yamtrack is a self hosted simple media tracker. You can track movies, tv shows, anime and manga.

It uses The Movie Database and MyAnimeList APIs to fetch media information.

Features

  • Track movies, tv shows, anime and manga
  • Track each season of a tv show individually and episodes watched
  • Save score, status, progress, start and end dates, or write a note.
  • Docker support
  • Multi-users support
  • Import from MyAnimeList, The Movie Database and AniList

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:

docker-compose up -d

Alternatively, if you need a PostgreSQL database, you can use the docker-compose.postgres.yml file.

Environment variables

Name Type Description Required Default Notes
YAMTRACK_TMDB_API String The Movie Database API key Yes None Required for movies and tv shows
YAMTRACK_MAL_API String MyAnimeList API key Yes None Required for anime and manga
YAMTRACK_SECRET String Django secret key Recommended "secret" SECRET_KEY
YAMTRACK_ALLOWED_HOSTS List Base IP / Domain No "*" ALLOWED_HOSTS
YAMTRACK_REGISTRATION Bool User registration No True
YAMTRACK_DEBUG Bool Django debug mode No False
PUID Int User ID No 1000
PGID Int Group ID No 1000
TZ String Timezone No UTC
WEB_CONCURRENCY Int Number of worker processes No 1 (2 x num cores) + 1 recommended

Environment variables for PostgreSQL

Name Type Description Required Default Notes
YAMTRACK_DB_HOST String Database host No None When not set, sqlite is used
YAMTRACK_DB_PORT Int Database port No 5432
YAMTRACK_DB_NAME String Database name No "yamtrack"
YAMTRACK_DB_USER String Database user No "yamtrack"
YAMTRACK_DB_PASSWORD String Database password No "yamtrack"

Local development

Clone the repository and change directory to it.

git clone https://github.com/FuzzyGrim/Yamtrack.git
cd Yamtrack

Create a .env file in the root directory and add the following variables.

TMDB_API=API_KEY
MAL_API=API_KEY
SECRET=SECRET
DEBUG=True

Then run the following commands.

python -m pip install -U -r requirements_dev.txt
cd src
python src/manage.py migrate
python src/manage.py runserver

Go to: http://localhost:8000

Languages
Python 76.4%
HTML 16.8%
CSS 5%
JavaScript 1.7%