MediaTracker

May 29, 2024 · View on GitHub

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

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

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

  • 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