Skip to content
blurberyPublic

About

Automatic, beautiful collections for Emby, Jellyfin and Silo. Trending, streaming, genres and 65 movie franchises, with posters made from your own library.

Topics

Resources

Code of conduct

Contributing

Security policy

Stars

2 stars

Watchers

0 watching

Forks

Latest commit

 

History

28 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

CineSets

Automatic, beautiful collections for Emby, Jellyfin and Silo

CI Latest release Licence: AGPL-3.0-or-later Sponsor blurbery

Setup · Preview · Dashboard tour · How it fits together · Releases · ♥ Sponsor

I made CineSets because I wanted my server's Collections page to look good without having to look after it. It builds trending, streaming, genre, best of, kids and seasonal collections, plus 65 movie franchises, from what's already in your library. Each one gets a matching poster, they stay in a set order and they update on a schedule.

It only ever touches collections it made itself. Your films, shows, libraries, users and settings are left alone. It talks to your server, public mdblist lists and Wikimedia Commons (for the streaming logos), and that's it. No account, no tracking.

Note

Emby is fully supported. Jellyfin and Silo work and are tested on every change, but they're beta until more people have run them. Plex is next.

Quick start

You need Python 3.9 or newer, git and an API key from your server, made by an administrator.

sudo git clone https://github.com/blurbery/cinesets.git /opt/cinesets
sudo chown -R "$(id -un)" /opt/cinesets
cd /opt/cinesets && ./install.sh

The installer works out whether your server is Emby, Jellyfin or Silo, finds your libraries, asks which collections you want, does a dry run and offers to make them and keep them updated. The setup guide has each server's details, Docker, updating and uninstalling.

Commands

Command What it does
./run.sh plan Dry run, shows what would change
./run.sh apply Creates and updates the collections
./run.sh posters Makes the posters only, with preview sheets in data/samples
./run.sh web Opens the dashboard: pick collections, style the posters and choose their artwork
./run.sh pick Asks which sections or collections you want and saves it in config.yml
./run.sh list Lists every section and collection with its key, and what's picked
./run.sh apply --reshuffle Picks new random artwork for the posters (with artwork: random)
./run.sh adopt --all Takes your collections back after a reinstall
./run.sh remove --only KEY Deletes a collection CineSets made (--unpicked for the ones you unpicked, --all for all of them)

Most of them take --only key1,key2 or --group streaming. ./run.sh --help shows the rest.

Dashboard

./run.sh web starts a web page where you pick collections, change the poster colours, shading and text, drag and resize the title and label (for every poster, a whole section or one collection), shuffle or choose each collection's artwork, set how many titles each collection holds, add MDBList lists or make new collections from them, preview every poster, then save and apply. It prints a sign-in link; ./run.sh web --demo tries it with made-up artwork and no server.

It listens on this machine only, needs you signed in and never shows your API key to the browser. The dashboard tour shows each part of it, and the dashboard guide covers signing in, reaching it from another computer (Tailscale, Caddy, nginx) and keeping it running.

Picking collections

The collections come in sections: trending and charts, genres, streaming, best of, kids and family, seasonal, regional, and franchises and studios. Make them all, pick whole sections or pick single collections. Use the dashboard, or ./run.sh pick asks you a section at a time and saves your answer, or edit collections in config.yml:

collections:
  sections: [charts, genres, kids]   # or: all
  include: [m-oscars]                # single collections from other sections
  exclude: [s-trending]              # single collections to leave out

The preview shows every section with its posters and keys. Unpicking a collection doesn't delete it from your server, it just stops updating; ./run.sh remove --unpicked deletes those.

Poster style

Colours, shading, text and where the text sits are settings under posters in config.yml, easiest changed in the dashboard. New installs also give every server its own random artwork from its library, so no two look the same (streaming posters keep their own look). The preview has pictures of every setting.

posters:
  artwork: random    # or fixed
  accent: auto       # each collection's own colour, or one for all: silver, orange, "#ff3366" and more
  shade: medium      # light, medium or dark
  title: gradient    # gradient, solid or white
  align: left        # left or centre
  case: normal       # normal or upper

Your own collections

The easiest way is the dashboard's Lists tab: paste an MDBList list's address and CineSets makes a collection from it, or adds it to one you have. Those go in custom-collections.yml, which updates never touch.

To change the built-in catalogue itself, copy collections.yml to my-collections.yml (on Docker, put it in ./config), set collections_file: my-collections.yml in config.yml and change whatever you like. The top of the file explains every field. A collection needs at least 8 matches in your library before it's made, so regional ones like Stan only show up if you have the shows.

Examples

From a public mdblist list (swap in a real user/slug):

  - key: m-heist
    group: bestof
    type: movie
    title: "Heist"
    subtitle: "Movies"
    accent: gold
    lists: [some-user/best-heist-movies]

A franchise from a fixed list of films. It needs min because there are only three:

  - key: m-karatekid
    group: universes
    type: movie
    title: "The Karate\nKid"
    accent: red
    min: 2
    titles:
      - ["The Karate Kid", 1984]
      - ["The Karate Kid Part II", 1986]
      - ["The Karate Kid Part III", 1989]

Docs

If CineSets is useful to you, you can sponsor me on GitHub. Thank you.

Contributing

Found a bug or got an idea? Open an issue. PRs are welcome too, just have a read of CONTRIBUTING.md first. Using AI is fine, but say so in the PR.

Caution

Security problems go through SECURITY.md, not public issues.

Licence

AGPL-3.0-or-later with a few extra terms in NOTICE: keep the "CineSets by blurbery" credit, mark your changes if you share a modified version, and the licence doesn't cover the CineSets name or logo. Poppins is under the SIL Open Font License. Streaming logos belong to their owners and are downloaded to your own server, not shipped with CineSets.

About

Automatic, beautiful collections for Emby, Jellyfin and Silo. Trending, streaming, genres and 65 movie franchises, with posters made from your own library.

Topics

Resources

Code of conduct

Contributing

Security policy

Stars

2 stars

Watchers

0 watching

Forks

Releases

Sponsor this project

Packages

Contributors

Languages