ahh...I must've forgot about that along the way. Thanks guys
hey guys, looking at the GitHub installation options, which is the most suitable option for Channels functionality. My DVR is on a macmini. Also is there a particular fork that everyone is using ?
Docker container using Portainer stacks
His github isn't as up to date as the container images
And his Portainer stacks compose includes the halverneus static file server
I would recommend installing docker on the mini, then install the container portainer, then use the portainer gui to install Olivetin using the docker-compose in post #1 adding as a new stack.
This project has come a long way in its 15 month history.
Congratulations @bnhf
10K+ downloads!
Thanks for creating this swiss army knife for Channels DVR 
I am getting an error when I do the health check.
curl: (6) Could not resolve host: local-server
HTTP Status: 000
Effective URL: http://local-server:8089/
That will fail since on the Mac I think the url needs be localhost:8089
Ah it was in the variables. do I need to recreate the image.
To make changes to the environment variables, stop the stack. Make your changes, and then click the "Update the stack" button in Portainer.
The provided env vars are just examples -- you need to enter the appropriate values for your setup.
Honestly wasnt sure if I was going to get there. Thank you so much!
have my first YouTube streams back!
Indeed! Around 22K downloads now -- believe it or not. 
Me too
Any idea why I'm getting this error when clicking on the Delete Channels DVR Recording Log Files?
Your Channels DVR Server's /dvr directory needs to be bound to this container
One time run mode used...
foreground.sh is exiting for deletelogs with exit code 0
Your Channels DVR Server's /dvr directory needs to be bound to this container
One time run mode used...
foreground.sh is exiting for deletelogs with exit code 0
Your Channels DVR Server's /dvr directory needs to be bound to this container
One time run mode used...
foreground.sh is exiting for deletelogs with exit code 0
Your Channels DVR Server's /dvr directory needs to be bound to this container
One time run mode used...
foreground.sh is exiting for deletelogs with exit code 0
Your Channels DVR Server's /dvr directory needs to be bound to this container
One time run mode used...
foreground.sh is exiting for deletelogs with exit code 0
My DVR_SHARE directory is available on my Docker Host and when I goto the shell the directory pulls up fine to where my DVR share is. Weird
What do you see when you run the OliveTin Post-Install Healthcheck? Are you seeing any failures? Here's mine as an example:
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 178k 0 --:--:-- --:--:-- --:--:-- 178k
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 8
drwxr-xr-x 2 1000 1000 4096 Nov 28 04:00 .
drwxr-xr-x 1 root root 4096 Dec 31 00:34 ..
drwxr-xr-x 2 1000 1000 0 Dec 31 00:29 Database
drwxr-xr-x 2 1000 1000 0 Dec 31 03:20 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 Dec 27 11:45 Movies
drwxr-xr-x 2 1000 1000 0 Nov 18 06:35 PlayOn
drwxr-xr-x 2 1000 1000 0 Dec 30 01:33 Streaming
drwxr-xr-x 2 1000 1000 0 Dec 29 07:00 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 12
drwxr-xr-x 2 1000 1000 4096 Dec 28 02:37 .
drwxr-xr-x 1 root root 4096 Dec 31 00:34 ..
drwxr-xr-x 2 1000 1000 0 Sep 21 02:23 2024.09.10.2115
drwxr-xr-x 2 1000 1000 0 Dec 5 19:40 2024.12.05.1913
drwxr-xr-x 2 1000 1000 0 Dec 7 13:40 2024.12.07.0453
drwxr-xr-x 2 1000 1000 0 Dec 9 19:40 2024.12.10.0055
-rwxr-xr-x 1 1000 1000 829 Dec 28 02:37 Channels DVR Server.lnk
drwxr-xr-x 2 1000 1000 0 Dec 31 09:19 data
drwxr-xr-x 2 1000 1000 0 Dec 28 02:37 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
@chDVRuser could you please move this response, and the one post above it over to the primary OliveTin thread? Thanks.
EDIT: Please post your healthcheck results so I can take a look.
Checking your OliveTin installation...
(extended_check=false)
----------------------------------------
Checking that your selected Channels DVR server (192.168.20.5: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.20.5:8089/
----------------------------------------
Checking that your selected Channels DVR server's data files (/mnt/192.168.20.5-8089) are accessible:
Folders with the names Database, Images, Imports, Logs, Movies, Streaming and TV should be visible...
total 12
drwxrwxrwx 1 99 users 12 Jan 12 2024 .
drwxr-xr-x 1 root root 78 Dec 31 01:56 ..
drwxrwxrwx 1 99 users 4096 Sep 25 2020 .@__thumb
drwxrwxrwx 1 99 users 4096 Dec 31 02:12 Database
drwxrwxrwx 1 99 users 12 Dec 20 18:05 Images
drwxrwxrwx 1 99 users 60 Jul 14 13:02 Imports
drwxrwxrwx 1 99 users 50 Apr 18 2020 Logs
drwxrwxrwx 1 99 users 31 Mar 29 2023 Movies
drwxrwxrwx 1 99 users 42 Dec 30 2021 PlayOn
drwxrwxrwx 1 99 users 4096 Dec 30 19:02 Streaming
drwxrwxrwx 1 99 users 181 Aug 30 2023 TV
----------------------------------------
Checking that your selected Channels DVR server's log files (/mnt/192.168.20.5-8089_logs) are accessible:
Folders with the names data and latest should be visible...
total 8
drwxrwxrwx 1 99 users 50 Apr 18 2020 .
drwxr-xr-x 1 root root 78 Dec 31 01:56 ..
drwxrwxrwx 1 99 users 4096 Dec 27 18:03 comskip
drwxrwxrwx 1 99 users 4096 Dec 27 16:59 recording
----------------------------------------
Here's a list of your current OliveTin-related settings:
HOSTNAME=olivetin
CHANNELS_DVR=192.168.20.5:8089
CHANNELS_DVR_ALTERNATES=
CHANNELS_CLIENTS=192.168.20.189 192.168.20.31 192.168.20.178 192.168.20.36 192.168.20.169
ALERT_SMTP_SERVER=
ALERT_EMAIL_FROM=[Redacted]@
ALERT_EMAIL_PASS=[Redacted]
ALERT_EMAIL_TO=[Redacted]@
UPDATE_YAMLS=true
UPDATE_SCRIPTS=true
PORTAINER_TOKEN=[Redacted]
PORTAINER_HOST=192.168.20.5
----------------------------------------
Here's the contents of /etc/resolv.conf from inside the container:
search local
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.26.0.3 olivetin
That's not the correct Channels DVR directory.
The correct one is where the Channels DVR executable files and log file are kept.
Are you running your Channels DVR Server in a docker container?
If you're running Channels DVR Server in a docker container, you'll see these in the DVR log
[SYS] Starting Channels DVR v2024.12.27.0121 (linux-x86_64 pid:7) in 2024/12/30 00:55:05.910018 [SYS] Starting Channels DVR v2024.12.27.0121 (linux-x86_64 pid:7) in /channels-dvr/data
The Channels DVR directory for the executable and log file is /channels-dvr in the container
You have to look at your docker volume mapping to see what host directory you mapped that to.
version: '3.9'
services:
# Docker container home: https://hub.docker.com/r/fancybits/channels-dvr
# image uses host mode networking and port is specified by env variable CHANNELS_PORT
channels-dvr-tve:
image: fancybits/channels-dvr:tve # use :tve tag, not :latest
container_name: channels-dvr-tve
network_mode: "host" # must run in host, not bridge mode
devices:
- "/dev/dri:/dev/dri" # to enable hardware transcoding
environment:
- CHANNELS_PORT=8089 # MODIFY the host port number to use
- TZ=America/Los_Angeles # MODIFY your local timezone in standard linux format
volumes:
- "/volume1/docker/channels-dvr-tve:/channels-dvr" # Channels DVR executables and log directory
- "/volume1/ChDVRtve:/shares/dvr" # MODIFY Channels DVR recording directory
- "/volume1/arkives/importtest:/shares/imports:ro" # Add volumes for local content import directories
restart: unless-stopped
In my case, I mapped that to my host directory /volume1/docker/channels-dvr-tve, so I would use that directory as ${LOGS_SHARE}
LOGS_SHARE=/volume1/docker/channels-dvr-tve
If you're not running Channels DVR in a docker container the DVR log entry will tell you the host directory.
[SYS] Starting Channels DVR v2024.12.27.0121 (linux-x86_64 pid:7) in 2024/12/30 00:55:05.910018 [SYS] Starting Channels DVR v2024.12.27.0121 (linux-x86_64 pid:7) in /volume1/@appstore/ChannelsDVR/channels-dvr-tve/data
In my case, I would use the directory /volume1/@appstore/ChannelsDVR/channels-dvr-tve as ${LOGS_SHARE}
LOGS_SHARE=/volume1/@appstore/ChannelsDVR/channels-dvr-tve
If that helps, maybe bnhf could add this to his documentation.
OliveTin for Channels needs both.
volumes:
- ${DVR_SHARE}:/mnt/${CHANNELS_DVR_HOST}-${CHANNELS_DVR_PORT} # This can either be a Docker volume or a host directory that's connected via Samba or NFS to your Channels DVR network share.
- ${LOGS_SHARE}:/mnt/${CHANNELS_DVR_HOST}-${CHANNELS_DVR_PORT}_logs # This can either be a Docker volume or a host directory that's connected via Samba or NFS to your Channels DVR logs network share.
DVR_SHARE=/volume1/ChDVRtve
LOGS_SHARE=/volume1/docker/channels-dvr-tve
DVR_SHARE is where your recordings are
LOGS_SHARE is where the executables and log file are
It know it gets confusing with the unclear descriptions and having to use environment variables
My executables and log files are kept in appdata dir on unraid for Docker. I'll map it there. Still got same error after making that change.
Your Channels DVR Server's /dvr directory needs to be bound to this container
One time run mode used...
foreground.sh is exiting for deletelogs with exit code 0
Did you change the OliveTin for Channels environment variables and restart the OliveTin for Channels container using them?
Hmm, works for me
Standard Output
Checking your OliveTin installation...
(extended_check=false)
----------------------------------------
Checking that your selected Channels DVR server (192.168.1.4: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.1.4:8089/
----------------------------------------
Checking that your selected Channels DVR server's data files (/mnt/192.168.1.4-8089) are accessible:
Folders with the names Database, Images, Imports, Logs, Movies, Streaming and TV should be visible...
total 72
drwxrwxrwx 2 1027 root 4096 Nov 10 18:03 #recycle
d--------- 11 1027 root 4096 Oct 13 14:43 .
drwxr-xr-x 4 root root 4096 Dec 30 09:41 ..
drwxrwxrwx 4 1027 root 4096 Nov 28 18:17 @eaDir
d--------- 32 1027 242120 4096 Dec 31 03:55 Database
d--------- 3 1027 242120 20480 Dec 26 22:17 Images
d--------- 5 1027 242120 4096 Mar 18 2022 Imports
d--------- 4 1027 242120 4096 Feb 10 2022 Logs
d--------- 2 1027 242120 12288 Oct 6 18:34 Movies
d--------- 6 1027 242120 4096 Dec 27 03:08 Streaming
d--------- 54 1027 242120 4096 Dec 14 15:08 TV
----------------------------------------
Checking that your selected Channels DVR server's log files (/mnt/192.168.1.4-8089_logs) are accessible:
Folders with the names data and latest should be visible...
total 36
drwxr-xr-x 9 1027 users 4096 Dec 26 17:54 .
drwxr-xr-x 4 root root 4096 Dec 30 09:41 ..
drwxr-xr-x 2 root root 4096 Dec 14 08:56 2024.12.14.0053
drwxr-xr-x 2 root root 4096 Dec 14 20:59 2024.12.14.2130
drwxr-xr-x 2 root root 4096 Dec 21 10:08 2024.12.18.0400
drwxr-xr-x 2 root root 4096 Dec 23 09:06 2024.12.23.0634
drwxr-xr-x 2 root root 4096 Dec 23 18:48 2024.12.23.2347
drwxr-xr-x 2 root root 4096 Dec 26 17:54 2024.12.27.0121
drwxr-xr-x 13 root root 4096 Dec 31 18:15 data
lrwxrwxrwx 1 root root 15 Dec 26 17:54 latest -> 2024.12.27.0121
----------------------------------------
Here's a list of your current OliveTin-related settings:
HOSTNAME=olivetin
CHANNELS_DVR=192.168.1.4:8089
CHANNELS_DVR_ALTERNATES=192.168.1.4:8189 192.168.1.4:8190 192.168.1.4:8289 192.168.1.4:8389 192.168.1.4:8489
CHANNELS_CLIENTS=
ALERT_SMTP_SERVER=
ALERT_EMAIL_FROM=[Redacted]@
ALERT_EMAIL_PASS=[Redacted]
ALERT_EMAIL_TO=[Redacted]@
UPDATE_YAMLS=true
UPDATE_SCRIPTS=true
PORTAINER_TOKEN=[Redacted]
PORTAINER_HOST=192.168.1.4
----------------------------------------
Here's the contents of /etc/resolv.conf from inside the container:
search local
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.19.0.2 olivetin

