TinyMediaManager Tiny Media Site

TMM is a tools which allows to manage a film and serie collection.

TMM is a very useful media manager, I used it with the export template : https://gitlab.com/maxburon/tinyMediaManager/-/tree/darkTemplate/templates/DarkTemplate

The documentation of the export: https://gitlab.com/tinyMediaManager/tinyMediaManager/-/wikis/Export-Templates?version_id=a5b7f15647719bdaa3a7f93a51e5aa123ccbd962

There is a forum about tinymediamanager : https://forum.kodi.tv/forumdisplay.php?fid=204


Download the last build from : https://www.tinymediamanager.org/download/

mkdir ~/.tinymediamanager
cd ~/.tinymediamanager/

wget https://release.tinymediamanager.org/v3/dist/tmm_3.1.8_linux.tar.gz
tar -xvf tmm_3.1.8_linux.tar.gz

cp -r /ssh:bcdp:~/tinyMediaManager/build/data .
rm data/*.db


Tiny media site is a web site representing a movie and tvshow collection. It retrieves meta data of the medias using the NFO files present in the collection directories. Tiny media site have been design to work well with tinyMediaManager. It is based on the framework Sapper.




  • an index page containing all the movies
  • RSS feed for the latest movies
  • searching movie by title
  • one page per movie with directors, genres, actors and download links
  • one page per director, actor, genre and tag containing the related movies
  • an index page of the movie tags

Tv Show

  • an index page containing all the tv shows
  • one page per tv show containing all the episodes per season
  • one m3u file per tv show seasons


It requires that nodejs and npm are installed. Then, you can install the dependencies using:

npm install



Copy .env.source to .env and fill it with your values.

Data gathering

You can gather the metadata by generating the data/tvshows.json and data/movies.json JSON files, using:

node scripts/gatherData.js

Run the server

npm run build
npm run start


Sapper supports static export of the website outputted in __sapper__/export using:

# movies.json is not reach during the crawl, but it is used at client side for text search
     npm run export --entry "/movies.json"
  • Setup for file links

    Copy the file directories hierarchy from the root directory of your export by creating a symlink to your movie folder:

    # your movies folder have the following absolute path
    # /parent_path/movies
    cd export
    mkdir -p parent_path
    cd parent_path
    ln -s /parent_path/movies movies

todo   dev

TODO réduire la taille des posters

en utilisant la commande suivante, on peut espérer un facteur de réduction entre 5 et 10:

convert -resize 256x -sampling-factor 4:2:0 -strip -quality 75 -interlace JPEG -colorspace sRGB poster.jpg poster.min.jpg

Generate JSON movie files (old)

This is the way, I used to retrieve the json document data/movies.json from the NFO files. This is a nice usage example of jq and xml2json tools.

DIRS="/mnt/super8/films /mnt/pellicule/videos/films"

for dir in $DIRS;
    > $TMP
    for f in $dir/*/*.nfo;
        echo $f;
        xml2json -t xml2json "$f" --pretty --strip_text >> $TMP;
    jq -s --arg dir $dir '.[].movie| . + {directory: $dir}' $TMP >> $OUTPUT
jq -s '.' $TMP > $OUTPUT

Dark Template

It is the ancestor of tinyMediaSite, a TinyMediaManager template to export your collection as a static website. The source code is available on gitlab: https://gitlab.com/maxburon/tinyMediaManager/-/tree/devel/templates/DarkTemplate

This post accepts webmentions. Do you have the URL to your post?

Otherwise, send your comment on my service.

Or interact from the fediverse with your username:

fediverse logo Share on the Fediverse