OliveTin for Channels: An Interface for Misc Channels DVR Scripts & Tricks

I am running my server off my mac mini and I have a laptop with ubuntu.

I'm assuming that means you're storing your CDVR recordings on the Mac Mini too. The parent folder that contains your recordings, and has folders in it named TV, Movies, Logs, etc is what you want to share to your network.

I'm fairly sure you can do that using the SMB protocol. Once that share is created, you can setup your docker volume in Portainer as previously described to connect to it.

Yeah. I have portainer setup. I am just having issues with SMB I have it set to file share but when i connect to sbm://xxxxxx.local it errors out.

^ first make sure you're using smb and not sbm.

Also try it with the actual IP address of the server, and not xxxxxxx.local.

Lastly, it's been a while since I had to mess with SMB connections from a Mac share (and I haven't set up this button yet with my own OliveTin) but IIRC when I did this with Xbox Media Player, I had to format the URL with the username of the sharing user appended. Something like smb://x.x.x.x@fofer

I'm not sure if that will work in this case, just tossing this out there hoping it helps.

1 Like

There are actually 5 (soon to be 6) OliveTin Actions that require a bind mount to your CDVR recordings folder:

screenshot-htpc6-2023.12.31-01_36_39

screenshot-htpc6-2023.12.31-01_37_41

screenshot-htpc6-2023.12.31-01_39_16

screenshot-htpc6-2023.12.31-01_39_57

screenshot-htpc6-2023.12.31-01_47_05

screenshot-htpc6-2023.12.31-01_47_41

And for some additional detail on this subject: If your docker host is also your CDVR server, you should just be able to do a bind mount to the parent directory that contains CDVR folders that look like this:

If your CDVR server is not your Docker host, then the above folder needs to be setup as network share (which is super handy for lots of reasons) and a Docker volume created using Portainer-Volumes.

I've added a couple of OliveTin Actions to use your own unique Plex token for Plex M3U/XML generation. The first Action generates the token using your Plex UserID (only needs to be run once), and the second sets up a recurring action to download and modify the M3U/XML data for use (via URL) with your Plex Custom Channels source.

More details can be found here:

Thanks to @john9527 for creating the script on which this is based!

I am trying to set this up on my Synology, am I doing this correctly?

version: '3.9'

services:

olivetin:

image: bnhf/olivetin:${TAG} # Add the tag like latest or test to the environment variables below

container_name: olivetin

dns_search: ${DOMAIN}

ports:

  - 1337:1337

environment:

  - CHANNELS_DVR=${CHANNELS_DVR}=8089

  - CHANNELS_DVR_ALTERNATES=${CHANNELS_DVR_ALTERNATES}=8089

  - CHANNELS_CLIENTS=${CHANNELS_CLIENTS}=appletv-livingroomappletv

  - UPDATE_YAMLS=${UPDATE_YAMLS}=true

  - UPDATE_SCRIPTS=${UPDATE_SCRIPTS}=true

  - TZ=${TZ}=US/Arizona

volumes:

  - ${HOST_DIR}/volume1/docker

  - ${DVR_SHARE}:/mnt/local-server-8089

  - ${DVR2_SHARE}:/mnt/remote-server-8089

restart: unless-stopped

#volumes: -/volume1/docker/channelsdvr

#external: true

Do you have Portainer installed?

Yes I do, how can I pull the image?

Create a Portainer-Stack using the docker-compose described in the first post of this thread. Then in the environment variables section, you can switch to Advanced mode and paste the sample variables in, followed by changing the sample values to your actual values:

I’m such a noob, all of my selfhosted stuff is running by creating a yaml compose. Is that also possible to do?

That's what we're doing here. Portainer is a WebUI that allows you to more easily manage yaml-based docker-composes and environment variables. It also supports creating and managing docker volumes, which you may need if your docker host is different than your Channels DVR host. Lots of other cool stuff too.

Spinning up OliveTin via the command line, or command line based compose is of course possible, but that's not the way I'm supporting it. I think you'll find it's a worthwhile tool to get familiar with, for Channels extensions, and your self-hosted stuff.

Here's all the stuff I run that's Channels-related. I have other docker hosts running things related to other projects -- all managed by instances of Portainer:

I think I got it with the yaml method,
version: '3.9'
services:
olivetin:
image: jamesread/olivetin:latest
container_name: olivetin
ports:
- 1337:1337
environment:
- CHANNELS_DVR=${CHANNELS_DVR}
volumes:
- /volume1/docker/channelsdvr:/channels-dvr
- /volume1/chDVRtve:/shares/dvr
restart: unless-stopped

That's generic OliveTin, not OliveTin-for-Channels.

I GOT IT IM SUCH A NOOB BUT I DID IT YAY THANK YOU FOR THIS PROJECT!!! :: @bnhf

When I generate a Channel Collection M3U playlist, how can I get it to pull the M3u for a specific collection I made in my dvr? In the collection section do I type the name of the channel collection?

Yes.

I have it under this "TV" but I keep getting "Channel Collection not found: TV"

Can you post a screenshot of your Channels Collections page from CDVR, and also for the OliveTin Action with the data filled-in?