So just subscribed and grabbed the Docker contained based on the instructions on the site. The only part of the docker command I left off was --device /dev/dri:/dev/dri
since my Linux box doesn’t have that device.
docker run \
--detach \
--name=channels-dvr \
--net=host \
--restart=unless-stopped \
--volume /var/lib/media/tv/config:/channels-dvr \
--volume /var/lib/media/tv/recordings:/shares/DVR \
fancybits/channels-dvr:latest
I went to the Channels app on my AppleTV and clicked Login to Remote DVR. It sent me to a URL on my network ending in /auth which redirected me back to the Channels DVR page telling me I was subscribed but didn’t have Channels installed. While I appreciate the “simplified” approach it left me without much info.
Sooooo I dug… I found data/channels-dvr.log
which had the following:
2017/11/19 02:01:03 [SYS] Starting Channels DVR v2017.11.16.0140 (linux-x86_64) in /channels-dvr/data
2017/11/19 02:01:03 [HDR] Found 1 devices
2017/11/19 02:01:03 [ERR] Failed to refresh auth: missing oauth client
2017/11/19 02:01:04 [SYS] Started HTTP Server
2017/11/19 02:01:04 [SYS] Bonjour service running for dvr-mcelwain.local. [172.18.0.1 192.168.1.4]
I pinged dvr-mcelwain.local.
and immediately found it was returning back 172.18.0.1 which is Docker’s private network. So a recommendation would be to let the channels-dvr
take an environment variable that specifies the IP address to be used would be a good improvement. That way the docker container could be started with -e CHANNELS_IP=192.168.1.4 and it’d serve up the right address.
Using netstat I figured out it was listening on port 8089 so I went to http://192.168.1.4:8089 which got me to the setup page.
Once I went through the setup (it was downloading listings) process I tried to repeat the above steps and the Channels DVR redirect told me I needed to go to http://dvr-mcelwain.local.:8089 so I’m not sure if I didn’t wait long enough (it was enough time to search the forums for anyone with a similar behavior and find none and write up most of this post).