Home

Awesome

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

mediatracker.app
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

TagDescription
lateststable releases
unstablepre-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 \
    -e TZ=Europe/London \
    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
      TZ: Europe/London
    image: bonukai/mediatracker:latest

volumes:
  assetsVolume: null

Parameters

ParameterFunction
-p 7481Port web API
-v /storageDirectory with database
-v /assetsPosters directory
-v /logsLogs directory

Environment variables

NameDescription
TMDB_LANGISO 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_LANGISO 639-1 country code, one of: au, ca, de, es, fr, in, it, jp, gb, us
SERVER_LANGISO 639-1 country code, one of: da, de, en, es, fr, ko, pt
DATABASE_CLIENTDatabase client: better-sqlite3 or pg
DATABASE_PATHOnly for sqlite, path to database
DATABASE_URLConnection string
DATABASE_HOSTDatabase host
DATABASE_PORTDatabase port
DATABASE_USERDatabase user
DATABASE_PASSWORDDatabase password
DATABASE_DATABASEDatabase name
IGDB_CLIENT_IDIGDB API key, needed for game lookup
IGDB_CLIENT_SECRETIGDB secret
PUIDUserID
PGIDGroupID
TZTimezone, for example Europe/London, see full list
ASSETS_PATHDirectory for posters and backdrops, defaults to '$HOME/.mediatracker/img'
LOGS_PATHDirectory for logs, defaults to '$HOME/.mediatracker/logs'
HOSTNAMEIP address that the server will listen on
PORTPort that the server will listen on

Heroku

Deploy

Building docker image

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

Features

Import

ServiceImported data
TraktWatchlist, watched history, ratings
goodreadsRead, Currently Reading, Want to Read, ratings

Metadata providers

ProviderMedia typeLocalization
TMDBmovie, tv show
IGDB*video game
Audible APIaudiobooks
Open Librarybooks

* 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

Integrations

Contributors

Similar projects