A docker-compose for every Channels-related extension -- suitable for Portainer-Stacks!

I've added FileBot, MediaInfo and MLB.tv-for-Channels to the list in the first post. The advantage of having FileBot and MediaInfo containerized is that you can access them from any system on your LAN or Tailnet. Bind mount a directory or Docker Volume, so that you'll have access to all of your Channels-related media.

They'll look something like this via your browser:

FileBot:

MediaInfo:

2 Likes

Has anyone got filebot to run under Synology DSM 7? I'm using the compose example in olive-tin but I'm getting a permission error when it is launching.

[supervisor ] starting service 'nginx'...
[nginx ] Listening for HTTP connections on port 5800.
[nginx ] nginx: [alert] could not open error log file: open() "/config/log/nginx/error.log" failed (13: Permission denied)
[nginx ] 2024/02/25 10:50:54 [emerg] 722#722: open() "/config/log/nginx/error.log" failed (13: Permission denied)
[supervisor ] service 'nginx' failed to be started: not ready after 5000 msec, giving up.
[supervisor ] stopping service 'nginx'...
[supervisor ] service 'nginx' exited (with status 1).
[supervisor ] stopping service 'xvnc'...
[xvnc ] Sun Feb 25 10:50:59 2024
[xvnc ] ComparingUpdateTracker: 0 pixels in / 0 pixels out
[xvnc ] ComparingUpdateTracker: (1:-nan ratio)
[supervisor ] service 'xvnc' exited (with status 0).
[finish ] executing container finish scripts...
[finish ] all container finish scripts executed.

Looking at the docs in GitHub, they suggest setting the USER_ID and GROUP_ID environment variables.
https://github.com/jlesage/docker-filebot?tab=readme-ov-file#usergroup-ids

So I modified my compose to add USER_ID and GROUP_ID and set the those to 1026 and 100 respectively (for my particular case).

environment:
  - USER_ID=${USER_ID}
  - GROUP_ID=${GROUP_ID}
  - DARK_MODE=${DARK_MODE}

Ok, now it gets past the permission denied error in the log file.
However now it is getting errors loading the 'OpenboxTheme'.

[nginx ] Listening for HTTP connections on port 5800.
[supervisor ] starting service 'openbox'...
[openbox ] ObRender-Message: Unable to load the theme 'OpenboxTheme'
[openbox ] ObRender-Message: Falling back to the default theme 'Clearlooks'
[openbox ] ObRender-Message: Unable to load the theme 'Clearlooks'
[openbox ] Openbox-Message: Unable to load a theme.
[supervisor ] service 'openbox' failed to be started: not ready after 5000 msec, giving up.
[supervisor ] stopping service 'openbox'...
[supervisor ] service 'openbox' exited (with status 1).
[supervisor ] stopping service 'nginx'...
[supervisor ] service 'nginx' exited (with status 0).
[supervisor ] stopping service 'xvnc'...
[xvnc ] Sun Feb 25 14:20:16 2024
[xvnc ] ComparingUpdateTracker: 0 pixels in / 0 pixels out
[xvnc ] ComparingUpdateTracker: (1:-nan ratio)
[supervisor ] service 'xvnc' exited (with status 0).
[finish ] executing container finish scripts...
[finish ] all container finish scripts executed.

A little searching and I found this thread that discusses the exact problem I'm having.
https://github.com/jlesage/docker-filebot/issues/84
In that thread it was suggested to try mapping /config in the filebot compose to /tmp/filebot. Now filebot launches without error and I'm able to access the web GUI! Clearly there is a permissions issue but I can't figure out how to fix it.
Mapping /config to /tmp is not a fix because on a NAS reboot the /tmp directory gets cleared.

Anyone have any ideas about what is going on with the Openbox unable to load themes?

