All apps · 0 apps
HDHomeRunDVR
Docker app from Yoshiofthewire's Repository
Overview
Readme
View on GitHubdocker-hdhomerundvr
Docker container for the HDHomeRun DVR Server by SiliconDust.
HDHomeRun DVR Server version: 20250815
Base image: ubuntu:22.04
Features
- Runs the HDHomeRun DVR recording engine inside a Docker container
supervisordkeeps the process alive — auto-restarts if the DVR daemon crashes- Container-level
restart: unless-stoppedpolicy recovers from container failures - Timezone configurable via the
TZenvironment variable - Host networking for full HDHomeRun device discovery (UDP broadcast)
Requirements
- A working HDHomeRun network tuner with up-to-date firmware (see below)
- Docker and Docker Compose installed on the host
Quick Start
Option A: Docker Hub
Use the published image from Docker Hub:
https://hub.docker.com/repository/docker/yoshiofthewire/hdhomerundvr/general
Option B: Build Locally
# 1. Clone the repository
git clone https://github.com/Yoshiofthewire/docker-hdhomerundvr.git
cd docker-hdhomerundvr
# 2. Edit docker-compose.yml and set your recordings path and timezone
# volumes:
# - /your/recordings/path:/hdhomerun
# environment:
# - TZ=America/New_York
# 3. Build and start
docker compose up -d --build
Configuration
Environment Variables
| Environment Variable | Default | Description |
|---|---|---|
TZ |
UTC |
Timezone (e.g. America/New_York, Europe/London) |
Volumes
| Container Path | Description |
|---|---|
/hdhomerun |
Recording output directory — map this to your storage path |
Ports
| Port | Protocol | Description |
|---|---|---|
65001 |
UDP | HDHomeRun discovery |
65002 |
TCP | DVR control/streaming |
Note:
network_mode: hostis used indocker-compose.ymlso that UDP broadcast device discovery works correctly. In host mode, theportsmapping is bypassed, so the ports above are documentation only.
Updating the HDHomeRun Firmware
Before the first install or when updating firmware:
- Install the HDHomeRun Windows or Mac application.
- When prompted to install the DVR server component, select Don't Install.
- You will be prompted to configure the tuner after setup completes.
- Re-run the tuner setup — this will update the firmware.
- You may need to re-scan channels after the firmware update.
How It Works
flowchart TD
A[Docker container] --> B[supervisord\nPID 1, nodaemon=true]
B --> C[hdhomerun_wrapper.sh]
C --> D[hdhomerun_record_x64 start\nStarts DVR daemon]
C --> E[Monitors DVR process\nevery 15 seconds]
E --> F[If the DVR process disappears, the wrapper exits non-zero]
F --> G[supervisord restarts the wrapper\nup to 10 retries]
H[SIGTERM from Docker] --> I[Wrapper calls hdhomerun_record_x64 stop]
supervisordruns as PID 1 in the foreground (nodaemon=true), preventing spurious container exits.hdhomerun_wrapper.shwraps the DVR daemon (which forks to the background) and stays alive to monitor it.- If the DVR process disappears, the wrapper exits with a non-zero code so supervisord restarts it (up to 10 retries).
SIGTERMfrom Docker is caught cleanly — the wrapper callshdhomerun_record_x64 stopbefore exiting.
License
GPL v2.0
Install HDHomeRunDVR on Unraid in a few clicks.
Find HDHomeRunDVR 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.
Requirements
Categories
Related apps
Explore more like this
Explore allDetails
ghcr.io/yoshiofthewire/docker-hdhomerundvrRuntime arguments
- Network
host- Shell
sh- Privileged
- false
Template configuration
- Target
- /hdhomerun
- Value
- /mnt/user/Media/HDHomeRun/
- Value
- 65001