• Stars
    star
    276
  • Rank 149,319 (Top 3 %)
  • Language
    TypeScript
  • License
    MIT License
  • Created over 5 years ago
  • Updated 4 months ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

Connect radarr to letterboxd.com lists

letterboxd-list-radarr

Connect radarr to letterboxd.com lists

Usage

This service is hosted on render. That way you don't have to run the service yourself (but you can, see below).

Radarr v3 and up

  1. Configure a new list in radarr, using the Custom Lists provider.
  2. Set List URL to https://letterboxd-list-radarr.onrender.com followed by the path to your list in letterboxd. For example: https://letterboxd-list-radarr.onrender.com/screeny05/list/jackie-chan-the-definitive-list/
  3. Configure the rest of the settings to your liking
  4. Test & Save.

If there are any problems with v3, feel free to open an issue.

Radarr v2

  1. Configure a new list in radarr, using the Radarr Lists provider.
  2. Set Radarr API URL to https://letterboxd-list-radarr.onrender.com (or your custom one, if you choose self-hosting)
  3. Set Path to list to whatever appears in the URL for the list of your choosing after letterboxd.com.

Supported Lists:

  • Watchilsts: https://letterboxd.com/screeny05/watchlist/
  • Regular Lists: https://letterboxd.com/screeny05/list/jackie-chan-the-definitive-list/
  • Watched Movies: https://letterboxd.com/screeny05/films/
  • Filmography:
  • Collections: https://letterboxd.com/films/in/halloween-collection/
  • Popular Movies: https://letterboxd.com/films/popular/
    • Note that neither filtering nor sorting is allowed according to the robots.txt. So URLs like /films/popular/genre/action, /films/popular/decade/2020s /films/by/release, etc. are not supported
    • This list is limited to 10 pages, so a maximum of 720 movies are returned. You can limit this number with the limit-option
  • Lists tagged by User are not supported. Please use links to the lists themself instead.

Others may be supported, but are not tested, yet.

Supported options

This is a list of all options you can provide to this scraper, You can set them by attaching a get-parameter to the URL like this:

/actor/tom-hanks/?<key>=<value>

Where key is the name of the option and value is the value you want to provide.

The following options are currently supported:

  • limit - Return only a maximum number of movies. This is useful for very large lists like /films/popular/

FAQ

The API always returns Disallowed URL according to robots.txt

This means that letterboxd.com does not allow this URL to be crawled per their robots.txt. Your URL probably contains sorting or expensive queries by letterboxd. Check the linked file to ensure your given URL does not match any of the listed paths.

Self-hosting

Using render

Deploy to Render

It might take a few minutes after deploying to render, before the instance becomes available.

Be aware that render currently has a free limit of 750h/month. That's exactly enough to run this single service for the whole month.

Using heroku

Deploy

If you are planning on running this instance for a lot of movies, be sure to set the correct cache-eviction policy for the redis:

heroku redis:maxmemory <name-of-redis-instance> --policy allkeys-lfu

Using docker

Pre-built docker-image

You will get the newest image by pulling screeny05/letterboxd-list-radarr:latest. The image is available for both x86-64 and arm64.

Here is an example of how to use the image with docker-compose:

version: "3.8"
services:
    web:
        image: screeny05/letterboxd-list-radarr:latest
        ports:
            - 5000:5000
        environment:
            - REDIS_URL=redis://redis:6379
        depends_on:
            - redis
    redis:
        image: redis:6.0

For optimal configuration of redis, please check out the redis.conf file in this repository.

Building it yourself

git clone [email protected]:screeny05/letterboxd-list-radarr.git
cd letterboxd-list-radarr
npm install
docker-compose up -d

The file redis.conf can be used to configure your own settings for redis. It comes with a memory-limit of 256mb by default. You might want to increase that based on your usage.

Your local instance will be available on port 5000 http://localhost:5000

Local & development

You need a working redis-instance, which is used for caching movie- & list-data.

Following environment-params are supported:

  • REDIS_URL - A redis connection string to your redis-instance
  • PORT - The http-port which the application listens on
  • LOG_LEVEL - Set to debug for more info. Defaults to info
  • USER_AGENT - Allows you to set your own user-agent string
  1. Clone this repo
  2. Make sure you have configured the env-variables
  3. npm install
  4. npm start

More Repositories

1

corrode

A batteries-included library for reading binary data.
JavaScript
114
star
2

openrw.js

RenderWare implementation in TypeScript
TypeScript
11
star
3

jquery.pointer-events-polyfill

Tiny, maintained CSS pointer-events polyfill
JavaScript
10
star
4

shopware-vueify

Write Vue.js components for use within the Shopware-StateManager
JavaScript
6
star
5

shopware-missing-mixins

A collection of handy LESS-Mixins to complement Shopware
CSS
5
star
6

xmbd

Cross-provider media embedding with jQuery
JavaScript
4
star
7

language-html-swig

Language support for the Swig templating engine
CoffeeScript
4
star
8

tedra.tech

Astro
3
star
9

vue-windows

Vue component usable to create windows
JavaScript
2
star
10

glaced-generator

OpenGL Bindings Generator for node.js using napi
TypeScript
2
star
11

kanpai-scraper

A library for modern, fast & declarative web-scraping.
TypeScript
2
star
12

letterboxd-wrapper

Wraps around letterboxd.com providing some features of the web-interface
TypeScript
2
star
13

node-gles3

GLFW & GLAD for OpenGL ES 3.0 goodness
C
2
star
14

node-red-contrib-letterboxd-rudimentary

TypeScript
1
star
15

chrome-harvest-bitbucket

Integrate Harvest into Bitbucket
TypeScript
1
star
16

shopware-missing-includes

A collection of Smarty-includes providing handy features when building a Shopware shop
Smarty
1
star
17

minesweeper-react-electron

Cross-platform Win2000 minesweeper clone
TypeScript
1
star
18

EasyBox4A

Generates the EasyBox Standard-Key. Written in Python4Android
Python
1
star
19

letterboxd-trakt-sync

Service to sync your letterboxd.com history with your trakt.tv-history and vice versa
TypeScript
1
star