[BETA] Project WebUI+: Making the Power of OliveTin-for-Channels and Project One-Click Available Directly in the Channels DVR WebUI

If you've ever wished the scripts and tricks of OliveTin-for-Channels and/or Project One-Click were available directly in the Channels DVR WebUI, that time is now! Through the power of userscripts and the OliveTin API, if it can be done in OliveTin, it can now be done directly via the CDVR WebUI.

It's done, I'm using it -- but I could use a couple of "testers" to confirm things are working elsewhere as they are for me. Here are a few screenshots to give you an idea of what this is all about:

The OliveTin dropdown:

An example OliveTin Action CDVR WebUI dialog:

The Project One-Click dropdown:

An example One-Click CDVR WebUI dialog:

The Extensions dropdown (to allow same-browser-tab access to the WebUIs of other projects giving CDVR + 3rd party projects a unified feel):

If you're interested and willing to give this a spin on a "pre-release" basis, respond here or DM me and we'll get a dialog going. One of the things I'd like to get some feedback on are the Actions I've made available (so far) via these dropdowns. Every Action could be added, but some make more sense than others.

EDIT: This is now an open Beta. More details here, including updated screenshots:

1 Like

Looking great! :smiley:

I noticed that some menu entries look the same in the One-Click menu and the Extensions menu.
What are the differences?

I'm assuming that you still need to go through the process of installing OliveTin-for-Channels in Docker for this to work. Maybe provide a link to the installation thread for new forum members who would happen to see this thread first. :wink:

Fantastic work as usual.

I still need to get OliveTin working before I can play with this new web UI.

1 Like

Anything under One-Click will install (or remove) the project via a Portainer-Stack, and add a matching CDVR Custom Channels Source where appropriate.

Anything under Extensions, is a link to whatever WebUI a given project has. Selecting any one of these open that UI in the same browser tab, much like navigating within the CDVR UI -- giving an integrated feel.

When Olivetin spins-up, it checks for CDVR-related projects, and determines which port each is running on. The Extensions portion of the script is updated accordingly.

1 Like

Ah OK, that's clear. Thank you for the explanation.

I think that this is fantastic! I'd love to see Olivetin actions incorporated in the Channels DVR GUI.

I don't use all of the Olivetin features. But, I'm willing to test what I am familiar with. Please let me know how I can help.

1 Like

OK, I think we'll move this into an "Beta" status, so that anyone can get in on the fun -- but still revert to the latest tag if you run into an issue.

The concept behind Project WebUI+, as mentioned in the first post, is to take pretty much everything that's been done in OliveTin + Project One-Click and add it to the CDVR WebUI in the form of three dropdowns on the navbar.

These are now "live" dropdowns, in that active/recurring Actions, installed Docker Projects and available Extensions WebUIs will all show in the dropdown with a green dot:

The OliveTin dropdown:

The One-Click dropdown:

The Extensions dropdown:

Prerequisites:

  • bnhf/olivetin:test

  • A userscript manger installed in your browser of choice (Tampermonkey recommended)

Here are the installation steps:

  • Stop your current OliveTin Stack

  • Change the TAG=latest value in the Environment variables of the Portainer-Stacks Editor to TAG=test and Update the stack. Re-pull and redeploy is good idea too, in case you have a previous test tagged container hanging about.

  • Make sure OliveTin-for-Channels has deployed correctly. You may need to dump "Cached images and files" in your browser history (select all time for the period), along with a <Ctrl>F5. This is a much newer version of the underlying olivetin, which is why the above may be needed.

  • The next step is to install a userscript manager in the browser you'd like to use this with. I personally use Tampermonkey, and this is the one I'd recommend, unless you're already "invested" in another:

  • With Tampermonkey installed, you need to enable userscripts. In Chrome this is done here:

  • You'll need two of them (plus there's a bonus third), which you can find at:
http://<$PORTAINER_HOST>:<$SFS_PORT>
  • Replace those env vars with their actual values you have in your OliveTin stack. You should see these three files there:

screenshot-htpc6_8081-2026_01_20-07_44_23

  • Click on them one-by-one, which should open a Tampermonkey window to install each. After that, navigate to the CDVR WebUI and refresh your browser. The new dropdowns should be there.

BTW, manage-lineup-helper.user.js is a userscript-friendly version of the bookmarklet of the same name. I've made a couple of visual improvements to that script, plus it'll run without needing to click anything in the future.

More details on this bonus userscript here:

These userscripts have been tested, and confirmed functional, on the following browsers:

  • Chrome
  • Firefox
  • Safari
  • Vivaldi

Thanks to @TerryD, @mackid1993 and @jsfullam for participating in the initial testing -- which uncovered several important issues.

1 Like

Maybe one day Channels will have Olivetin integrated and included in the app. This is a good start tho. :slight_smile:

1 Like

After allowing the updates through Tampermonkey earlier today, I tested the action "Movies List CSV".

The first thing I noticed since the update is the menus don't persist after closing the Chrome browser. When I first launch the Channels GUI, I get the usual menu bar.


After clearing the "Cached Images and files" and reloading the window, the new menus appear.

EDIT: A simple refresh of the Chrome browser tab without clearing the cache brings the menus up. This is different from when I initially installed the new scripts. Previously, the menus were there directly upon opening the GUI. Now, they don't appear unless I refresh the tab.

Running the action was flawless:

Thanks for posting this screenshot, as there were actually several problems with this particular script. First with the new "xterm" approach to output, debug information should be output to its own file, and shouldn't be mixed in with standard output as we're seeing here.

Also, we don't want to see timeout errors at the end of scripts, like this one shows. I've added an increased timeout to this and its companion CSV script.

Fixes for the above will be pushed in the next update.

As far as needing to refresh the browser, after that first time on updates/installations, I'm not seeing that on any of my test setups. This is on your Chromebook I imagine? It looks like you have quite a few other extensions installed. Would you mind posting a list?