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

Cleared out a bunch of unused images. Now all image tags are :latest
:slightly_smiling_face:

I'm not sure what I'm doing wrong, but when I go to the webpage for OliveTin, I can only get this page which is nothing like the page in post #113. I'm running Docker for Windows and I do have two containers running (Eplus and Tubi) separately, so I know Docker is working. Any thoughts what I might try? Thanks.

Click the menu (hamburger) icon in the upper left

Aahhh, now I feel silly! Thank you for the quick response and this project!

Don't feel bad. This had me stumped for quite some time until I read something on the forum that clued me into that GUI element.

2 Likes

32 posts were split to a new topic: Project One-Click: Need help installing

Post moved based on topic split above

Hi! I have been experimenting with the "Project One-Click" action for "Create a Chrome-Capture-for-Channels Stack in Portainer". I initiated with all of the variables as default values other than changing my local timezone (US/Pacific).
I am receiving the following error:
JSON response from http://192.168.1.100:9000/api/stacks?type=2&method=string&endpointId=2:
{"message":"Invalid request payload","details":"invalid character ' ' in string escape code"}
false

I see it too. I'll work on it.

1 Like

@jsfullam The cc4c invalid character issue should be fixed in :latest (2024.07.23). Pushed just now.

Just updated Olivetin and launched the cc4c action with all defaults with the exception of time zone. The cc4c container is currently running in Portainer. :smiley:
I'll try to figure out how to get the rest of cc4c into play tomorrow.

There is an experimental docker compose that includes the ability to set the "viewport" to a lower resolution, plus some addition "args" that one user is reporting good results with -- along with success with Intel Quicksysnc support.

If you do use the new compose, and have success with it, I'll incorporate it into Project One-Click. It's here if you decide to give it a try:

I think that trying this experimental docker compose for cc4c might be over my head. For now, I'm hoping to get a basic installation of cc4c working. Preferably on my Synology NAS, or on a Windows PC on the same network as my NAS.

Just tried it out and YES! GReat Job!!!! Worked like a charm!

2 Likes

Total Noob here. Is there anyway to get help on installing Olivetin?
I have downloaded the version for Windows, but am totally stuck. I have never messed with Docker before.
Thanks for the help

First thing you want to do is install WSL2 with a Linux distro -- I'd recommend Debian. Then install Docker Desktop for Windows, and enable "integration" with your default distro. No need to select any additional distro:

Thanks for the help :slight_smile:

There's more to do -- let me know when you've completed those first steps.

Hi. I installed olivetin and went to the project one click to try to create the plex for channels stack, but i keep getting an error. What did i do wrong? Here is the error message:

exit status 1

