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

Looking at it again, your LOGS_SHARE value should be fine -- so you're good to go!

Ah! OK thank you!!

Actually... the Stirr One-Click doesn't work and freezes in OliveTin after creating the container in Portainer. It doesn't add itself to CDVR. The other One-Clicks seem to work fine. Just that one for some reason gave me grief. Tried it a couple times too. Stirr just stops at "Waiting For Result".

I thought Stirr is no longer available.

Oh... I've been using an m3u from another source and the channels have still be streaming for me, so I assumed it was still around. The One-Click still pulls and creates the container in Docker, it just doesn't add it to CDVR. I was just preferring to run it on my own server.

I saw that, but I'm using a source for it from https://i.mjh.nz/Stirr/all.m3u8 and it's got 66 channels... :man_shrugging:

Does it have guide data ?

Mostly... using this: https://i.mjh.nz/Stirr/all.xml

Looking at the Portainer-Log for the created container is a good place to check in situations like this. When I try to add Stirr from Project One-Click, here's what the Portainer-Log is showing me:

2024/07/12 20:20:45 STIRR_STATION_ID env var not set, attempting to auto detect local station
panic: runtime error: index out of range [0] with length 0
goroutine 1 [running]:
main.(*StirrClient).GetStation(0xc000051ea0?)
	/app/main.go:90 +0x9f
main.NewStirrClient()
	/app/main.go:45 +0xd5
main.main()
	/app/main.go:270 +0x2b
2024/07/12 20:21:11 STIRR_STATION_ID env var not set, attempting to auto detect local station
panic: runtime error: index out of range [0] with length 0
goroutine 1 [running]:
main.(*StirrClient).GetStation(0xc000051ea0?)
	/app/main.go:90 +0x9f
main.NewStirrClient()
	/app/main.go:45 +0xd5
main.main()
	/app/main.go:270 +0x2b

Even adding the STIRR_STATION_ID manually results in:

2024/07/12 20:31:44 Beginning cache fill
2024/07/12 20:31:44 Error when filling cache unexpected response 400 Bad Request from https://ott-gateway-stirr.sinclairstoryline.com/api/rest/v3/channels/stirr?station= 

Probably a change in the API at the very least...

AH...does that mean I'm out of luck? I mean, I can certainly stick with what I've been using. These are certainly not mission-critical channels haha.

For now anyway. This is something that the stirr-for-channels project maintainer, or somebody willing to fork it, would need to address. The container appears non-functional using the current API.

@robbiet480 What's your current thinking on the stirr-for-channels project?

1 Like

Stirr was sold and is dead.

1 Like

I wonder what on earth I'm getting then from those URL's hahahaha... oh well! Thanks!

Tried a couple channels from his (Matt) playlist in VLC and they work

I know I'm missing some simple things, but I keep getting error in the Post-Install Healthcheck.

I'm running in windows and everything is running local. mostly looking at the FIFO pipe error, but anything else you see in the logs lol very much a Noob here

Checking your OliveTin installation...
(extended_check=true)

----------------------------------------

