https://github.com/shaunburdick/hd-homey
A Proxy App for HD Homerun devices
https://github.com/shaunburdick/hd-homey
hdhomerun hdhomerun-device hdhomerun-tuner hdhr proxy
Last synced: 28 days ago
JSON representation
A Proxy App for HD Homerun devices
- Host: GitHub
- URL: https://github.com/shaunburdick/hd-homey
- Owner: shaunburdick
- License: agpl-3.0
- Created: 2024-08-31T13:19:07.000Z (about 1 year ago)
- Default Branch: main
- Last Pushed: 2024-09-15T20:41:44.000Z (about 1 year ago)
- Last Synced: 2024-11-12T21:45:07.654Z (11 months ago)
- Topics: hdhomerun, hdhomerun-device, hdhomerun-tuner, hdhr, proxy
- Language: TypeScript
- Homepage:
- Size: 1.23 MB
- Stars: 2
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# HD Homey

A Proxy App for [HD Homerun](https://www.silicondust.com/hdhomerun/) devices. Making it easier to connect and share live tv over the internet!
- [HD Homey](#hd-homey)
- [Features](#features)
- [Install](#install)
- [Docker](#docker)
- [Docker Compose](#docker-compose)
- [Source](#source)
- [Configuration](#configuration)
- [Usage](#usage)
- [Watch](#watch)
- [Lineup](#lineup)## Features
- Serve the lineup.json file, altering it to work over the internet via HD Homey's proxy
- Show a list of channels with a link to the stream
- Proxy the video stream from the HD Homey to the user
- More features (or bugs) when I get to them...## Install
HD Homey is deployable via docker or source, with the only need being the URL/IP address of your HDHR box.
### Docker
To install using the latest docker image, replacing `{TUNER_IP}` with the ip address of your tuner:
```bash
docker run -d \
--name=hd_homey \
-v ./data/db:/data/db \
-p 3000:3000 \
-e HD_HOMEY_TUNER_PATH={TUNER_IP} \
ghcr.io/shaunburdick/hd-homey:latest
```This will store the HD Homey database locally in `./data/db`
See [Configuration](#configuration) for any additional environment variables you would like to set
### Docker Compose
To install using docker compose:
1. Copy the contents of [compose.yml](compose.yml) to a compose.yml file in your local path
2. Update the compose.yml file, adding [Environment variables](#configuration) as needed for configuration
3. Deploy the application: `docker compose up -d`This will store the HD Homey database in a docker volume
### Source
To install using the source:
1. Install [Node v20+](https://nodejs.org/en/download/package-manager)
2. Download the source code:
1. Git: `git clone https://github.com/shaunburdick/hd-homey.git`
2. Zip: [Download ZIP](https://github.com/shaunburdick/hd-homey/archive/refs/heads/main.zip)
3. Install dependencies: `npm ci`
4. Copy and fill out your environment file: `cp .env-example .env`
5. Run the dev server: `npm run dev`## Configuration
The following values are available for configuration as [environment variables](https://en.wikipedia.org/wiki/Environment_variable):
- **HD_HOMEY_TUNER_PATH**: The URL path to your turn, example: `http://192.168.1.50`
- **HD_HOMEY_PROXY_HOST**: The URL to use when rewriting values proxied from your tuner. Example `https://tuner.myawesomesite.com`
This can be empty and the app will attempt to infer the URL by inspecting the request,
but if you are having trouble (or proxy this app in docker) then you can provide a hint.
- **HD_HOMEY_DB_PATH**: The path to the local database for configuration values (not used yet), example: `./data/db`## Usage
Then open your favorite browser to http://localhost:3000 (assuming you used to configs above)
### Watch
Watch provides a list of channels available. Clicking on the channel will give you instructions on how to watch the stream.
### Lineup
Lineup provides a transformed JSON line. This could be used by other viewing apps like Channels or Jellyfin to generate channels for viewing. (Maybe, I haven't tested this yet)