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

Docker Desktop with the Portainer extension should be fine -- although some purists might argue for installing docker from the command line in the WSL distro. Both work -- just be sure to add Portainer either way.

Worked!!!

I got the correct scoop on the PLUTO_CODE variable now. To get all regions, it's set like this, and obviously you can pare it down as appropriate:

PLUTO_CODE=local,us_west,us_east,ca,uk

Apparently "network reflection" has been something of an ongoing issue with WSL. I found this post, and creating a .wslconfig file in %USERPROFILE% did in fact resolve the issue. So you have several options to choose from:

%USERPROFILE%\.wslconfig:

[wsl2]
networkingMode=mirrored # add this line if file already exists

Stop WSL in PowerShell with:

wsl --shutdown

Which Docker Desktop won't like, but offers a "restart" dialog -- which is handy:

After that, curl works as expected for localhost and 127.0.0.1:

slayer@NUC12-PC:~$ curl --fail --output /dev/null --max-time 5 -w "HTTP Status: %{http_code}\nEffective URL: %{url_effective}\n" http://localhost
  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
100 20291    0 20291    0     0   535k      0 --:--:-- --:--:-- --:--:--  535k
HTTP Status: 200
Effective URL: http://localhost/
slayer@NUC12-PC:~$ curl --fail --output /dev/null --max-time 5 -w "HTTP Status: %{http_code}\nEffective URL: %{url_effective}\n" http://127.0.0.1
  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
100 20291    0 20291    0     0   566k      0 --:--:-- --:--:-- --:--:--  566k
HTTP Status: 200
Effective URL: http://127.0.0.1/
slayer@NUC12-PC:~$
2 Likes

the latest version puts all available as default (without using the variable)
PLUTO_CODE variable can be used if only wanting a subset of the lists (especially as most of the us is duplicated)

1 Like

Thanks a lot, @bnhf !

That's what got it to work for me. :grinning:

I created the file .wslconfig in my user profile: C:\Users\mjtk\.wslconfig
I copied the two lines that you mentioned and pasted them in the file:

[wsl2]
networkingMode=mirrored

I stopped WSL per your instruction and restarted Docker Desktop.

For me, 127.0.0.1 still doesn't work but by using the actual IP address of my PC, it works fine now.
I ended up changing the DVR address in my environment variables:

CHANNELS_DVR=192.168.18.120:8089

Now I have Channel Lineup Change Notifications running in OliveTin. :partying_face:

It's a SWAG, but since Docker Desktop doesn't support host mode networking, that may be why the
lo, loopback, 127.0.0.1 interface doesn't work.

I didn't get very far, couldn't get a terminal to load. Do I need a Docker account first? I just charged ahead without setting up an account. Portainer is installed and running. I set no ENVT variables either.
2024-02-25_19-16

No Docker account required. Where is this message coming from? At what point in the OliveTin-for-Channels installation?

1 Like

You definitely need to set your environment variables -- I doubt the container would even start without them, and OliveTin certainly won't run properly.

The other weird thing I've seen today is an issue with Docker Desktop, where the WSL Integration tick-box suddenly wasn't checked -- so confirm that too:

@bnhf your post earlier about creating a channel collection for logos got me thinking...

Any chance you would want to tackle actually creating the collection from a set of criteria? The channels interface isn't great for this purpose, especially for large collections, and doesn't give you hints when channels disappear (either for a down source or removal from TVE, for example).

My use case: I keep a "useful channel list" that serves as my main collection. It's basically an alphabetized (which BTW could be it's own smaller addition to olivetin too) multi-source collection that serves as the main gateway to content. It is basically a list of networks with some OTA suplicates sprinkled in, to allow for switching sources when needed, quickly.

I don't even know is this is possible, but throwing out there...

I could be wrong, but I thought OliveTin had the ability to display Comskip INI settings and the ability to change them?

I have docker and portainer running according to Docker Desktop. I can access docker via the Windows command terminal but it is clearly not running bash yet. I think I read somewhere with the right connections(?) I could use the windows cmd terminal to access docker using bash. Suggestions welcome.

OK, so I need to set some environment variables and use docker-compose to pull in the Olive Tin yaml. I don't where to start this part. Which should I do first? What directory do I put the yaml in before running docker-compose? What is the scope of the envt variables, I assume it is at the container or image level, not sure.

If you can suggest some simple tutorials based on these questions I'll stop bothering you for a while, but all of the tutorials seem aimed towards multi-user deployment mindsets and I of course am only concerned about single-user stand-alone scenarios.

You're right -- I wrote it, but never pushed it to the :latest release. It's was a number of months ago, and I can't remember exactly why I held it back. It might be I just got distracted but some other shiny object. :slight_smile:

You up for doing a little testing if I push it to a :test release?

Yes can you also add the option to change/delete a setting ?

Managing and tweaking select comskip.ini settings - Playground / Hacks - Channels Community (getchannels.com)

That post shows what the script is capable of at this point. Thanks for linking that thread, as it reminds me that this post:

is the reason I held off publishing, as I wanted to see if the mentioned change to where overrides were placed happened. That -- and it was a couple of days before Christmas. :christmas_tree:

I'd be happy to push it as is, and you can see what you think. Otherwise, it'll be a bit before I can circle back to it to make any fundamental changes.

you can post as is as those are the settings most often changed.

These are the settings I use ...

"comskip.ini.always_keep_first_seconds": "60",
"comskip.ini.always_keep_last_seconds": "300",
"comskip.ini.min_commercialbreak": "45",

Make sure you the Windows Subsystem for Linux installed as well, with a distro (Ubuntu is the default, but I use Debian). Also, in the Docker Desktop interface verify that WSL Integration tick-box is checked in its settings.

As far as deploying containers, I'd strongly recommend using Portainer-Stacks, which has an editor where you can paste in docker-composes and environment variables. Once you've added those two pieces, you simply click the "Update the stack" button to deploy. No need to mess with the command line:

OK, it's pushed as bnhf/olivetin:test -- give it a test drive.

1 Like

Will do ... I do not see it ...