Oopps, I didn't add _HOST
to the end of that variable. That's my bad. It works now.
Some of you may have seen my post just a few days ago that OliveTin-for-Channels passed the 6000 download mark. Or perhaps one of my previous posts asking the question, as to whether we may be seeing a new era of a more Docker/Portainer-savvy Channels DVR user.
I don't think there's much question about it now, as this Portainer-centric, Docker-based collection of scripts & tricks has seen an additional 3000 downloads in just 3 days. Wow.
Many thanks to all that have found this a useful project -- and keep the ideas and suggestions coming!
Does that mean I can delete the other 2999 downloads I've made over the last 3 days?
Congrats on the milestone.
For you ah4c users out there, another OliveTin-for-Channels Action specifically for you!:
New bnhf/olivetin:latest (aka bnhf/olivetin:2024.10.30) pushed today. Which, when used with the latest ah4c container, will allow you to get a list of all of your installed 3rd party applications on any connected ADB device. Here's an example showing the apps on the 5 FireSticks I have across 2 encoders:
And, here's the full text of Standard Output:
Device: firestick-rack1:5555
Third-party packages installed:
com.espn.gtv
com.pandora.android.gtv
com.amazon.firetv.youtube.tv
com.foxsports.dssgo
com.estrongs.android.pop
com.att.tv
com.cbs.ott
com.netflix.ninja
------------------------------
Device: firestick-rack2:5555
Third-party packages installed:
com.att.tv
com.sling
com.cbs.ott
------------------------------
Device: firestick-rack3:5555
Third-party packages installed:
com.att.tv
------------------------------
Device: firestick-rack4:5555
Third-party packages installed:
com.tvapp.frndlytv
com.att.tv
com.sling
com.fubo.firetv.screen
------------------------------
Device: firestick-travel2:5555
Third-party packages installed:
com.tennischannel.tceverywhere.amazon
com.getchannels.dvr.app
com.disney.datg.videoplatforms.android.amazon.kindle.watchdc
com.tailscale.ipn
com.plexapp.android
com.pbs.video
tunein.player
com.clearchannel.iheartradio.tv
com.pandora.android.gtv
com.xfinity.cloudtvr.tenfoot
com.estrongs.android.pop
com.analiti.fastest.android
com.att.tv
com.amazon.storm.lightning.client.aosp
com.onemainstream.nbcunivers.android
com.esaba.downloader
com.netflix.ninja
------------------------------
As you can see, with testing I've done over the last year and a half, I have a bit of a hodge-podge of apps. This Action makes it easy to remove ones I don't want, or add apps I want on all 5 sticks.
I have been using ADBTuner, rather than AH4C. Does this new action support ADBTuner also?
It doesn't, though it could be added. It would be up to @turtletank if he wanted to enable something like this. The ADB mechanics in ADBTuner are a bit different, as it uses a Python library, and the devices don't remain connected like they do in ah4c.
Hey everyone, creator of OliveTin here Really excited to find another community of people that found OliveTin has helped them do something cool.
I just noticed this community because it came up on the GitHub analytics's, and then saw you appear to be using the GitHub - bnhf/OliveTin: OliveTin gives safe and simple access to predefined shell commands from a web interface. repository. It looks like this repository has all the scripts and config built-in that you need, which is great.
I just wanted to say though, that OliveTin has updated quire a lot visually in the last year or so since the that fork was created, some slightly more modern visual styling, and come quality of live improvements like more argument types supported, and "re run" / "kill" buttons, as well as more authentication options.
By all means continue on the older version if that works for you, but if you'd like help updating your fork to a more recent version (339 commits of difference!), let me know and I'd be happy to help you out. Discord (link on OliveTin homepage) or Email is probably best for me (contact@jread.com), but I'll try to check back to this thread from time to time.
@jamesread Glad to see your post on our community forum!
OliveTin has been an outstanding platform to build a tool that many have called the "Swiss Army Knife" for Channels DVR. It's popularity has grown considerably since last Fall, especially lately where daily downloads have been near 1K -- we just passed 16K downloads today.
I'm actually not building from the fork I created last year, but rather am downloading the 2024.04.09 executable during the Dockerfile build along with numerous other packages required by the scripts we're making available. Here's the current lineup of scripts:
And, in addition there's a second page that includes a whole series of container-based projects created by the Channels community. Each of these projects is spun-up via the Portainer API, and then added to Channels via the Channels API:
We're currently using the 2024.04.09 version of OliveTin, and are making great use of the features you've added to that point.
Many thanks for creating this one-of-a-kind project!
@jasonmcroy When you have a moment, could you run the "OliveTin Post-Install Healthcheck" and post the results here? Don't forget to use 3 backticks before and after the contents of Standard Output. I'd like to see if OliveTin is able to communicate with your CDVR container, and check if your paths are setup correctly.
Hi @bnhf - totally happy to do that. However, can you explain what you mean by "Don't forget to use 3 backticks before and after the contents..."
Also, I guess you don't need the contents of the "Standard Error" section, just "Standard Output"?
The backtick (which on most keyboards is to the left of the 1
key), when used in a group of three, creates the beginning and end of a code block. This makes code, logs, and other types of output much easier to read -- and truer to their original form.
It eliminates word wrap and other type of formatting for example. This use of backticks is part of common form of formatting called Markdown, which is used on many forums and on sites like GitHub.
Here's my healthcheck Standard Output (no need for Standard Error) with backticks:
Checking your OliveTin installation...
(extended_check=false)
----------------------------------------
Checking that your selected Channels DVR server (media-server8:8089) is reachable by URL:
HTTP Status: 200 indicates success...
% Total % Received % Xferd Average Speed Time Time Time Current
Dload Upload Total Spent Left Speed
0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0
100 1276 100 1276 0 0 124k 0 --:--:-- --:--:-- --:--:-- 124k
HTTP Status: 200
Effective URL: http://media-server8:8089/
----------------------------------------
Checking that your selected Channels DVR server's data files (/mnt/media-server8-8089) are accessible:
Folders with the names Database, Images, Imports, Logs, Movies, Streaming and TV should be visible...
total 4
drwxr-xr-x 2 1000 1000 0 Sep 25 08:43 .
drwxr-xr-x 1 root root 4096 Oct 30 09:29 ..
drwxr-xr-x 2 1000 1000 0 Nov 2 19:24 Database
drwxr-xr-x 2 1000 1000 0 Nov 3 01:03 Images
drwxr-xr-x 2 1000 1000 0 Sep 25 08:43 Imports
drwxr-xr-x 2 1000 1000 0 Sep 25 08:43 Logs
drwxr-xr-x 2 1000 1000 0 Nov 1 11:24 Streaming
drwxr-xr-x 2 1000 1000 0 Nov 2 23:29 TV
----------------------------------------
Checking that your selected Channels DVR server's log files (/mnt/media-server8-8089_logs) are accessible:
Folders with the names data and latest should be visible...
total 8
drwxr-xr-x 2 1000 1000 0 Sep 21 02:23 .
drwxr-xr-x 1 root root 4096 Oct 30 09:29 ..
-rwxr-xr-x 1 1000 1000 829 Sep 21 02:23 Channels DVR Server.lnk
drwxr-xr-x 2 1000 1000 0 Nov 2 07:21 data
drwxr-xr-x 2 1000 1000 0 Sep 21 02:23 latest
----------------------------------------
Here's a list of your current OliveTin-related settings:
HOSTNAME=olivetin
CHANNELS_DVR=media-server8:8089
CHANNELS_DVR_ALTERNATES=utheater-pc:8089
CHANNELS_CLIENTS=appletv4k firestick-master
ALERT_SMTP_SERVER=smtp.gmail.com:587
ALERT_EMAIL_FROM=[Redacted]@gmail.com
ALERT_EMAIL_PASS=[Redacted]
ALERT_EMAIL_TO=[Redacted]@gmail.com
UPDATE_YAMLS=false
UPDATE_SCRIPTS=false
PORTAINER_TOKEN=[Redacted]
PORTAINER_HOST=htpc6
----------------------------------------
Here's the contents of /etc/resolv.conf from inside the container:
# Generated by Docker Engine.
# This file can be edited; Docker Engine will not make further changes once it
# has been modified.
nameserver 127.0.0.11
search localdomain tail[Redacted].ts.net
options ndots:0
# Based on host file: '/etc/resolv.conf' (internal resolver)
# ExtServers: [100.100.100.100]
# Overrides: [search]
# Option ndots from: internal
----------------------------------------
Here's the contents of /etc/hosts from inside the container:
127.0.0.1 localhost
::1 localhost ip6-localhost ip6-loopback
fe00::0 ip6-localnet
ff00::0 ip6-mcastprefix
ff02::1 ip6-allnodes
ff02::2 ip6-allrouters
172.21.0.3 olivetin
And, without:
Checking your OliveTin installation...
(extended_check=false)
Checking that your selected Channels DVR server (media-server8:8089) is reachable by URL:
HTTP Status: 200 indicates success...
% Total % Received % Xferd Average Speed Time Time Time Current
Dload Upload Total Spent Left Speed
0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0
100 1276 100 1276 0 0 124k 0 --:--:-- --:--:-- --:--:-- 124k
HTTP Status: 200
Effective URL: http://media-server8:8089/
Checking that your selected Channels DVR server's data files (/mnt/media-server8-8089) are accessible:
Folders with the names Database, Images, Imports, Logs, Movies, Streaming and TV should be visible...
total 4
drwxr-xr-x 2 1000 1000 0 Sep 25 08:43 .
drwxr-xr-x 1 root root 4096 Oct 30 09:29 ..
drwxr-xr-x 2 1000 1000 0 Nov 2 19:24 Database
drwxr-xr-x 2 1000 1000 0 Nov 3 01:03 Images
drwxr-xr-x 2 1000 1000 0 Sep 25 08:43 Imports
drwxr-xr-x 2 1000 1000 0 Sep 25 08:43 Logs
drwxr-xr-x 2 1000 1000 0 Nov 1 11:24 Streaming
drwxr-xr-x 2 1000 1000 0 Nov 2 23:29 TV
Checking that your selected Channels DVR server's log files (/mnt/media-server8-8089_logs) are accessible:
Folders with the names data and latest should be visible...
total 8
drwxr-xr-x 2 1000 1000 0 Sep 21 02:23 .
drwxr-xr-x 1 root root 4096 Oct 30 09:29 ..
-rwxr-xr-x 1 1000 1000 829 Sep 21 02:23 Channels DVR Server.lnk
drwxr-xr-x 2 1000 1000 0 Nov 2 07:21 data
drwxr-xr-x 2 1000 1000 0 Sep 21 02:23 latest
Here's a list of your current OliveTin-related settings:
HOSTNAME=olivetin
CHANNELS_DVR=media-server8:8089
CHANNELS_DVR_ALTERNATES=utheater-pc:8089
CHANNELS_CLIENTS=appletv4k firestick-master
ALERT_SMTP_SERVER=smtp.gmail.com:587
ALERT_EMAIL_FROM=[Redacted]@gmail.com
ALERT_EMAIL_PASS=[Redacted]
ALERT_EMAIL_TO=[Redacted]@gmail.com
UPDATE_YAMLS=false
UPDATE_SCRIPTS=false
PORTAINER_TOKEN=[Redacted]
PORTAINER_HOST=htpc6
Here's the contents of /etc/resolv.conf from inside the container:
Generated by Docker Engine.
This file can be edited; Docker Engine will not make further changes once it
has been modified.
nameserver 127.0.0.11
search localdomain tail[Redacted].ts.net
options ndots:0
Based on host file: '/etc/resolv.conf' (internal resolver)
ExtServers: [100.100.100.100]
Overrides: [search]
Option ndots from: internal
Here's the contents of /etc/hosts from inside the container:
127.0.0.1 localhost
::1 localhost ip6-localhost ip6-loopback
fe00::0 ip6-localnet
ff00::0 ip6-mcastprefix
ff02::1 ip6-allnodes
ff02::2 ip6-allrouters
172.21.0.3 olivetin
Thank you. I have always wondered how people do that on the forums with what they post sometimes.
(extended_check=false)
----------------------------------------
Checking that your selected Channels DVR server (192.168.1.120:8089) is reachable by URL:
HTTP Status: 200 indicates success...
% 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
curl: (22) The requested URL returned error: 403 Forbidden
HTTP Status: 403
Effective URL: http://192.168.1.120:8089/
----------------------------------------
Checking that your selected Channels DVR server's data files (/mnt/192.168.1.120-8089) are accessible:
Folders with the names Database, Images, Imports, Logs, Movies, Streaming and TV should be visible...
total 0
drwxr-xr-x 6 root root 120 Nov 2 16:02 .
drwxr-xr-x 1 root root 82 Nov 1 21:26 ..
drwxr-xr-x 9 root root 180 Nov 2 18:18 Database
drwxr-xr-x 3 root root 60 Nov 2 16:02 Images
drwxr-xr-x 5 root root 100 Nov 2 16:02 Imports
drwxr-xr-x 2 root root 40 Nov 2 16:02 Streaming
----------------------------------------
Checking that your selected Channels DVR server's log files (/mnt/192.168.1.120-8089_logs) are accessible:
Folders with the names data and latest should be visible...
total 0
drwxr-xr-x 2 root root 40 Nov 1 21:26 .
drwxr-xr-x 1 root root 82 Nov 1 21:26 ..
----------------------------------------
Here's a list of your current OliveTin-related settings:
HOSTNAME=olivetin
CHANNELS_DVR=192.168.1.120:8089
CHANNELS_DVR_ALTERNATES=
CHANNELS_CLIENTS=Living Room Apple TV iPad iPhone
ALERT_SMTP_SERVER=smtp.gmail.com:587
ALERT_EMAIL_FROM=[Redacted]@gmail.com
ALERT_EMAIL_PASS=[Redacted]
ALERT_EMAIL_TO=[Redacted]@gmail.com
UPDATE_YAMLS=true
UPDATE_SCRIPTS=true
PORTAINER_TOKEN=[Redacted]
PORTAINER_HOST=192.168.1.120
----------------------------------------
Here's the contents of /etc/resolv.conf from inside the container:
search tail[Redacted].ts.net
nameserver 127.0.0.11
options ndots:0
----------------------------------------
Here's the contents of /etc/hosts from inside the container:
127.0.0.1 localhost
::1 localhost ip6-localhost ip6-loopback
fe00::0 ip6-localnet
ff00::0 ip6-mcastprefix
ff02::1 ip6-allnodes
ff02::2 ip6-allrouters
172.18.0.3 olivetin```
OK, that's helpful. I'm pretty sure this 403 error is the result of some additional security that was added by the Channels devs specifically for Docker containers. I'm fairly confident this is also the issue with SLM. To fix this you'll need to change the network type from bridge to host in your Channels DVR stack.
This is done by stopping the stack and uncommenting this line in the Docker Compose:
#network_mode: host
So it looks like this:
network_mode: host
Go ahead and do that, and I'll create another post about something else that needs fixing...
The problem here is that you don't have the correct path for your Channels DVR executables. You left HOST_DIR as /data
, and when you look at the OliveTin Docker Compose, you'll see that means your "program" data will be stored in /data/channels-dvr
. That full path should be used for your LOGS_SHARE
value.
Are you using Tailscale? If not, your search domain should not be set to a Tailnet. This value should be whatever domain name you use on your local network localdomain
or local
are common.
Ok, that fixed slm not reaching the server. Getting a success now when I test the connection.
Ok, how do I change that?
I do use Tailscale if I travel. I don't currently have it ticked to use in channels. I only do that when I am going out of town and need to access my media.
Stop the OliveTin stack, and change this value in the Environment section to:
LOGS_SHARE=/data/channels-dvr
OK, so you should probably use 2 values in the OliveTin DOMAIN
variable. Your LAN's domain name, and your Tailnet, with a space separating them.
Ok, I will look into that in a bit. For now, should I re-run the healthcheck and see if everything looks better now?
Ok, did this. I changed it in the "Environment Variables" section. Was that the correct place? I couldn't find that line exactly in the upper editor section.
Yes, please redo the healthcheck and post it again. BTW, the 3 backticks should go on their own lines before and after.
Yes, in the Environment variables section. Portainer offers two views, one graphical with two fields, and the other in Advanced mode where it's in a VARIABLE=value form.