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

WOW - I hope you didn't just buy an M2 for troubleshooting this! Talk about going above and beyond.

The full portainer install got me 90% there, but i still couldn't add a source successfully (though my host showed up in a health check.

I'm guessing you saw similar, as i put in the newest compose script you published, and it all works now.

Thanks for putting up with me on troubleshooting!

Excellent news!

Actually the newest docker-compose updates were in the interest of making things more bulletproof. It's been bugging me that the volumes definitions in the olivetin service still required some user editing. My goal has been to have everything that's installation specific in the Environment variables area. Sounds like this concept has paid off already.

Not having a MacOS running on bare metal has been something of a limitation to my testing, so I'm happy to have the Mac Mini now. It should speed up my multi-arch container builds as well, as the only ARM platforms in my build cluster have been Raspberry Pis.

It's been useful to go through this process with you, as it revealed important differences between the Docker Desktop Extension version of Portainer, and the full WebUI version. Plus, the whole File Sharing settings part of the Mac version of Docker Desktop doesn't exist in the Windows version.

So, now you have OliveTin up-and-running, and I got a Mac Mini M2 out of the deal. We both came out ahead. :partying_face:

1 Like

Can you help with this if possible? Thanks.

1 Like

So, you're for sure missing the new PORTAINER_HOST environment variable, and maybe PORTAINER_TOKEN (which you need to create if you haven't already).

I just updated the Portainer-Stack for OliveTin, in the primary places it's posted on the forum, so the new variables required for Project One-Click are present. All of the stacks I'm creating are designed for near-zero editing of the compose itself. Use the Environment variables section of Portainer for your specific values (Advanced mode in that section allows for copy-and-paste):

1 Like

Thanks. I’ll try it out when I get a moment.

1 Like

Here's a one minute video I did stepping through Project: One-Click for MLB.tv. If this proves useful, I'll do a few more on subjects related to my projects and Channels Extensions in general.

4 Likes

Nice video. Short and straight to the point.

By the way, if this is you speaking in the video, you have a great voice! Very pleasant and soothing.

I would definitely watch more videos from you.

Your video is useful but if you're considering more, could you possibly start from the beginning to show the less technical folks, like myself, how to set everything up?

I've been hesitant to install Docker Desktop on my 16GB M2 Mac Mini because I remember it carved out a large chunk of memory on my PC, and my Mac idles between 40-65% memory usage.

I'm not sure if that's normal for a Mac or if I need to adjust a setting because my 16 GB PC, with more background processes running, idles at around 20% memory usage.

I was thinking along those lines too. A few more short videos covering Docker Desktop, Portainer, OliveTin and probably Organizr. With those, and Project One-Click, everything else one might want to install can be done with OliveTin Actions.

Regarding Docker Desktop on the Mac Mini M2, I just installed the above pieces recently on an 8GB model, and it looks like it's using around 2.75GB with 4 containers. Docker Desktop does allow you to limit resource usage if needed:

I would very much appreciate simple step by step posts or videos for setting up Portainer, Olivetin, Project One-Click, and others previously mentioned in this feed. I have unsuccessfully tried several times to set up Olivetin through Portainer. I think that I'm really struggling to correctly enter environment variables. In particular, properly identifying docker and Channels DVR folders on my Synology NAS.
Cheers to all of you who are doing amazing work on these projects.

1 Like

@bnhf I could not use portainer port 9000 it is in use by java.exe had to use 9001... Will this have an affect on using these Installations.

It will if port 9000 responds to a basic curl, as the scripts will assume http Portainer is there. If there's no response by java.exe, then the scripts will move to using the Portainer https port on 9443.

I could make this configurable if need be -- let me know.

EDIT: It's only these lines in one common script that would need tweaking, and you could actually have 9443 tested first and then switch the && and || assignments for an immediate fix (if needed):

portainerstack.sh:

curl -s -o /dev/null http://$portainerHost:9000 \
  && portainerURL="http://$portainerHost:9000/api/stacks?type=2&method=string&endpointId=2" \
  || portainerURL="https://$portainerHost:9443/api/stacks?type=2&method=string&endpointId=2"

This is what I get when i try to install using port 9000

Microsoft Windows [Version 10.0.19045.4170]
(c) Microsoft Corporation. All rights reserved.

C:\Windows\system32>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
0520ba825fa991678b4bf5254d30fc88060ef050cb985c8c262c1c1f56cbead6
docker: Error response from daemon: Ports are not available: exposing port TCP 0.0.0.0:9000 -> 0.0.0.0:0: listen tcp 0.0.0.0:9000: bind: Only one usage of each socket address (protocol/network address/port) is normally permitted.

C:\Windows\system32>docker run -d -p 8000:8000 -p 9001: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
ef6d015c39f99b700a17e4d9042e4536b1f304f2b012da513e7772f2d0bd99a1

C:\Windows\system32>

using port 9001 trying to create Tubi ...

1 Like

@Edwin_Perez

I realize now that all of my tests have been with using a channel number override, and leaving the # in that field is failing. I'll fix that, but if you choose a starting channel number (in place of the "#"), like 12000 or whatever -- it should work.

use channels 3000 this is what happens appeared stuck ...

image

Did you make any changes to that curl test or did you leave it as is?

left it as is .....

level="info" msg="Before Parse Args" cmd="/config/tubi-for-channels.sh \"{{ dvr }}\" \"{{ TAG }}\" \"{{ HOST_PORT }}\" \"{{ TUBI_PORT }}\" \"{{ CDVR_STARTING_CHANNEL }}\""
level="info" msg="After Parse Args" cmd="/config/tubi-for-channels.sh \"192.168.50.68:8089\" \"latest\" \"7778\" \"7777\" \"3000\""
level="info" msg="Action starting" timeout="40" title="Create a Tubi-for-Channels Stack in Portainer + CDVR Custom Channels"
level="info" msg="UserFromContext" usergroup="" username=""
level="info" msg="UserFromContext" usergroup="" username=""
level="info" msg="UserFromContext" usergroup="" username=""
level="info" msg="UserFromContext" usergroup="" username=""
level="info" msg="UserFromContext" usergroup="" username=""
level="info" msg="UserFromContext" usergroup="" username=""
level="info" msg="UserFromContext" usergroup="" username=""
level="info" msg="UserFromContext" usergroup="" username=""
level="info" msg="UserFromContext" usergroup="" username=""
level="info" msg="UserFromContext" usergroup="" username=""
level="info" msg="UserFromContext" usergroup="" username=""
level="info" msg="UserFromContext" usergroup="" username=""
level="info" msg="UserFromContext" usergroup="" username=""

And what happens if you try to curl port 9000 on your docker host? Is there a response?

EDIT: Your also going to need to restart OliveTin, as you're likely in a waiting loop. I need to add some additional tests and error handling to account for this scenario.

When I curled 9000 got nothing I could not get your curl command above to run on windows.

Restarted Olivetin like you set was in a loop.

Give me a bit to look at this and I'll get back to you...