Find your next open-source project

Search by name, purpose, or keyword — or paste a GitHub repository URL

rorygallagher2024/glasshouse

Productivity & Utilities

A self-hosted dashboard, privacy control and debloating suite for rooted LG webOS TVs, with an optional Home Assistant MQTT bridge.

1,957
117
JavaScript
MIT
2 months old

What it is

Glasshouse is a small server that runs on a rooted LG webOS TV and serves a browser dashboard plus an on-TV app. It is aimed at owners who want local control of their set instead of relying on LG's menus, services and cloud dependencies: remote control, app install/removal, privacy and telemetry switches, service menu access, hardware and OLED panel telemetry, and an MQTT bridge for Home Assistant and other smart-home software (README).

All processing is local; no cloud service is required on the TV. An optional Android companion app keeps a list of TVs, wakes them over Wake-on-LAN and opens each dashboard full screen.

Quick start

Prerequisites: a rooted TV with the Homebrew Channel installed, plus a computer on the same network.

  1. Clone the repository on that computer.
  2. From the server/ directory, run ./deploy.sh <tv-ip>, replacing <tv-ip> with the TV's address.
  3. Open http://<tv-ip>:8080/ in a browser.

The installation guide covers troubleshooting and the full setup.

What you can do

The dashboard's tabs cover the main workflows:

  • Home: replace the LG home screen with a cleaner launcher, a minimal built-in launcher, your own launcher, or a web page such as a Home Assistant dashboard; IPTV channels from your own playlist can appear as a row.
  • Control: remote keys, volume, inputs, power, sleep timer, picture and sound settings, and Game Optimizer.
  • Privacy: a one-button switch to turn off ads and telemetry, including LG's content-recognition engine; recorded data agreements can mostly be toggled from the dashboard.
  • Apps: install from the Homebrew Channel catalog, uninstall apps, disable background services, and hide built-in LG apps.
  • Remote keys: remap Netflix, Prime Video, Guide, color keys and other shortcuts to any app, HDMI input or Live TV.
  • Screen savers: over a dozen options with customizable brightness.
  • Metrics and OLED Care: SoC temperature, CPU load, memory, Wi-Fi, storage, watch time; cumulative panel hours, compensation cycles and Pixel Refresher countdown/scheduling on OLED panels.
  • Service menu: open LG's engineering menu from the browser, and unlock the cut-down version on newer firmware.

The Home Assistant bridge exposes the TV as a single MQTT device with MQTT Discovery, and can forward remote button events.

Constraints

  • Requires a rooted TV; the project targets webOS 2.2 through 11 (tested on 2015–2026 models), with 67 TVs across 44 series verified (tested TVs). LCD sets get the core dashboard but not OLED Care.
  • The dashboard has no authentication by default. It is meant for a trusted local network; do not port-forward port 8080 to the internet. Tokens, network closure and MQTT are covered in the security documentation.
  • It runs with root privileges and issues low-level luna-send calls for reboot, power-off, blanking and Pixel Refresher scheduling. The author disclaims responsibility for damage, bootloops or voided warranties (README).
  • Licensed MIT; bundled fonts are under the SIL Open Font License 1.1. It is an unofficial project, not affiliated with LG.

HotRepo's take

On the November 2026 JavaScript monthly list, Glasshouse recorded 1,503 stars gained over the month at a best position of 3 — a strong showing for a niche, rooted-TV utility. That fits a project whose value is concrete rather than speculative: it consolidates privacy switches, debloating, telemetry and smart-home bridging into one local server. The main adoption gate is the root requirement, which limits the audience to webOS owners already running the Homebrew Channel; for them the dashboard replaces a patchwork of separate tools.

Written by AI from the project's README, updated . The project's own docs are the source of truth.