explaingit

pototazhang/emby-js

Analysis updated 2026-05-18

17JavaScriptAudience · ops devopsComplexity · 2/5Setup · moderate

TLDR

A single-file Cloudflare Workers dashboard that monitors uptime and response time across multiple self-hosted Emby media servers.

Mindmap

mindmap
  root((emby-js))
    What it does
      Monitors Emby servers
      Tracks uptime history
    Tech stack
      JavaScript
      Cloudflare Workers
      Cloudflare KV
    Use cases
      Uptime monitoring
      Telegram alerts
      Library stats tracking
    Audience
      Self-hosters
      Ops and devops

Code map

Detail Auto

An interactive map of this repo's files and how they connect — its source is parsed live in your browser. Click Visualize to build it.

filefunction / class

What do people build with it?

USE CASE 1

Monitor uptime and response time for several self-hosted Emby media servers from one dashboard.

USE CASE 2

Get a Telegram alert when a media server goes offline for more than five minutes.

USE CASE 3

Track daily changes in movie, TV, and episode counts across your media servers.

What is it built with?

JavaScriptCloudflare WorkersCloudflare KV

How does it compare?

pototazhang/emby-jsexportanything/comfyui-ltx-director-motion-brushgeanofeefoundry/geanos-jump-n-run-editor
Stars171717
LanguageJavaScriptJavaScriptJavaScript
Setup difficultymoderatemoderateeasy
Complexity2/53/52/5
Audienceops devopsvibe codergeneral

Figures from each repo's GitHub metadata at analysis time.

How do you get it running?

Difficulty · moderate Time to first run · 30min

Requires a Cloudflare account, a KV namespace binding, and pasting the worker script through the Cloudflare dashboard or Wrangler.

In plain English

Emby Cluster Monitor is a monitoring dashboard for Emby media servers, deployed as a serverless function on Cloudflare Workers. Emby is self-hosted media server software that lets you stream your personal movie and TV collection. This project lets you keep an eye on multiple Emby servers from a single web page without needing a dedicated server of your own. The dashboard regularly probes each configured server to check whether it is online and measures the response time. It stores the last seven days of probe results so you can view uptime percentages over the past 24 hours or seven days, and a history panel shows the most recent 60 check results for spotting short term fluctuations. When a server stays offline for five minutes, the tool sends an alert via Telegram, and when the server recovers, it sends a follow up notification. This delay filters out brief network glitches so you are not flooded with false alarms. Optional media library statistics track the number of movies, TV series, and episodes on each server, recording a daily snapshot and comparing it to the previous day so you can see what was added. A custom icon library feature lets you assign images to each server node by pointing to a publicly accessible JSON file with image URLs, and the icon library can be searched by name or by image link. All configuration, including the server list, icon library, and Telegram settings, is stored in Cloudflare KV, which is a key value storage service provided by Cloudflare, so settings persist across deployments without relying on a local browser. An admin token can be set to prevent unauthorized changes, and the worker refuses to probe internal or private network addresses so it cannot be used as a proxy to scan a local network. The entire project is a single JavaScript file deployed to Cloudflare Workers with a scheduled cron trigger running every five minutes.

Copy-paste prompts

Prompt 1
Help me deploy this Emby monitoring worker to Cloudflare and bind the KV namespace.
Prompt 2
Show me how to set up Telegram notifications for server downtime in this dashboard.
Prompt 3
Explain how to add a custom icon library for my server nodes.
Prompt 4
Walk me through setting an admin token so my dashboard isn't publicly editable.

Frequently asked questions

What is emby-js?

A single-file Cloudflare Workers dashboard that monitors uptime and response time across multiple self-hosted Emby media servers.

What language is emby-js written in?

Mainly JavaScript. The stack also includes JavaScript, Cloudflare Workers, Cloudflare KV.

How hard is emby-js to set up?

Setup difficulty is rated moderate, with roughly 30min to a first successful run.

Who is emby-js for?

Mainly ops devops.

Open on GitHub → Explain another repo

This repo across BitVibe Labs

Verify against the repo before relying on details.