Should I use Docker?

I have been running Channels DVR server using the Synology software installed on DSM7.0 (non-docker)
Is there any reason why the docker version of Channels might be preferable?

If Channels DVR is working well for you, no need to switch to Docker. Not all Synology models can run Docker, it depends on the processor.

I started out running Channels native, but had other apps running on Docker. I moved Channels to Docker when I had issues with both YTTV and Hulu not authenticating on the native Synology Channels app. When I moved Channels to Docker I found both YTTV and Hulu would authenticate. That's was my reason to change.

1 Like

I was having trouble authenticating TVE channels with Hulu Live. It dropped dozens of channels on me. I eventually removed the source and now can't get it to add back into my Channels native installation of my Synology DS920+. I know I can run containers as I have several running through Synology's Container Manager. I am preferring Portainer to set up and run my containers lately.

I am wondering if anyone has current experience in successfully adding Hulu Live as a TVE source to the Docker TVE version of Channels. (Say in the past 2 or 3 weeks...)

Hi @maddox ! :slightly_smiling_face: My interest in this particular subject is specific to my difficulties with authenticating Hulu Live as a TVE source. Otherwise, Channels has been running fine as a native installation on my Synology NAS. I like to help you developers by checking out new features in pre-release server and beta client software. Can you tell me if the docker version of Channels is involved in pre-release testing, and if it is as simple to update as the native version?

The docker:tve version for Channels DVR updates the same way as any other installation.
Check for updates, both stable and pre-release.
The only thing unique is that it includes a built-in chrome.

Cool! Thanks! I'll try migrating over to Docker tomorrow.

1 Like

Just be aware that you'll have to run that container in host network mode (meaning you'll need to set a port for it if 8089 conflicts).

Here's an example of one of my servers running in a container on my Synology using port 8189

docker run \
 --detach \
 --env CHANNELS_PORT=8189 \
 --env TZ=America/Los_Angeles \
 --name=channels-dvr-hdhr \
 --network=host \
 --restart=unless-stopped \
 --device /dev/dri:/dev/dri \
 --volume /volume1/docker/channels-dvr:/channels-dvr \
 --volume /volume1/ChDVRhdhr:/shares/dvr \
 --volume /volume1/arkives/importtest:/shares/imports:ro \
 fancybits/channels-dvr:tve
1 Like

Spinning-up Channels DVR through Portainer would look similar to this - with adjustments to volumes for use on Synology. Also, be aware that for some reason Docker on Synology won't create non-existent directories for you -- they need to be created in advance:

version: '3.9'
services:
  channels-dvr:
    image: fancybits/channels-dvr:${TAG}
    container_name: channels-dvr
    devices:
      - /dev/dri:/dev/dri
    #ports:
      #- ${HOST_PORT}:8089
    environment:
      - CHANNELS_PORT=${CHANNELS_PORT}
      - TZ=${TZ}
    volumes:
      - ${HOST_DIR}/channels-dvr:/channels-dvr
      - ${DVR_SHARE}:/shares/DVR
    network_mode: host
    restart: unless-stopped

With environment variables similar to this:

TAG=tve
CHANNELS_PORT=8089
TZ=America/Denver
HOST_DIR=/data
DVR_SHARE=/mnt/dvr

EDIT: Also it takes a couple of minutes from when you spin-up the container until Channels DVR can be accessed on the CHANNELS_PORT specified. It'll look like this in Portainer-Logs for the container when it's accessible:

Installing Channels DVR..
Downloading Channels DVR 2024.05.07.1442 (linux-x86_64) to //channels-dvr......
Channels DVR has been downloaded.
Running Channels DVR..

Awesome! I was just trying to figure this out. Thanks!

Also, you only need to get to this point in the CDVR setup (i.e. specified your DVR storage path, which should be /shares/DVR) before you can use Project One-Click to add sources. If you're using an existing installation of OliveTin, you'll likely have to modify it to include this new CDVR instance first -- either as your one and only DVR, or as an additional DVR if you're planning on having more than one running:

So, my main reason for setting up Channels server as a docker container is to experiment with adding Hulu Live as a TVE source. I'd like to see if the 2fa process allows the source to be added at all. If it is successful, I'd also like to check the 2fa process while re-scanning individual channels. As it stands, my native installation of Channels running on Synology will not allow the addition of the source.

In the end, I will likely use only one server package at a time...either native or docker. Right now, it would be nice to have both running concurrently, as I test the docker version for Hulu Live - TVE. If it works, I may migrate over to using docker, rather than native. If Hulu Live doesn't work on docker, I'll simply stick to my native installation which is running quite well.

Should I initially set up the docker to use a separate share directory while I test the Hulu/TVE 2fa?

FYI I have a standalone Channels Server as well as several docker Channels instances. None worked with Hulu. YTTV works perfect and just made me realized how much hulu live sucks....

Thanks, Seth!
Following your lead, I managed to make the jump to YTTV myself. My Hulu subscription is valid for another couple weeks. So, I thought that I'd give it another try through Channels docker.
You just saved me what could have been hours of pointless aggravation. :ok_hand: