Skip to content

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

License

Notifications You must be signed in to change notification settings

bonukai/MediaTracker

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

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

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 \
    -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

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, fr, ko, pt
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
PUID UserID
PGID GroupID
TZ Timezone, for example Europe/London, see full list
ASSETS_PATH Directory for posters and backdrops, defaults to '$HOME/.mediatracker/img'
LOGS_PATH Directory for logs, defaults to '$HOME/.mediatracker/logs'
HOSTNAME IP address that the server will listen on
PORT Port 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

  • 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

Integrations

  • Jellyfin - Plugin, minimum MediaTracker version: 0.1.0
  • Plex - Generate Application token in your MediaTracker instance, and add a webhook in plex [your MediaTracker url]/api/plex?token=[MediaTracker Application Token]
  • Kodi - Plugin, minimum MediaTracker version: 0.1.0

Contributors

Similar projects