A tool to automatically make and update jellyfin collections based on internet lists such as IMDb and letterboxd. Also syncs with Overseerr/Jellyseerr.
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
...
- IMDB Charts - e.g. Top 250 Movies, Top Box Office
- IMDB Lists - e.g. Top 100 Greatest Movie of All time
- Letterboxd - e.g. Movies everyone should watch at least once...
- mdblist - e.g. Top Movies of the week
- They Shoot Pictures, Don't They - The 1,000 Greatest Films
- Trakt - e.g. Popular Movies. See the Wiki for instructions.
- Steven Lu Popular movies
- The Criterion Channel
- Jellyfin API Queries - Make lists which match a particular filter from the Jellyfin API. See the Wiki for some usage examples.
- Radarr/Sonarr - Make collections from your *arr tags.
Please feel free to send pull requests with more!
First, copy config.yaml.example
to config.yaml
and change the values for your specific jellyfin instance.
Make sure you have Python 3 and pip installed.
Install the requirements with pip install -r requirements.txt
.
Then run python main.py
.
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
Environment Variable | Description |
---|---|
JELLYFIN_SERVER_URL | The URL of your Jellyfin instance |
JELLYFIN_API_KEY | Generated API Key |
JELLYFIN_USER_ID | UserID from the URL of your Profile in Jellyfin |
CRONTAB | The interval the scripts will be run on in crontab syntax. Blank to disable scheduling (make sure you're not using the docker restart policy). |
TZ | Timezone the interval will be run in. No effect if scheduling is disabled. |