Project One-Click: All-in-One Installations of Docker Extensions and CDVR Custom Channels

You have a winner!
Now, if you can only find someone to test it on Windows (not me).

I don't think so, but I see what you're getting at -- so I'll take another look.

In that case that command, including "$PATH" is correct, as shown.

1 Like

And the finishing touches to make it shine would be Project One-Click: All-in-One Installations of Docker Extensions and CDVR Custom Channels - #187 by chDVRuser

UPDATED:

A new stack, named channels-dvr{CDVR_CONTAINER} has been created in Portainer at http://{PORTAINER_HOST}:9000
You can now access your new Channels DVR container at http://{PORTAINER_HOST}:{HOST_PORT} (if bridge network), or http://{PORTAINER_HOST}:{CHANNELS_PORT} (if host network).
Setup Channels DVR to use this container directory {DVR_CONTAINER_DIR} (case sensitive) for storing recordings, since that is mapped to the host directory {DVR_SHARE} you specified.

Not sure if this is possible to include in the STD OUT after success, but would be a nice touch to an otherwise excellent solution.

1 Like

That should be possible. I'll tackle it shortly.

1 Like

Done. New version pushed this AM with improvements to stdout along these lines:

JSON response from http://htpc6:9000/api/stacks?type=2&method=string&endpointId=2:
{"Id":131,"Name":"channels-dvr","Type":2,"EndpointId":2,"SwarmId":"","EntryPoint":"docker-compose.yml","Env":[{"name":"TAG","value":"tve"},{"name":"HOST_PORT","value":"8089"},{"name":"CHANNELS_PORT","value":"8089"},{"name":"TZ","value":"US/Mountain"},{"name":"HOST_DIR","value":"/data"},{"name":"DVR_SHARE","value":"/mnt/dvr"},{"name":"DVR_CONTAINER_DIR","value":"/shares/DVR"},{"name":"NETWORK_MODE","value":"host"}],"ResourceControl":{"Id":108,"ResourceId":"2_channels-dvr","SubResourceIds":[],"Type":6,"UserAccesses":[],"TeamAccesses":[],"Public":false,"AdministratorsOnly":true,"System":false},"Status":1,"ProjectPath":"/data/compose/131","CreationDate":1726494878,"CreatedBy":"admin","UpdateDate":0,"UpdatedBy":"","AdditionalFiles":null,"AutoUpdate":null,"Option":null,"GitConfig":null,"FromAppTemplate":false,"Namespace":"","IsComposeFormat":false}
true
A new stack, named channels-dvr has been created in Portainer at http://htpc6:9000 or https://htpc6:9443
You can now access your new Channels DVR container at http://htpc6:8089 (if bridge network), or http://htpc6:8089 (if host network).
Setup Channels DVR to use this container directory /shares/DVR (case sensitive) for storing recordings, since that is mapped to the host directory /mnt/dvr you specified.

Also, adding a digit to "channels-dvr" to support deploying multiple CDVR servers on a single Docker host, is now a series of choices rather than a free form field entry.

VERY NICE!

I tested some combinations and they work fine on my Synology NAS.



And this may be some good news for Windows users, being able to use host mode network to run Channels DVR Server containers.

And looking at their release notes, it appears this is available on Windows, Mac and Linux

1 Like

OK. This has me feeling like a IDIOT! I have no clue what to do. I am am trying linux again (Last time I used linux on regular would of been 2005ish).

  1. I installed ubuntu
  2. I Installed docker
  3. I installed Olive Tin via *.deb package
  4. Olive tin shows up in webbrowser. Does not show up in portainer (Probably because I installed by package)
  5. Created a token and copied. Now that do I do with it.
  6. WTF do I do now to setup project 1 click. There is a envirorment variable you list. Where am I supposed to create that file. I am frustrated. I am sure its completely obvious and I am just missing it. But what do I do next

ive somewhat scrolled the 200 comments. I searched comments for installation. I am not seeing it.

OliveTin-for-Channels is a very specialized version of the generic OliveTin project (which is what you installed).

Your steps 1 and 2 are correct, but you went off the tracks after that. The OliveTin-for-Channels Docker Compose, and sample environment variables are in a number of places on the forum, including Post #1 in this thread.

Maybe this video from earlier in the thread would be useful as well.

2 Likes

Oh. . . Yup. I didnt relize different versions of olivetin. I think i got frustrated after that, frustrated Jake is not rational jake.

1 Like

You'll probably want to uninstall the generic deb package version -- so it doesn't conflict...

I noticed when I create a Pluto using one Click it added to the server.... this is great. I see it does it for all.

1 Like

Exactly right, @Edwin_Perez. :slightly_smiling_face:

The idea with Project One-Click was that once you click the button:

  1. Set up Docker (via Portainer stack)
  2. Create the source on the server

All done automagically. :star_struck:

The user doesn't need to mess around with settings.

1 Like

Thank you @bnhf, @mjitkop, and anyone else who has contributed to this excellent project.

A quick feature request: Adding in a Threadfin container deployment.

Thanks for your consideration!

1 Like

You do not need threadfin to use Channels DVR in Plex... and you can add more than 480 Channels.

HACK: Use Channels DVR as a Plex tuner - Playground / Hacks - Channels Community

1 Like

Yes, I know. The new functionality works exactly as intended and that's great.

However, Threadfin has other abilities (channel mapping, channel backups, etc.) beyond the ability to present the IP stream to Plex, and that is why I'm asking.

1 Like

I use Threadfin as a "pre-filter" for a custom channel source to grab Categories from my provider before presenting to Channels (similiar to a m3u4u i suppose-just self hosted). Very helpful as my provider likes to change the channel-id and breaks my Gracenote integration. since i pre-filter in Threadfin, i can avoid this

1 Like

I'll take a look. Thanks for the suggestion.

2 Likes

I'm looking at something like this for a Docker Compose and environment variables. Anything else I should add?:

version: '3.9'
services:
  threadfin:
    image: fyb3roptik/threadfin:${TAG}
    container_name: threadfin
    ports:
      - ${HOST_PORT}:34400
    environment:
      - PUID=${PUID}
      - PGID=${PGID}
      - TZ=${TZ}
    volumes:
      - ${HOST_DIR}/conf:/home/threadfin/conf
      - ${HOST_DIR}/temp:/tmp/threadfin:rw
    restart: unless-stopped

With these example env vars:

TAG=latest
HOST_PORT=34400
PUID=1001
PGID=1001
TZ=America/Los_Angeles
HOST_DIR=/data/threadfin

That looks good to me.

Hello,
My apologies in advance for the question. I've been trying to get the Olive Tin/One-Click setup working. I was following a YouTube video found here along with instructions but can't find it now. I got as far as installing Portainer. Is there a single set of instructions written or video for getting this setup and working ??.

Thank you......