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:
EmBoxd can either be setup and used as a binary or Docker image
Building a binary from source requires the Go runtime
- Clone repository:
git clone https://github.com/computer-geek64/emboxd.git --depth=1
cd emboxd/
- Install Playwright browsers and OS dependencies:
go install github.com/playwright-community/playwright-go/cmd/playwright
playwright install --with-deps
- Build and install binary (to GOPATH)
go install .
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/
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 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
This project is licensed under the MIT License - see the LICENSE file for details.