Home

Awesome

Jellyfin Auto Collections

A tool to automatically make and update jellyfin collections based on internet lists such as IMDb and letterboxd.

Getting collections list...

found /r/TrueFilm Canon (1000 films) 015dee24c79dacfa80300afb7577fc37
************************************************

Can't find A Trip to the Moon
Can't find The Birth of a Nation
Can't find Intolerance: Love's Struggle Throughout the Ages
Can't find A Man There Was
Can't find The Cabinet of Dr. Caligari
Added Big Buck Bunny cc561c8b1d5da3a080cdb61ebe44d1a7
Added Big Buck Bunny 2 0515533b716e8fe76d3b630f9b9b6d51
Can't find Nosferatu
Can't find Dr. Mabuse, the Gambler
Can't find Häxan
Added Big Buck Bunny 3 9a6b8002ef8f12a0611e92f5104d8b8e
Can't find Sherlock, Jr.
Can't find Greed
Can't find The Last Laugh
Can't find Battleship Potemkin
Added Big Buck Bunny 5 98690cc73413b12593988687ee737a27
Can't find Ménilmontant
...

pic-selected-220609-1405-13

Supported List Sources

Please feel free to send pull requests with more!

Usage

First, copy config.yaml.example to config.yaml and change the values for your specific jellyfin instance.

Bare Metal

Make sure you have Python 3 and pip installed.

Install the requirements with pip install -r requirements.txt.

Then run python main.py.

Docker

The easiest way to get going is to use the provided docker-compose.yml configuration. Whatever directory you end up mapping to the /app/config directory needs to contain your updated config.yaml file:

services:
  jellyfin-auto-collections:
    image: ghcr.io/ghomashudson/jellyfin-auto-collections:latest
    container_name: jellyfin-auto-collections
    environment:
      - CRONTAB=0 0 * * *
      - TZ=America/New_York
      - JELLYFIN_SERVER_URL=https://www.jellyfin.example.com
      - JELLYFIN_API_KEY=1a1111aa1a1a1aaaa11a11aa111aaa11
      - JELLYFIN_USER_ID=2b2222bb2b2b2bbbb22b22bb222bbb22
    volumes:
      - ${CONFIG_DIR}/jellyfin-auto-collections/config:/app/config
    restart: unless-stopped

Configuration Options

Environment VariableDescription
JELLYFIN_SERVER_URLThe URL of your Jellyfin instance
JELLYFIN_API_KEYGenerated API Key
JELLYFIN_USER_IDUserID from the URL of your Profile in Jellyfin
CRONTABThe interval the scripts will be run on in crontab syntax. Blank to disable scheduling.
TZTimezone the interval will be run in. No effect is scheduling is disabled.