EmBoxd

EmBoxd

Docker app from grtgbln's Repository

Overview

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.

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.

Install EmBoxd on Unraid in a few clicks.

Find EmBoxd in Community Apps on your Unraid server, review the template, and click Install. Unraid handles the Docker app or plugin setup from the published template.

Open the Apps tab on your Unraid server Search Community Apps for EmBoxd Review the template variables and paths Click Install

Requirements


        Expects a `config.yaml` file in the Config Path directory: https://github.com/computer-geek64/emboxd/blob/master/config.yaml
        

        This image does not have a static `latest` tag. You will need to update the image tag manually to update.
    

Details

Repository
ghcr.io/computer-geek64/emboxd:v0.1.0
Last Updated2026-07-17
First Seen2025-05-06

Runtime arguments

Web UI
http://[IP]:[PORT:80]/
Network
bridge
Privileged
false

Template configuration

Web UI PortPorttcp

Container Port: 80

Target
80
Default
8080
Value
8080
Config PathPathro

Path to config files

Target
/config
Default
/mnt/user/appdata/emboxd/config
Value
/mnt/user/appdata/emboxd/config