whatisgithub

What is emby-tv?

domharris/emby-tv — explained in plain English

Analysis updated 2026-05-18

1TypeScriptAudience · ops devopsComplexity · 3/5Setup · moderate

In one sentence

A self-hosted TV guide that turns your Emby media library into scheduled, shared channels, running either as an Emby plugin or a standalone Docker server.

Mindmap

mindmap
  root((Emby Guide))
    What it does
      Builds channels from Emby library
      Same schedule for all viewers
      Save programmes for catch up
    Tech stack
      TypeScript web client
      Node.js standalone server
      .NET Emby plugin
      Docker Compose
    Use cases
      Shared TV style guide
      Plugin inside Emby itself
      Standalone Docker option
    Audience
      Emby server owners
      Self hosters
    Setup
      Pick libraries per channel
      Set schedule timezone
      Migrate from standalone

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

Turn a large Emby library into scheduled channels so household members see the same programme at the same time.

USE CASE 2

Run the guide as an Emby plugin with no extra services or API keys to manage.

USE CASE 3

Self host a standalone version with Docker Compose when installing a plugin is not possible.

USE CASE 4

Migrate existing curated channels and preferences from the standalone server into the plugin version.

What is it built with?

TypeScriptNode.jsDocker.NETSQLite

How does it compare?

domharris/emby-tv0xkinno/neuralvault0xmayurrr/ai-contractauditor
Stars111
LanguageTypeScriptTypeScriptTypeScript
Setup difficultymoderatehardeasy
Complexity3/54/52/5
Audienceops devopsdeveloperdeveloper

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

How do you get it running?

Difficulty · moderate Time to first run · 30min

Requires an existing Emby server plus either a .NET/Node build toolchain for the plugin or Docker for the standalone server.

The README does not state a license.

So what is it?

Emby Guide is a self-hosted, always-on TV guide built from your own Emby media library. If you run Emby and have a lot of movies, shows, and other content, this tool organizes everything into deterministic channels, meaning every viewer who tunes in at the same time sees the same programme, just like a real TV channel. You can browse what is currently playing, save an upcoming programme so you can catch up on it within 24 hours, open it directly in the Emby web player, or send it to play on another Emby device on your network. There are two ways to run it. The recommended way is as a plugin inside Emby Server itself, which is a single file you drop into Emby's plugins folder. This requires no extra services or API keys, and it automatically picks up changes in your library within about a minute. The plugin also plugs into Emby's own built in Live TV guide feature, so the channels show up there too across every Emby app, with tuning being watch only rather than allowing management. The older way to run it is as a standalone server built with Node.js, alongside a web client, run using Docker Compose next to your existing Emby server. This method still works for people who cannot or do not want to install a plugin. Setup for the plugin involves telling it which of your Emby libraries, such as Movies, TV Shows, or Anime, should feed which channel, plus setting a timezone for scheduling. The standalone version is configured through a first run setup screen in the browser, where you provide the address of your Emby server and an administrator API key, which gets encrypted and stored locally rather than sent to any browser. The project also includes a migration script to move existing curated channels, icons, and preferences from the standalone server's database into the plugin, and guidance for exposing the guide safely to remote viewers using a reverse proxy or Cloudflare Tunnel.

Copy-paste prompts

Prompt 1
Help me install the Emby Guide plugin DLL into my Emby Server plugins folder and set up my library channels.
Prompt 2
Walk me through running Emby Guide as a standalone server with Docker Compose next to my existing Emby install.
Prompt 3
Show me how to set up a Cloudflare Tunnel header rule so Emby Guide's public paths work for remote viewers.
Prompt 4
Explain how to migrate my curated channels from the standalone Emby Guide server to the plugin version using migrate-sqlite.mjs.

Frequently asked questions

What is emby-tv?

A self-hosted TV guide that turns your Emby media library into scheduled, shared channels, running either as an Emby plugin or a standalone Docker server.

What language is emby-tv written in?

Mainly TypeScript. The stack also includes TypeScript, Node.js, Docker.

What license does emby-tv use?

The README does not state a license.

How hard is emby-tv to set up?

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

Who is emby-tv for?

Mainly ops devops.

Open on GitHub → Ask about another repo

This repo across BitVibe Labs

Verify against the repo before relying on details.