Maybe try mapping /config to a Docker-Volume instead of doing a directory binding. Something like:

    volumes:
      - filebot:/config:rw # Add the parent directory on your Docker host you'd like to use
      - ${DVR_SHARE}:/storage:rw # This can either be a Docker volume or a host directory that's connected via Samba or NFS to your Channels DVR network share.
volumes: # use this section if you've setup a docker volume named channels-dvr, with CIFS or NFS, to bind to /storage inside the container
  filebot:
    name: ${HOST_VOLUME}
HOST_VOLUME=filebot_config
DVR_SHARE=/mnt/dvr
1 Like

Thanks for that @bnhf! That did the trick. For anyone running filebot on Synology, here is my working configuration.
Compose:

Environment:
image

To summarize for Synology docker compose folks, take the example compose from olive-tin and add the USER_ID and GROUP_ID environment variables. Also map /config to a Docker-Volume instead of doing a directory binding.

1 Like

Has anyone tried the UK one?

1 Like

That's mostly for people in/from the UK. You need to have a UK "TV license", and if you were using it from the US you'd need to have a residential Tailscale Exit Node or similar in the UK. Some commercial VPNs might work, but most are blocked to prevent geo-relocation.

1 Like

Have you tried using the /volume1/docker shared folder directory that Synology creates when you install the Docker package?

I find that's easier.

/volume1/docker/filebot_config:/config:rw
and you don't need to specify the :rw (Read/Write), since that is the default.

I discovered this when I first started using docker for Channels DVR and it wouldn't work using other shared folders. Channels DVR on docker - #38 by chDVRuser

That's interesting. At some point Synology changed the name from Docker to Container Manager which I think I installed from Package Center. Container Manager is built by Docker Inc. Anyway it never created a /docker directory.

/volume1/docker

1 Like

Installing Portainer:

Here's my recommended command line to install Portainer, which works for Linux and Docker Desktop based installations:

docker run -d -p 8000:8000 -p 9000:9000 -p 9443:9443 --name portainer \
    --restart=always \
    -v /var/run/docker.sock:/var/run/docker.sock \
    -v portainer_data:/data \
    cr.portainer.io/portainer/portainer-ce:latest

Docker desktop for Windows has a Portainer extension.

2 Likes

After the recent WB kerfuffle, I switched to these docker compose files to continue receiving Samsung, Plex, and Pluto.

Things are working well, however I am only getting six hours of guide data at any given time. This is vs using nocordz for Pluto, which gives 24 hours.

Is this "just the way it is", or can I change a config to increase the amount of guide data retrieved/stored?

Thanks!

1 Like

I get 6hrs from the Samsung TV Plus for Channels docker and 24hrs with the Pluto for Channels (jonmaddox) docker. Don't use a Plex docker, so not sure about that.

Using the jgomez177 dockers as installed through Olivetin Project One Click, my program guide for Plex goes out to around 72 hours (3 days). Pluto looks to be around 24 hours. Samsung is the shortest at roughly 6 hours.

Thanks for the responses, @chDVRuser and @jsfullam .

I was planning on using the weekend to spin up a new Linux install to try Project One Click. I'll do that and see if I get improved results.

1 Like

Just be aware that the Samsung TV Plus for Channels docker changed and requires the Channels DVR Custom M3U Channel settings to be updated.

1 Like

Both the Docker Compose in this post, and Project One-Click have been updated to incorporate the latest changes to the Samsung-TVPlus-for-Channels container.

1 Like

Will running watchtower update the Samsung TV Plus docker? Or, shall I kill the docker, remove the source, and start from scratch?

Watchtower would update the container, but you'd be lacking values for TZ and REGIONS. I'd suggest stopping the stack and pasting in the new compose, along with the new env vars. Then click "Update the stack", followed by using the "Re-pull and redeploy" slider.

1 Like

Gotcha. I figured that would be the case. However, I thought that it's better to ask for guidance than to screw things up all by myself. :roll_eyes: Thanks once again!

1 Like