/MediaTracker

Self hosted media tracker for movies, tv shows, video games, books and audiobooks

Primary LanguageTypeScriptMIT LicenseMIT

MediaTracker · GitHub license Join the chat at https://gitter.im/bonukai/MediaTracker Crowdin Docker Image Size (latest by date) Docker Pulls CodeFactor codecov

Self hosted platform for tracking movies, tv shows, video games, books and audiobooks, highly inspired by flox

Demo

https://mediatracker-bonukai.herokuapp.com
Username: demo
Password: demo

API Documentation

https://bonukai.github.io/MediaTracker/

Installation

Building from source

git clone https://github.com/bonukai/MediaTracker.git
cd MediaTracker
npm install
npm run build
npm run start

From npm

npm install -g mediatracker
mediatracker

Database file, logs and assets will be saved in $HOME/.mediatracker

With docker

Version Tags

Tag Description
latest stable releases
unstable pre-releases
docker volume create assets
docker run \
    -d \
    --name mediatracker \
    -p 7481:7481 \
    -v /home/YOUR_HOME_DIRECTORY/.config/mediatracker/data:/storage \
    -v assets:/assets \
    -e TMDB_LANG=en \
    -e AUDIBLE_LANG=us \
    bonukai/mediatracker:latest

With docker-compose

version: "3"
services:
  mediatracker:
    container_name: mediatracker
    ports:
      - 7481:7481
    volumes:
      - /home/YOUR_HOME_DIRECTORY/.config/mediatracker/data:/storage
      - assetsVolume:/assets
    environment:
      SERVER_LANG: en
      TMDB_LANG: en
      AUDIBLE_LANG: us
    image: bonukai/mediatracker:latest

volumes:
  assetsVolume: null

Parameters

Parameter Function
-p 7481 Port web API
-v /storage Directory with database
-v /assets Posters directory
-v /logs Logs directory

Environment variables

Name Description
TMDB_LANG ISO 639-1 country code, one of: om, ab, aa, af, sq, am, ar, hy, as, ay, az, ba, eu, bn, dz, bh, bi, br, bg, my, be, km, ca, zh, co, hr, cs, da, nl, en, eo, et, fo, fj, fi, fr, fy, gl, ka, de, el, kl, gn, gu, ha, he, hi, hu, is, id, ia, ie, ik, iu, ga, it, ja, jw, kn, ks, kk, rw, ky, rn, ko, ku, lo, la, lv, ln, lt, mk, mg, ms, ml, mt, mi, mr, mo, mn, na, ne, no, oc, or, ps, fa, pl, pt, pa, qu, rm, ro, ru, sm, sg, sa, gd, sr, sh, st, tn, sn, sd, si, ss, sk, sl, so, es, su, sw, sv, tl, tg, ta, tt, te, th, bo, ti, to, ts, tr, tk, tw, ug, uk, ur, uz, vi, vo, cy, wo, xh, yi, yo, za, zu
AUDIBLE_LANG ISO 639-1 country code, one of: au, ca, de, es, fr, in, it, jp, gb, us
SERVER_LANG ISO 639-1 country code, one of: da, de, en, es
DATABASE_CLIENT Database client: better-sqlite3 or pg
DATABASE_PATH Only for sqlite, path to database
DATABASE_URL Connection string
DATABASE_HOST Database host
DATABASE_PORT Database port
DATABASE_USER Database user
DATABASE_PASSWORD Database password
DATABASE_DATABASE Database name
IGDB_CLIENT_ID IGDB API key, needed for game lookup
IGDB_CLIENT_SECRET IGDB secret

Heroku

Deploy

Building docker image

docker build --tag mediatracker:latest https://github.com/bonukai/MediaTracker.git
docker run -p 7481:7481 mediatracker

Features

  • notifications
  • calendar
  • multiple users
  • REST API
  • watchlist
  • docker image
  • import from Trakt
  • import from goodreads

Import

Service Imported data
Trakt Watchlist, watched history, ratings
goodreads Read, Currently Reading, Want to Read, ratings

Metadata providers

Provider Media type Localization
TMDB movie, tv show
IGDB* video game
Audible API audiobooks
Open Library books

* IGDB has a limit of 4 requests per second. Because of that IGDB API key is not provided with MediaTracker, it can be acquired here and set in http://localhost:7481/#/settings/configuration

Notification platforms

Contributors