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

@tonywagner I believe I figured out what's going on. There still needs to be a value of 0 specified for zip_code in the environment, despite the fact that blackout games are now being determined automatically. That's easy enough for me to handle in Project One-Click, so for now I'm hard coding zip_code=0, which seems to be a functioning workaround.

1 Like

@jtrippe77 OK, so I figured out where the issue lies with the mlbserver container. There used to be an option to set your zip code so games that are subject to blackout are marked. This process has been automated, but it seems a zip_code env var is still needed. I've added that back, hard coded to 0, and the Project One-Click Action is now working properly once again.

Before trying this latest update, be sure that:

  • There's no mlbserver source listed in CDVR Custom Channels sources.

  • There's no mlbserver stack in Portainer.

  • OliveTin is updated using Watchtower, or the method I outlined earlier today.

1 Like

That did it! Thank you so much.

1 Like

Thanks for the tip! I will try to look at the code tomorrow.

? I see the env var zip_code=0 in both the example docker-compose and docker-cli here
https://github.com/tonywagner/mlbserver#docker-compose

I removed it based on this post:

2 Likes

Hi guys,
I was hoping to leave my Plex 3.9 container alone until you all managed to get the bugs worked out of version 4.xx
Today, all of my Plex channels dropped out of my source. I checked the web interface for the Plex container, and it looked to me like the 4.xx interface. I didn't do anything intentionally(knowingly) to make the change.
In a panic, I removed my Plex source from Channels, and also removed the Plex stack/container from Portainer.
Now, I'm attempting to re-install Plex using the Project One-Click action.
I can't seem to get it right. Using the default environment variables, I am getting the following error:

JSON response from http://192.168.1.100:9000/api/stacks?type=2&method=string&endpointId=2:
{"message":"failed to deploy a stack: time=\"2025-02-17T20:40:19Z\" level=warning msg=\"/data/compose/124/docker-compose.yml: the attribute `version` is obsolete, it will be ignored, please remove it to avoid potential confusion\"\n Network plex-for-channels_default Creating\n Network plex-for-channels_default Created\n Container plex-for-channels Creating\n Container plex-for-channels Created\n Container plex-for-channels Starting\nError response from daemon: Bind mount failed: '/data/plex' does not exists\n","details":"Failed to deploy a stack: time=\"2025-02-17T20:40:19Z\" level=warning msg=\"/data/compose/124/docker-compose.yml: the attribute `version` is obsolete, it will be ignored, please remove it to avoid potential confusion\"\n Network plex-for-channels_default Creating\n Network plex-for-channels_default Created\n Container plex-for-channels Creating\n Container plex-for-channels Created\n Container plex-for-channels Starting\nError response from daemon: Bind mount failed: '/data/plex' does not exists\n"}
false

I'm sure that I'm missing something obvious. :thinking:

/data as a HOST_DIR value is a no-go with Synology right?

I managed to manually restore the Plex stack/container. The interface shows version 4.01:

I also manually added the source to channels following the format in an example posted earlier by @chDVRuser . It seems to be taking it. There's a lot of channels, so it's taking a while.

Yeah. I remember having some similar trouble with the directory path on my Synology. I think we had to manually create a directory through Synology DSM.

Using /volume1/docker for HOST_DIR, and then create plex under that should do it.

I had tried the action using /volume1/docker with no success. I just had to manually add the plex subdirectory as you suggested. Then, the action was able to create the stack/container.
I'm dumping the sources and stack/container to run the action again from scratch, now that I have the correct directory structure.

By the way, I have been wondering, when you stop a container and delete a stack from Portainer, is there a way to recover it? Perhaps there may be a wastebasket or trashcan feature to Portainer?

Using the one-click action, the stack was created and the plex-for-channels container launched. The Plex TV-NoEPG source was created in Channels DVR. However, I'm not seeing the creation of the regular (gracenote=include) Plex TV source.

Olivetin standard output:

JSON response from http://192.168.1.100:9000/api/stacks?type=2&method=string&endpointId=2:
{"Id":128,"Name":"plex-for-channels","Type":2,"EndpointId":2,"SwarmId":"","EntryPoint":"docker-compose.yml","Env":[{"name":"TAG","value":"latest"},{"name":"HOST_PORT","value":"7779"},{"name":"PORT","value":"7777"},{"name":"HOST_DIR","value":"/volume1/docker"}],"ResourceControl":{"Id":54,"ResourceId":"2_plex-for-channels","SubResourceIds":[],"Type":6,"UserAccesses":[],"TeamAccesses":[],"Public":false,"AdministratorsOnly":true,"System":false},"Status":1,"ProjectPath":"/data/compose/128","CreationDate":1739829386,"CreatedBy":"john","UpdateDate":0,"UpdatedBy":"","AdditionalFiles":null,"AutoUpdate":null,"Option":null,"GitConfig":null,"FromAppTemplate":false,"Namespace":"","IsComposeFormat":false}
true
{"error":"invalid source url: Get \"http://192.168.1.100:7779/plex/playlist.m3u?regions=local\u0026gracenote=include\": context deadline exceeded (Client.Timeout exceeded while awaiting headers)"}
true

I had, then removed, a "sleep" between creating the stack and creating the CDVR Custom Channels Sources.

Looks like I need to add a small delay back in, since the first source creation failed and the second succeeded.

1 Like

That sounds about right... Let me know when you need me to check it out again.

I am setting up olivetin for the first time, I followed the video, but I feel like the env variables are wrong, also can I delete the alert email lines? Thank you!

You need to replace the example values with those that are correct for your setup. You can use LAN IP addresses instead of hostnames, if you prefer.

In the Docker Compose, there are comments that describe what to enter for each env var. Look at those, and maybe watch the video again

Also, as a reminder, you and I spent a fair amount of time setting up OliveTin before. You were using OliveTin to create a custom M3U based on a channel collection as I recall.

1 Like

Also, instead of a screenshot

2 Likes

Yes, I do recall your assistance and it’s very appreciative. The problem before was that I only pulled the docker image and did not properly install olivetin as its intended to be installed.

Take a look at the comments in the OliveTin Docker Compose. That should give you a pretty good idea of what's needed for env var values.

Let me know if you have specific questions, and I'll point you in the right direction.

3 Likes