Checking that your selected Channels DVR server (192.168.8.131: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  1246k      0 --:--:-- --:--:-- --:--:-- 1246k
HTTP Status: 200
Effective URL: http://192.168.8.131:8089/

----------------------------------------

Checking that your selected Channels DVR server's data files (/mnt/192.168.8.131-8089) are accessible:
Folders with the names Database, Images, Imports, Logs, Movies, Streaming and TV should be visible...


----------------------------------------

Checking that your selected Channels DVR server's log files (/mnt/192.168.8.131-8089_logs) are accessible:
Folders with the names data and latest should be visible...


----------------------------------------

Here's a list of your current OliveTin-related settings:

HOSTNAME=olivetin
CHANNELS_DVR=192.168.8.131:8089
CHANNELS_DVR_ALTERNATES=
CHANNELS_CLIENTS=192.168.8.243
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.8.131

----------------------------------------

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 desktop-9kpe8s0.tail[Redacted].ts.net
options ndots:0

# Based on host file: '/etc/resolv.conf' (internal resolver)
# ExtServers: [192.168.65.7]
# 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.23.0.2	olivetin

----------------------------------------

Your WSL Docker-host is running:

 FIFO pipe not found. Is the host helper script running?
Run sudo -E ./fifopipe_hostside.sh "$PATH" from the directory you have bound to /config on your host computer

----------------------------------------

Your WSL Docker-host's /etc/resolv.conf file contains:

FIFO pipe not found. Is the host helper script running?
Run sudo -E ./fifopipe_hostside.sh "$PATH" from the directory you have bound to /config on your host computer

----------------------------------------

Your WSL Docker-host's /etc/hosts file contains:

FIFO pipe not found. Is the host helper script running?
Run sudo -E ./fifopipe_hostside.sh "$PATH" from the directory you have bound to /config on your host computer

----------------------------------------

Your WSL Docker-host's /etc/wsl.conf file contains:

FIFO pipe not found. Is the host helper script running?
Run sudo -E ./fifopipe_hostside.sh "$PATH" from the directory you have bound to /config on your host computer

----------------------------------------

Your Windows PC's %USERPROFILE%\.wslconfig file contains:

FIFO pipe not found. Is the host helper script running?
Run sudo -E ./fifopipe_hostside.sh "$PATH" from the directory you have bound to /config on your host computer


----------------------------------------

Your Windows PC's etc/hosts file contains:

FIFO pipe not found. Is the host helper script running?
Run sudo -E ./fifopipe_hostside.sh "$PATH" from the directory you have bound to /config on your host computer

----------------------------------------

Your Windows PC's DNS server resolution:

FIFO pipe not found. Is the host helper script running?
Run sudo -E ./fifopipe_hostside.sh "$PATH" from the directory you have bound to /config on your host computer

----------------------------------------

Your Windows PC's network interfaces:

FIFO pipe not found. Is the host helper script running?
Run sudo -E ./fifopipe_hostside.sh "$PATH" from the directory you have bound to /config on your host computer

----------------------------------------

Your Tailscale version is:

FIFO pipe not found. Is the host helper script running?
Run sudo -E ./fifopipe_hostside.sh "$PATH" from the directory you have bound to /config on your host computer

----------------------------------------

You need to figure out what the path is from your WSL installation to your CDVR recordings and log files.

This can be done a few different ways:

If your WSL username is the same as your Windows username, and that user is an administrator -- you can typically use an Linux style path(s) starting with /mnt/c (which is the equivalent of C:\ in Windows). From there, figure out where your recordings and logs subdirectories are relative to that Linux-style parent.

You can also use Windows path(s) starting with C:\, and including the full paths to your recordings and logs.

Lastly, it's also possible to do it using network shares, if you're already sharing your recordings directory on your LAN.

My channels is stored on my A: drive and my dockers are stored in my C: drive

Here is what that looks like.

I want to smh, but idk what I'm missing.

It all comes down to terminology and everyone using different terms that confuse things.

Channels DVR needs an executable directory (where the executable programs and log file are kept).
This has been called executable, program, app, data and log directory.
Looking at the Channels DVR log it will show where this directory is when Channels DVR starts.

2024/07/14 11:47:44.738586 [SYS] Starting Channels DVR v2024.07.14.1540 (linux-x86_64 pid:14578) in /var/packages/ChannelsDVR/target/channels-dvr/data

Channels DVR needs a DVR Recording directory (where it records TV Shows and Movies).
Your Channels DVR web admin UI shows this directory in
Settings > General > Basic Setup > :white_check_mark: Server Enabled
Screenshot 2024-07-14 at 12-19-23 Channels Settings

I'm pretty sure this all falls apart if you're running Portainer on a different host than CDVR, and your DVR_SHARE and LOGS_SHARE values are both network shares. These then need to be added as Docker Volumes created through Portainer.