+ dvr=192.168.68.55:8089
++ basename /config/plex-for-channels.sh
+ extension=plex-for-channels.sh
+ extension=plex-for-channels
+ cp /config/plex-for-channels.env /tmp
+ envFile=/tmp/plex-for-channels.env
+ [[ -n 192.168.68.55 ]]
+ extensionURL=192.168.68.55:7779
+ [[ 10000 == \# ]]
+ cdvrStartingChannel=10000
+ [[ -n 10000 ]]
+ cdvrIgnoreM3UNumbers=ignore
+ curl -s -o /dev/null http://192.168.68.55:7779
+ envVars=("TAG=$2" "HOST_PORT=$3" "PLEX_PORT=$4" "PLEX_CODE=$5" "CDVR_STARTING_CHANNEL=$6")
+ printf '%s\n' TAG=latest HOST_PORT=7779 PLEX_PORT=7777 PLEX_CODE=local CDVR_STARTING_CHANNEL=10000
+ sed -i /=#/d /tmp/plex-for-channels.env
+ /config/portainerstack.sh plex-for-channels
+ stackName=plex-for-channels
+ portainerHost=192.168.68.55
+ curl -s -o /dev/null http://192.168.68.55:9000
+ portainerURL='https://192.168.68.55:9443/api/stacks?type=2&method=string&endpointId=2'
+ portainerToken=ptr_04ckjy0u1H17MFv6OcyZAqRHc80fPqBFh6dJnfNTIqs=
+ cp /config/plex-for-channels.yaml /tmp
+ stackFile=/tmp/plex-for-channels.yaml
+ envFile=/tmp/plex-for-channels.env
++ grep DVR_SHARE= /tmp/plex-for-channels.env
++ grep -v /
++ awk -F= '{print $2}'
+ dockerVolume=
++ grep VOL_EXTERNAL= /tmp/plex-for-channels.env
++ grep -v '#'
++ awk -F= '{print $2}'
+ volumeExternal=
++ grep VOL_NAME= /tmp/plex-for-channels.env
++ grep -v '#'
++ awk -F= '{print $2}'
+ volumeName=
+ [[ -n '' ]]
++ sed 's/\\/\\\\/g' /tmp/plex-for-channels.yaml
++ sed 's/"/\\"/g'
++ awk '{printf "%s\\n", $0}'
+ stackContent='version: '\''3.9'\''\nservices:\n  # GitHub home for this project with setup instructions: https://github.com/jgomez177/plex-for-channels\n  # Docker container home for this project: https://ghcr.io/jgomez177/plex-for-channels\n  plex-for-channels:\n    image: ghcr.io/jgomez177/plex-for-channels:${TAG}\n    container_name: plex-for-channels\n    ports:\n      - ${HOST_PORT}:${PLEX_PORT}\n    environment:\n      - PLEX_PORT=${PLEX_PORT}\n    restart: unless-stopped\n\n  # Default Environment variables can be found below under stderr -- copy and paste into Portainer-Stacks Environment variables section in Advanced mode\n'
+ stackEnvVars='['
+ IFS==
+ read -r key value
+ stackEnvVars='[{"name": "TAG", "value": "latest"},'
+ IFS==
+ read -r key value
+ stackEnvVars='[{"name": "TAG", "value": "latest"},{"name": "HOST_PORT", "value": "7779"},'
+ IFS==
+ read -r key value
+ stackEnvVars='[{"name": "TAG", "value": "latest"},{"name": "HOST_PORT", "value": "7779"},{"name": "PLEX_PORT", "value": "7777"},'
+ IFS==
+ read -r key value
+ stackEnvVars='[{"name": "TAG", "value": "latest"},{"name": "HOST_PORT", "value": "7779"},{"name": "PLEX_PORT", "value": "7777"},{"name": "PLEX_CODE", "value": "local"},'
+ IFS==
+ read -r key value
+ stackEnvVars='[{"name": "TAG", "value": "latest"},{"name": "HOST_PORT", "value": "7779"},{"name": "PLEX_PORT", "value": "7777"},{"name": "PLEX_CODE", "value": "local"},{"name": "CDVR_STARTING_CHANNEL", "value": "10000"},'
+ IFS==
+ read -r key value
+ stackEnvVars='[{"name": "TAG", "value": "latest"},{"name": "HOST_PORT", "value": "7779"},{"name": "PLEX_PORT", "value": "7777"},{"name": "PLEX_CODE", "value": "local"},{"name": "CDVR_STARTING_CHANNEL", "value": "10000"}]'
++ cat
+ stackJSON='{
  "Name": "plex-for-channels",
  "SwarmID": "",
  "StackFileContent": "version: '\''3.9'\''\nservices:\n  # GitHub home for this project with setup instructions: https://github.com/jgomez177/plex-for-channels\n  # Docker container home for this project: https://ghcr.io/jgomez177/plex-for-channels\n  plex-for-channels:\n    image: ghcr.io/jgomez177/plex-for-channels:${TAG}\n    container_name: plex-for-channels\n    ports:\n      - ${HOST_PORT}:${PLEX_PORT}\n    environment:\n      - PLEX_PORT=${PLEX_PORT}\n    restart: unless-stopped\n\n  # Default Environment variables can be found below under stderr -- copy and paste into Portainer-Stacks Environment variables section in Advanced mode\n",
  "Env": [{"name": "TAG", "value": "latest"},{"name": "HOST_PORT", "value": "7779"},{"name": "PLEX_PORT", "value": "7777"},{"name": "PLEX_CODE", "value": "local"},{"name": "CDVR_STARTING_CHANNEL", "value": "10000"}]
}'
+ echo 'JSON response from https://192.168.68.55:9443/api/stacks?type=2&method=string&endpointId=2:'
++ curl -k -X POST -H 'Content-Type: application/json' -H 'X-API-Key: ptr_04ckjy0u1H17MFv6OcyZAqRHc80fPqBFh6dJnfNTIqs=' -d '{
  "Name": "plex-for-channels",
  "SwarmID": "",
  "StackFileContent": "version: '\''3.9'\''\nservices:\n  # GitHub home for this project with setup instructions: https://github.com/jgomez177/plex-for-channels\n  # Docker container home for this project: https://ghcr.io/jgomez177/plex-for-channels\n  plex-for-channels:\n    image: ghcr.io/jgomez177/plex-for-channels:${TAG}\n    container_name: plex-for-channels\n    ports:\n      - ${HOST_PORT}:${PLEX_PORT}\n    environment:\n      - PLEX_PORT=${PLEX_PORT}\n    restart: unless-stopped\n\n  # Default Environment variables can be found below under stderr -- copy and paste into Portainer-Stacks Environment variables section in Advanced mode\n",
  "Env": [{"name": "TAG", "value": "latest"},{"name": "HOST_PORT", "value": "7779"},{"name": "PLEX_PORT", "value": "7777"},{"name": "PLEX_CODE", "value": "local"},{"name": "CDVR_STARTING_CHANNEL", "value": "10000"}]
}' 'https://192.168.68.55:9443/api/stacks?type=2&method=string&endpointId=2'
  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed

  0     0    0     0    0     0      0      0 --:--:-- --:--:-- --:--:--     0
  0     0    0     0    0     0      0      0 --:--:--  0:00:01 --:--:--     0
  0     0    0     0    0     0      0      0 --:--:--  0:00:02 --:--:--     0
  0     0    0     0    0     0      0      0 --:--:--  0:00:03 --:--:--     0
  0     0    0     0    0     0      0      0 --:--:--  0:00:04 --:--:--     0
  0     0    0     0    0     0      0      0 --:--:--  0:00:05 --:--:--     0
  0     0    0     0    0     0      0      0 --:--:--  0:00:06 --:--:--     0
  0     0    0     0    0     0      0      0 --:--:--  0:00:07 --:--:--     0
  0     0    0     0    0     0      0      0 --:--:--  0:00:08 --:--:--     0
  0     0    0     0    0     0      0      0 --:--:--  0:00:09 --:--:--     0
  0     0    0     0    0     0      0      0 --:--:--  0:00:10 --:--:--     0
  0     0    0     0    0     0      0      0 --:--:--  0:00:11 --:--:--     0
  0     0    0     0    0     0      0      0 --:--:--  0:00:12 --:--:--     0
  0     0    0     0    0     0      0      0 --:--:--  0:00:13 --:--:--     0
  0     0    0     0    0     0      0      0 --:--:--  0:00:14 --:--:--     0
  0     0    0     0    0     0      0      0 --:--:--  0:00:15 --:--:--     0
  0     0    0     0    0     0      0      0 --:--:--  0:00:16 --:--:--     0
  0     0    0     0    0     0      0      0 --:--:--  0:00:17 --:--:--     0
  0     0    0     0    0     0      0      0 --:--:--  0:00:18 --:--:--     0
  0     0    0     0    0     0      0      0 --:--:--  0:00:19 --:--:--     0
  0     0    0     0    0     0      0      0 --:--:--  0:00:20 --:--:--     0
  0     0    0     0    0     0      0      0 --:--:--  0:00:21 --:--:--     0
  0     0    0     0    0     0      0      0 --:--:--  0:00:22 --:--:--     0
  0     0    0     0    0     0      0      0 --:--:--  0:00:23 --:--:--     0
  0     0    0     0    0     0      0      0 --:--:--  0:00:24 --:--:--     0
  0     0    0     0    0     0      0      0 --:--:--  0:00:25 --:--:--     0
  0     0    0     0    0     0      0      0 --:--:--  0:00:26 --:--:--     0
  0     0    0     0    0     0      0      0 --:--:--  0:00:27 --:--:--     0
  0     0    0     0    0     0      0      0 --:--:--  0:00:28 --:--:--     0
  0     0    0     0    0     0      0      0 --:--:--  0:00:29 --:--:--     0
  0     0    0     0    0     0      0      0 --:--:--  0:00:30 --:--:--     0
  0     0    0     0    0     0      0      0 --:--:--  0:00:31 --:--:--     0
  0     0    0     0    0     0      0      0 --:--:--  0:00:32 --:--:--     0
  0     0    0     0    0     0      0      0 --:--:--  0:00:33 --:--:--     0
  0     0    0     0    0     0      0      0 --:--:--  0:00:34 --:--:--     0
  0     0    0     0    0     0      0      0 --:--:--  0:00:35 --:--:--     0
  0     0    0     0    0     0      0      0 --:--:--  0:00:36 --:--:--     0
  0     0    0     0    0     0      0      0 --:--:--  0:00:37 --:--:--     0
  0     0    0     0    0     0      0      0 --:--:--  0:00:38 --:--:--     0
  0     0    0     0    0     0      0      0 --:--:--  0:00:39 --:--:--     0
  0     0    0     0    0     0      0      0 --:--:--  0:00:40 --:--:--     0
  0     0    0     0    0     0      0      0 --:--:--  0:00:41 --:--:--     0
  0     0    0     0    0     0      0      0 --:--:--  0:00:42 --:--:--     0
  0     0    0     0    0     0      0      0 --:--:--  0:00:43 --:--:--     0
  0     0    0     0    0     0      0      0 --:--:--  0:00:44 --:--:--     0
  0     0    0     0    0     0      0      0 --:--:--  0:00:45 --:--:--     0
  0     0    0     0    0     0      0      0 --:--:--  0:00:46 --:--:--     0
  0     0    0     0    0     0      0      0 --:--:--  0:00:47 --:--:--     0
  0     0    0     0    0     0      0      0 --:--:--  0:00:48 --:--:--     0
  0     0    0     0    0     0      0      0 --:--:--  0:00:49 --:--:--     0
  0     0    0     0    0     0      0      0 --:--:--  0:00:50 --:--:--     0
  0     0    0     0    0     0      0      0 --:--:--  0:00:51 --:--:--     0
  0     0    0     0    0     0      0      0 --:--:--  0:00:52 --:--:--     0
  0     0    0     0    0     0      0      0 --:--:--  0:00:53 --:--:--     0
  0     0    0     0    0     0      0      0 --:--:--  0:00:54 --:--:--     0
  0     0    0     0    0     0      0      0 --:--:--  0:00:55 --:--:--     0
  0     0    0     0    0     0      0      0 --:--:--  0:00:56 --:--:--     0
  0     0    0     0    0     0      0      0 --:--:--  0:00:57 --:--:--     0
  0     0    0     0    0     0      0      0 --:--:--  0:00:58 --:--:--     0
  0     0    0     0    0     0      0      0 --:--:--  0:00:59 --:--:--     0
  0     0    0     0    0     0      0      0 --:--:--  0:01:00 --:--:--     0
  0     0    0     0    0     0      0      0 --:--:--  0:01:01 --:--:--     0
  0     0    0     0    0     0      0      0 --:--:--  0:01:02 --:--:--     0
  0     0    0     0    0     0      0      0 --:--:--  0:01:03 --:--:--     0
  0     0    0     0    0     0      0      0 --:--:--  0:01:04 --:--:--     0
  0     0    0     0    0     0      0      0 --:--:--  0:01:05 --:--:--     0
  0     0    0     0    0     0      0      0 --:--:--  0:01:06 --:--:--     0
  0     0    0     0    0     0      0      0 --:--:--  0:01:07 --:--:--     0
  0     0    0     0    0     0      0      0 --:--:--  0:01:08 --:--:--     0
  0     0    0     0    0     0      0      0 --:--:--  0:01:09 --:--:--     0
  0     0    0     0    0     0      0      0 --:--:--  0:01:10 --:--:--     0
  0     0    0     0    0     0      0      0 --:--:--  0:01:11 --:--:--     0
  0     0    0     0    0     0      0      0 --:--:--  0:01:12 --:--:--     0
  0     0    0     0    0     0      0      0 --:--:--  0:01:13 --:--:--     0
  0     0    0     0    0     0      0      0 --:--:--  0:01:14 --:--:--     0
  0     0    0     0    0     0      0      0 --:--:--  0:01:15 --:--:--     0
  0     0    0     0    0     0      0      0 --:--:--  0:01:16 --:--:--     0
  0     0    0     0    0     0      0      0 --:--:--  0:01:17 --:--:--     0
  0     0    0     0    0     0      0      0 --:--:--  0:01:18 --:--:--     0
  0     0    0     0    0     0      0      0 --:--:--  0:01:19 --:--:--     0
  0     0    0     0    0     0      0      0 --:--:--  0:01:20 --:--:--     0
  0     0    0     0    0     0      0      0 --:--:--  0:01:21 --:--:--     0
  0     0    0     0    0     0      0      0 --:--:--  0:01:22 --:--:--     0
  0     0    0     0    0     0      0      0 --:--:--  0:01:23 --:--:--     0
  0     0    0     0    0     0      0      0 --:--:--  0:01:24 --:--:--     0
  0     0    0     0    0     0      0      0 --:--:--  0:01:25 --:--:--     0
  0     0    0     0    0     0      0      0 --:--:--  0:01:26 --:--:--     0
  0     0    0     0    0     0      0      0 --:--:--  0:01:27 --:--:--     0
  0     0    0     0    0     0      0      0 --:--:--  0:01:28 --:--:--     0
  0     0    0     0    0     0      0      0 --:--:--  0:01:29 --:--:--     0
  0     0    0     0    0     0      0      0 --:--:--  0:01:30 --:--:--     0
  0     0    0     0    0     0      0      0 --:--:--  0:01:31 --:--:--     0
  0     0    0     0    0     0      0      0 --:--:--  0:01:32 --:--:--     0
  0     0    0     0    0     0      0      0 --:--:--  0:01:33 --:--:--     0
  0     0    0     0    0     0      0      0 --:--:--  0:01:34 --:--:--     0
  0     0    0     0    0     0      0      0 --:--:--  0:01:35 --:--:--     0
  0     0    0     0    0     0      0      0 --:--:--  0:01:36 --:--:--     0
  0     0    0     0    0     0      0      0 --:--:--  0:01:37 --:--:--     0
  0     0    0     0    0     0      0      0 --:--:--  0:01:38 --:--:--     0
  0     0    0     0    0     0      0      0 --:--:--  0:01:39 --:--:--     0
  0     0    0     0    0     0      0      0 --:--:--  0:01:40 --:--:--     0
  0     0    0     0    0     0      0      0 --:--:--  0:01:41 --:--:--     0
  0     0    0     0    0     0      0      0 --:--:--  0:01:42 --:--:--     0
  0     0    0     0    0     0      0      0 --:--:--  0:01:43 --:--:--     0
  0     0    0     0    0     0      0      0 --:--:--  0:01:44 --:--:--     0
  0     0    0     0    0     0      0      0 --:--:--  0:01:45 --:--:--     0
  0     0    0     0    0     0      0      0 --:--:--  0:01:46 --:--:--     0
  0     0    0     0    0     0      0      0 --:--:--  0:01:47 --:--:--     0
  0     0    0     0    0     0      0      0 --:--:--  0:01:48 --:--:--     0
  0     0    0     0    0     0      0      0 --:--:--  0:01:49 --:--:--     0
  0     0    0     0    0     0      0      0 --:--:--  0:01:50 --:--:--     0
  0     0    0     0    0     0      0      0 --:--:--  0:01:51 --:--:--     0
  0     0    0     0    0     0      0      0 --:--:--  0:01:52 --:--:--     0
  0     0    0     0    0     0      0      0 --:--:--  0:01:53 --:--:--     0
  0     0    0     0    0     0      0      0 --:--:--  0:01:54 --:--:--     0
  0     0    0     0    0     0      0      0 --:--:--  0:01:55 --:--:--     0
  0     0    0     0    0     0      0      0 --:--:--  0:01:56 --:--:--     0
  0     0    0     0    0     0      0      0 --:--:--  0:01:57 --:--:--     0
  0     0    0     0    0     0      0      0 --:--:--  0:01:58 --:--:--     0
  0     0    0     0    0     0      0      0 --:--:--  0:01:59 --:--:--     0
  0     0    0     0    0     0      0      0 --:--:--  0:02:00 --:--:--     0
  0     0    0     0    0     0      0      0 --:--:--  0:02:01 --:--:--     0
  0     0    0     0    0     0      0      0 --:--:--  0:02:02 --:--:--     0
  0     0    0     0    0     0      0      0 --:--:--  0:02:03 --:--:--     0
  0     0    0     0    0     0      0      0 --:--:--  0:02:04 --:--:--     0
  0     0    0     0    0     0      0      0 --:--:--  0:02:05 --:--:--     0
  0     0    0     0    0     0      0      0 --:--:--  0:02:06 --:--:--     0
  0     0    0     0    0     0      0      0 --:--:--  0:02:07 --:--:--     0
  0     0    0     0    0     0      0      0 --:--:--  0:02:08 --:--:--     0
  0     0    0     0    0     0      0      0 --:--:--  0:02:09 --:--:--     0
  0     0    0     0    0     0      0      0 --:--:--  0:02:10 --:--:--     0
  0     0    0     0    0     0      0      0 --:--:--  0:02:11 --:--:--     0
curl: (28) Failed to connect to 192.168.68.55 port 9443: Connection timed out
+ portainerResponse=
+ [[ -z '' ]]
+ exit 1
+ [[ 1 == 1 ]]
+ exit 1

It doesn't look like Portainer was reachable at either http://192.168.68.55:9000 or https://192.168.68.55:9443. Are you able to access Portainer from either (ideally both) of those URLs in a browser?