My thanks for taking the time for this help
Many changes to OliveTin-for-Channels since my last post in this thread. Here are some screenshots of the current lineup of Actions. Note that a "Deprecated" page has been added (accessed via the side blade menu like Project One-Click), where Actions with limited current relevance will be placed:
OliveTin-for-Channels WebUI landing page:
Project One-Click page:
Deprecated page:
Recent significant additions include the TubeArchivist Processing Script, the Live YouTube Channel Manifest URL Updater, TubeArchivist One-Click install and Threadfin One-Click install.
A number of bug fixes, and please note there's a new Docker Compose for this project dated 2025.01.21 -- so please update your compose along with the container!
New bnhf/olivetin:latest (aka bnf/olivetin:2025.01.27) pushed this morning with updates to several Project One-Click projects, along with the sample Docker Composes included with OliveTin:
Is this the latest version?
It's missing PORTAINER_PORT
Well spotted. Fixed now!
New bnhf/olivetin:latest (aka bnhf/olivetin:2025.01.31) pushed today with improvements in data handling for e-mail notifications in the TubeArchivist Processing Script Action, and the Channel Lineup Change Notifications Action.
More details here:
And here:
Hello. Looking for some help with installing OliveTin in Portainer on unRAID, everything is on the same computer.
I can't seem to get the OliveTin stack to see the DVR_SHARE or the LOGS_SHARE, log posted below.
Here are the values I'm using in the stack:
HOST_DIR
/mnt/user
DVR_SHARE
//tower/pvr/ChannelsDVR
LOGS_SHARE
//tower/pvr/ChannelsPVR
Thanks for any ideas.
Checking your OliveTin installation...
(extended_check=false)
----------------------------------------
Checking that your selected Channels DVR server (192.168.100.47: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.100.47:8089/
----------------------------------------
Checking that your selected Channels DVR server's data files (/mnt/192.168.100.47-8089) are accessible:
Folders with the names Database, Images, Imports, Logs, Movies, Streaming and TV should be visible...
total 0
drwxr-xr-x 2 root root 40 Feb 17 06:43 .
drwxr-xr-x 1 root root 130 Feb 17 07:25 ..
----------------------------------------
Checking that your selected Channels DVR server's log files (/mnt/192.168.100.47-8089_logs) are accessible:
Folders with the names data and latest should be visible...
total 0
drwxr-xr-x 2 root root 40 Feb 17 06:43 .
drwxr-xr-x 1 root root 130 Feb 17 07:25 ..
----------------------------------------
Here's a list of your current OliveTin-related settings:
HOSTNAME=olivetin
CHANNELS_DVR=192.168.100.47:8089
CHANNELS_DVR_ALTERNATES=
CHANNELS_CLIENTS=192.168.100.125 192.168.100.95 192.168.100.193 192.168.100.21
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=docker-host
----------------------------------------
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 local
options ndots:0
# Based on host file: '/etc/resolv.conf' (internal resolver)
# ExtServers: [192.168.100.1]
# 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.19.0.3 olivetin
Rather than using an SMB or NFS share here (which is possible, but has to be done as a Docker Volume), the absolute path is the way to go when everything is on the same system. So, use the Unraid path to your CDVR data directories here.
Similar here, but in this case it's the path to your CDVR executables. If you don't know where that is, you can use the Generate Filtered Channels DVR Log
Action to find it. Search the last 100000 lines for [SYS] Start
, and use the path shown at startup minus the /data
at the end.
Amazing! That makes sense now, thanks for the help! Seems to have done the trick:
Checking your OliveTin installation...
(extended_check=false)
----------------------------------------
Checking that your selected Channels DVR server (192.168.100.47: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.100.47:8089/
----------------------------------------
Checking that your selected Channels DVR server's data files (/mnt/192.168.100.47-8089) are accessible:
Folders with the names Database, Images, Imports, Logs, Movies, Streaming and TV should be visible...
total 28
drwxrwxrwx 8 99 users 118 Jun 22 2024 .
drwxr-xr-x 1 root root 130 Feb 17 10:54 ..
drwxr-xr-x 32 root root 4096 Feb 17 03:03 Database
drwxr-xr-x 4 root root 16384 Feb 15 16:00 Images
drwxr-xr-x 5 root root 60 Mar 22 2022 Imports
drwxr-xr-x 4 root root 50 Dec 25 2021 Logs
drwxr-xr-x 4 root root 43 Feb 16 11:43 Streaming
drwxr-xr-x 19 root root 4096 Nov 30 13:00 TV
----------------------------------------
Checking that your selected Channels DVR server's log files (/mnt/192.168.100.47-8089_logs) are accessible:
Folders with the names data and latest should be visible...
total 4
drwxrwxrwx 1 99 users 200 Jan 21 17:03 .
drwxr-xr-x 1 root root 130 Feb 17 10:54 ..
drwxr-xr-x 1 root root 134 Sep 4 19:03 2024.09.04.1754
drwxr-xr-x 1 root root 134 Sep 10 17:02 2024.09.10.2115
drwxr-xr-x 1 root root 134 Dec 5 21:04 2024.12.05.1913
drwxr-xr-x 1 root root 134 Dec 7 15:04 2024.12.07.0453
drwxr-xr-x 1 root root 134 Dec 9 21:03 2024.12.10.0055
drwxr-xr-x 1 root root 134 Jan 21 17:03 2025.01.18.0528
drwxrwxrwx 1 99 users 2140 Feb 16 11:40 data
lrwxrwxrwx 1 root root 15 Jan 21 17:03 latest -> 2025.01.18.0528
----------------------------------------
Here's a list of your current OliveTin-related settings:
HOSTNAME=olivetin
CHANNELS_DVR=192.168.100.47:8089
CHANNELS_DVR_ALTERNATES=
CHANNELS_CLIENTS=192.168.100.125 192.168.100.95 192.168.100.193 192.168.100.21
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=docker-host
----------------------------------------
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 local
options ndots:0
# Based on host file: '/etc/resolv.conf' (internal resolver)
# ExtServers: [192.168.100.1]
# 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.19.0.3 olivetin
This value should be 192.168.100.47
based on the way you've described your setup.
Oh wow, you solved my next issue before I could even tell you about it, lol. I was trying to run the "Create a Stream Link Manager Stack in Portainer Button", but was seeing this error:
stream link manager JSON response from https://docker-host:9443/api/stacks?type=2&method=string&endpointId=2:
Updated the PORTAINER_HOST as you described and we're up and running. You are a gem!
New bnhf/olivetin:latest (aka bnhf/olivetin:2025.02.19) pushed this morning with improvements to the OliveTin Post-Install Healthcheck Action.
The following items have been added to the Action's Standard Output:
-
OliveTin-for-Channels version number
-
Suggested DVR_SHARE values for those running their CDVR Server and Docker/Portainer on the same system. (this addition, and the next, are as suggested by @chDVRuser many moons ago)
-
Suggested LOGS_SHARE values for those running their CDVR Server and Docker/Portainer on the same system.
-
PORTAINER_HOST, PORTAINER_PORT and PORTAINER_TOKEN values are tested by using them to get the Portainer version via http and https.
The output is automatically sanitized for posting online, and looks like this:
Checking your OliveTin-for-Channels installation...
(extended_check=false)
Version 2025.02.16
----------------------------------------
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 249k 0 --:--:-- --:--:-- --:--:-- 249k
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 Jan 20 01:44 .
drwxr-xr-x 1 root root 4096 Feb 16 07:33 ..
drwxr-xr-x 2 1000 1000 0 Feb 19 07:33 Database
drwxr-xr-x 2 1000 1000 0 Feb 18 23:12 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 Jan 2 06:21 Movies
drwxr-xr-x 2 1000 1000 0 Nov 18 06:35 PlayOn
drwxr-xr-x 2 1000 1000 0 Feb 16 19:12 Streaming
drwxr-xr-x 2 1000 1000 0 Feb 16 07:00 TV
drwxr-xr-x 2 1000 1000 0 Jan 20 01:44 tubearchivist
If the listed folders are NOT visible, AND you have your Channels DVR and Docker on the same system:
Channels reports this path as...
G:\dvr
When using a Windows path in Portainer, change the backslashes to slashes like this...
G:/dvr
When using WSL with a Linux distro and Docker Desktop, it's also possible to use...
/mnt/g/dvr
----------------------------------------
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 Jan 21 16:30 .
drwxr-xr-x 1 root root 4096 Feb 16 07:33 ..
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
drwxr-xr-x 2 1000 1000 0 Dec 28 02:37 2024.12.27.0121
-rwxr-xr-x 1 1000 1000 829 Jan 21 16:30 Channels DVR Server.lnk
drwxr-xr-x 2 1000 1000 0 Feb 19 09:15 data
drwxr-xr-x 2 1000 1000 0 Jan 21 16:30 latest
If the listed folders are NOT visible, AND you have your Channels DVR and Docker on the same system:
Channels reports this path as...
C:\ProgramData\ChannelsDVR
When using a Windows path in Portainer, change the backslashes to slashes like this...
C:/ProgramData/ChannelsDVR
When using WSL with a Linux distro and Docker Desktop, it's also possible to use...
/mnt/c/ProgramData/ChannelsDVR
----------------------------------------
Checking if your Portainer token is working on ports 9000 and/or 9443:
Portainer http response on port 9000 reports version 2.21.4
Portainer https response on port 9443 reports version 2.21.4
----------------------------------------
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
PORTAINER_PORT=9443
----------------------------------------
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.2 olivetin
There's also an extended check option, which requires running a helper script from the directory on your DOCKER/Portainer host that contains your OliveTin scripts. To get this deeper dive, run this first from the commandline on your host:
sudo -E ./fifopipe_hostside.sh "$PATH"
If you're running as root, it's:
./fifopipe_hostside.sh "$PATH"
You'll see this response on your terminal:
This script will be terminated from the container side once the OliveTin healthcheck has finished running...
Running the Healthcheck again, with the extended option, would give output that includes additional system data of potential interest:
Checking your OliveTin-for-Channels installation...
(extended_check=true)
Version 2025.02.16
----------------------------------------
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 Jan 20 01:44 .
drwxr-xr-x 1 root root 4096 Feb 16 07:33 ..
drwxr-xr-x 2 1000 1000 0 Feb 19 07:33 Database
drwxr-xr-x 2 1000 1000 0 Feb 18 23:12 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 Jan 2 06:21 Movies
drwxr-xr-x 2 1000 1000 0 Nov 18 06:35 PlayOn
drwxr-xr-x 2 1000 1000 0 Feb 16 19:12 Streaming
drwxr-xr-x 2 1000 1000 0 Feb 16 07:00 TV
drwxr-xr-x 2 1000 1000 0 Jan 20 01:44 tubearchivist
If the listed folders are NOT visible, AND you have your Channels DVR and Docker on the same system:
Channels reports this path as...
G:\dvr
When using a Windows path in Portainer, change the backslashes to slashes like this...
G:/dvr
When using WSL with a Linux distro and Docker Desktop, it's also possible to use...
/mnt/g/dvr
----------------------------------------
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 Jan 21 16:30 .
drwxr-xr-x 1 root root 4096 Feb 16 07:33 ..
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
drwxr-xr-x 2 1000 1000 0 Dec 28 02:37 2024.12.27.0121
-rwxr-xr-x 1 1000 1000 829 Jan 21 16:30 Channels DVR Server.lnk
drwxr-xr-x 2 1000 1000 0 Feb 19 09:15 data
drwxr-xr-x 2 1000 1000 0 Jan 21 16:30 latest
If the listed folders are NOT visible, AND you have your Channels DVR and Docker on the same system:
Channels reports this path as...
C:\ProgramData\ChannelsDVR
When using a Windows path in Portainer, change the backslashes to slashes like this...
C:/ProgramData/ChannelsDVR
When using WSL with a Linux distro and Docker Desktop, it's also possible to use...
/mnt/c/ProgramData/ChannelsDVR
----------------------------------------
Checking if your Portainer token is working on ports 9000 and/or 9443:
Portainer http response on port 9000 reports version 2.21.4
Portainer https response on port 9443 reports version 2.21.4
----------------------------------------
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
PORTAINER_PORT=9443
----------------------------------------
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.2 olivetin
----------------------------------------
Your Docker-host is running:
"Debian GNU/Linux 11 (bullseye)"
----------------------------------------
Your Docker-host's /etc/resolv.conf file contains:
# resolv.conf(5) file generated by tailscale
# For more info, see https://tailscale.com/s/resolvconf-overwrite
# DO NOT EDIT THIS FILE BY HAND -- CHANGES WILL BE OVERWRITTEN
nameserver 100.100.100.100
search tail[Redacted].ts.net
----------------------------------------
Your Docker-host's /etc/hosts file contains:
127.0.0.1 localhost
::1 localhost ip6-localhost ip6-loopback
ff02::1 ip6-allnodes
ff02::2 ip6-allrouters
# --- BEGIN PVE ---
192.168.110.111 htpc6.tail[Redacted].ts.net htpc6
# --- END PVE ---
----------------------------------------
Your Tailscale version is:
1.76.1
tailscale commit: 24929f6b611127cdc40d45ef40d75c6afc1fcc4c
other commit: 5e54dcf15265cb83e84e617a5a7e0c1b013c61c7
go version: go1.23.1
----------------------------------------
New bnhf/olivetin:latest (aka bnhf/olivetin:2025.02.20) pushed this morning with support for Portainer's recent API changes. If you're running Portainer 2.27.0 or newer, you'll need OliveTin-for-Channels 2025.02.20 or newer to use Project One-Click.
One thing that would make it easier for users when assigning environment variables in a stack is to list them in alphabetical order in all your examples. Makes it much easier when reading the description of them in the compose statement to find them in the list. Also easier to compare and see if a user is missing any.
Example from your first post.
ALERT_EMAIL_FROM=username@gmail.com
ALERT_EMAIL_PASS=xxxxxxxxxxxxxxxx
ALERT_EMAIL_TO=username@gmail.com
ALERT_SMTP_SERVER=smtp.gmail.com:587
CHANNELS_CLIENTS=appletv4k-den firestick-bedroom
CHANNELS_DVR2_HOST=another-server
CHANNELS_DVR2_PORT=8089
CHANNELS_DVR_HOST=local-server
CHANNELS_DVR_PORT=8089
DOMAIN=tailxxxxx.ts.net
DVR_SHARE=/mnt/dvr
FOLDER=/web
HOST_DIR=/data
HOST_PORT=1337
HOST_SFS_PORT=8080
LOGS_SHARE=/mnt/channelsdvr
PORTAINER_HOST=docker-host
PORTAINER_PORT=9443
PORTAINER_TOKEN=xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
TAG=latest
TUBEARCHIVIST_SHARE=/mnt/dvr
TZ=US/Mountain
UPDATE_SCRIPTS=true
UPDATE_YAMLS=true
New bnhf/olivetin:latest (aka bnhf/olivetin:2025.03.01) pushed with support for a classic DVR "Reminder" feature. When this OliveTin Action is active, any DVR job created with 10 or 30 second padding added (BEFORE or AFTER), will generate one or more notifications.
These notifications are via Apprise (100+ types of push, SMS, e-mail and other), or specially defined channels://
or olivetin://
values. channels://
sends an onscreen notification to all Channels clients defined in in the OliveTin env var CHANNELS_CLIENTS
. olivetin://
sends a notification to what you defined in the ALERT_EMAIL set of OliveTin env vars. Multiple notification URLs can be used, space separated.
The DVR job you defined can either be left in place to create a recording, or you can choose to have the job deleted after the notifications are sent:
Looks useful. Couple of questions.
So if I set a 10 sec pre pad on a recording scheduled in 12 days and selected frequency=5 mins
and delete_job=false
.
It would notify me every 5 minutes, until the recording completed?
If I select delete_job=true
, it would notify me every 5 minutes, until when?
and when would the scheduled job be deleted?
No. The 5 minutes defines two things. First, the frequency the dvr is polled for jobs, and second this defines how close to the job's start_time to generate the notification. I'm currently dividing the interval in half -- looking 2.5 minutes before the current time and 2.5 minutes after the current time.
Thinking about it now though, I'm not sure there's any advantage for doing it that way. It seems to make more sense to only look at events occurring in the next 5 minutes (in this example), and not look back at all. Thoughts?
If set to true, the job will be deleted after the notification is sent.
Just tested using Pushover combined with the special channels://
URL. This works nicely, as you'll still get notified even if you're not actively watching something on a Channels client. It looks like Pushover has a 30-day trial, and then there's a one-time charge per platform (iOS, Android, Desktop).
You'll use your Pushover User Key, combined with an API Token (which is created on the Pushover site, and is per application -- like OliveTin). The apprise_url
value would look like this, with the two options:
channels:// pover://userkey@apitoken
Note the space is required between each notification option you specify!
@chDVRuser Playing around with this a bit more, I believe I will move to looking exclusively forward for job matches based on the interval specified. However, it does take a few seconds from when the current api/v1/jobs
JSON is grabbed and jq'd for any matches, to when the script loop is complete. To avoid having a missed match between loops, I think it makes sense to look forward an extra 10 seconds.
This will result in the possibility of a second notification for anyone not deleting the dvr job after the notification is sent -- but this should be reasonably rare. I'd rather have the odd double notification, as opposed to having anything fall in an unaccounted-for gap between loops (which measured at 7 seconds in my case, with 2 clients offline).
I just set it up and manually scheduled a recording with 10 second pre-pad that starts in 3 minutes.
Have it set to email notification using olivetin://
Got an email titled Reminder a minute before it started recording
Event: The Big Bang Theory
Start Time: 16:30
Channels: 6033
I'll set another recording further out and see when the notification happens.
Would be nice if it logged it too. The file 192.168.1.4-8190_remind.running
only contains this
remind.sh 192.168.1.4:8190 5 10 "olivetin://" false