Skip to content

Live sync server for Letterboxd users with self-hosted media platforms

License

Notifications You must be signed in to change notification settings

computer-geek64/emboxd

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

8 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

EmBoxd

Live sync server for Letterboxd users with self-hosted media platforms

Table of Contents

About

EmBoxd provides live integration with Letterboxd for users of self-hosted media servers. It tracks watch activity on the media server and synchronizes Letterboxd user data to match. Changes to a movie's played status are reflected in the user's watched films, and movies that are fully played are logged in the user's diary.

The following media servers are currently supported or have planned support:

  • Emby
  • Jellyfin #4
  • Plex #6

Installation

EmBoxd can either be setup and used as a binary or Docker image

Binary

Building a binary from source requires the Go runtime

  1. Clone repository:
git clone https://github.com/computer-geek64/emboxd.git --depth=1
cd emboxd/
  1. Install Playwright browsers and OS dependencies:
go install github.com/playwright-community/playwright-go/cmd/playwright
playwright install --with-deps
  1. Build and install binary (to GOPATH)
go install .

Docker

Pull from GitHub container registry:

docker pull ghcr.io/computer-geek64/emboxd:latest

Or build image from source:

git clone https://github.com/computer-geek64/emboxd.git --depth=1
docker build -t emboxd:latest emboxd/

Usage

Configuration

The YAML configuration file describes how to link Letterboxd accounts with media server users. The format should follow the example config.yaml in the repository root.

Supported media servers need to send webhook notifications for all (relevant) users to the EmBoxd server API.

Emby should send the following notifications to /emby/webhook:

  • Playback
    • Start
    • Pause
    • Unpause
    • Stop
  • Users
    • Mark Played
    • Mark Unplayed

Running

Running EmBoxd starts the server and binds with port 80. The -c/--config option specifies the config file to use with the server.

When running with Docker, the image expects the configuration file at /config/config.yaml. It can be bind-mounted to the container or stored in a volume.

docker run --name=emboxd --restart=unless-stopped -v config.yaml:/config/config.yaml:ro -p 80:80 ghcr.io/computer-geek64/emboxd:latest

Contributors

License

This project is licensed under the MIT License - see the LICENSE file for details.

About

Live sync server for Letterboxd users with self-hosted media platforms

Topics

Resources

License

Stars

Watchers

Forks

Packages