Introducing SignalHaven

Overview

I'm excited to introduce SignalHaven, an open-source, self-hosted live TV and DVR server for HDHomeRun, IPTV, and HLS sources.

SignalHaven brings live television, guide data, recording schedules, and browser-based playback together in one responsive application. Unlike broader media-library applications such as Jellyfin and Plex, SignalHaven is built specifically around the live TV and DVR experience.

I created SignalHaven because I wanted something purpose-built like Channels DVR, but open source and fully under my control. SignalHaven keeps its database, recordings, and viewing activity on infrastructure you manage.

The first-run setup guides you through adding a TV source, connecting guide data, choosing your recording storage, and reviewing channel mappings. After that, you can immediately watch live TV or schedule a recording.

Features

  • Watch live TV with an in-player mini guide and channel switching.
  • Pause and rewind live streams with a configurable rolling time-shift buffer.
  • Record once or automatically with one-off schedules, series rules, retention controls, and conflict visibility.
  • Browse one unified guide backed by HDHomeRun guide data or XMLTV sources.
  • Manage your lineup by searching, sorting, favoriting, hiding, and reordering channels.
  • Play recordings in the browser with resume progress, captions, and optional Comskip commercial markers.
  • Adapt playback to your hardware with direct streaming, quality profiles, and optional VideoToolbox, VA-API, Quick Sync, or NVENC acceleration.
  • Use it anywhere on your network through a responsive light- and dark-mode interface.

Installation

The recommended way to run SignalHaven is with Docker Compose. You will need:

  • Docker Engine with Docker Compose
  • An HDHomeRun device, M3U/M3U8 playlist, or direct HLS stream
  • Enough storage for recordings and the live TV buffer

Download the Docker Compose and environment files:

curl -o docker-compose.yml https://raw.githubusercontent.com/rrainn/SignalHaven/refs/heads/main/docker-compose.yml
curl -o .env https://raw.githubusercontent.com/rrainn/SignalHaven/refs/heads/main/.env.example

Open .env, replace the default POSTGRES_PASSWORD with a strong, unique password, and change the HTTP port if needed.

Then start SignalHaven:

docker compose up -d

Open http://localhost:3000, or the equivalent address for your server, and follow the first-run setup.

SignalHaven is intended for use on a trusted home network. If you expose it to the internet, place it behind an HTTPS reverse proxy with authentication and appropriate network controls.

For additional options, see the configuration reference. Before updating, review the release notes, then pull and restart the stack.

Other Information

Beta

SignalHaven is launching in open beta. While I have extensively tested the application, bugs may still exist. If you encounter an issue, please report it on the GitHub Issues page. If you have a feature request, please share it on the GitHub Discussions page.

Community

You can join the SignalHaven community on the following official platforms:

AI Disclosure

I used AI extensively during SignalHaven's development. It helped me turn an idea that had been sitting on my to-do list into a working application, but I remain responsible for the resulting code and product decisions. I have personally reviewed the code and tested the application against my standards. As with any software, whether written with or without AI, issues may remain, so please report anything you find.

License

SignalHaven is licensed under the MIT License. Please refer to the official LICENSE for more information.

SignalHaven is not affiliated with SiliconDust, the makers of HDHomeRun.