Thanks
Are you not able to put a decimal channel in the manual recording? It shows up red in the box. @bnhf
Pretty sure I fixed that. What version of OliveTin are you running?
Version: 2023.03.25
Sorry, I meant what version of OliveTin-for-Channels are you running. Looks like you're well behind the latest though. I'm guessing yours doesn't even include Project One-Click, or show a date in the upper left corner:
Verified using channel numbers containing decimals was fixed some time back -- so update to latest please.
EDIT: Make sure you're using the latest Docker Compose and environment variables, a shown in Post #1 in this thread.
New bnhf/olivetin:latest (aka bnhf/olivetin:2024.10.20) pushed today opening up an interesting new area for OliveTin, which is the ability to interact with Docker on the host computer. So, for those of you inclined to dream-up new OliveTin Actions, this means that anything Docker-related you find yourself doing from the command line can now be an Action!
The first new Action to take advantage of this is for ah4c users. This Action will query the adb device status of one or more ah4c containers, and send an e-mail alert if any devices are shown as "unauthorized" or in any state other than the desired "connected" (which for whatever reason is listed as "device" when executing an "adb devices").
When updating to this new version of OliveTin, the latest OliveTin-for-Channels compose is required (2024.10.20), which adds a date to the compose (all of my composes will eventually be dated -- as they are updated) and passes the Docker socket to OliveTin (updated in Post #1, but here for convenience also). No changes have been made to env vars (assuming you're already up-to-date on those):
version: '3.9'
services:
olivetin: # This docker-compose requires little or no editing. Set the Environment variables section of Portainer.
# 2024.10.20
# GitHub home for this project: https://github.com/bnhf/OliveTin.
# Docker container home for this project with setup instructions: https://hub.docker.com/repository/docker/bnhf/olivetin.
image: bnhf/olivetin:${TAG} # Add the tag like latest or test to the environment variables below.
container_name: olivetin
hostname: olivetin
dns_search: ${DOMAIN} # For Tailscale users using Magic DNS, add your Tailnet (tailxxxxx.ts.net) to use hostnames for remote nodes, otherwise use your local domain name.
ports:
- ${HOST_PORT}:1337
environment:
- CHANNELS_DVR=${CHANNELS_DVR_HOST}:${CHANNELS_DVR_PORT} # Add your Channels DVR server in the form CHANNELS_DVR_HOST=<hostname or ip> and CHANNELS_DVR_PORT=<port>.
#- CHANNELS_DVR_ALTERNATES=${CHANNELS_DVR2_HOST}:${CHANNELS_DVR2_PORT} # Space separated list of alternate Channels DVR servers to choose from in the form hostname:port or ip:port.
- CHANNELS_CLIENTS=${CHANNELS_CLIENTS} # Space separated list of Channels DVR clients you'd like notifications sent to in the form hostname or IP.
- ALERT_SMTP_SERVER=${ALERT_SMTP_SERVER} # SMTP server to use for sending alert e-mails. smtp.gmail.com:587 for example.
- ALERT_EMAIL_FROM=${ALERT_EMAIL_FROM} # Sender address for alert e-mails.
- ALERT_EMAIL_PASS=${ALERT_EMAIL_PASS} # SMTP "app" password established through GMail or Yahoo Mail. Do not use your everyday e-mail address.
- ALERT_EMAIL_TO=${ALERT_EMAIL_TO} # Recipient address for alert e-mails.
- UPDATE_YAMLS=${UPDATE_YAMLS} # Set this to true to update config.yaml.
- UPDATE_SCRIPTS=${UPDATE_SCRIPTS} # Set this to true to update all included scripts.
- TZ=${TZ} # Add your local timezone in standard linux format. E.G. US/Eastern, US/Central, US/Mountain, US/Pacific, etc.
- PORTAINER_TOKEN=${PORTAINER_TOKEN} # Generate via <username> dropdown (upper right of WebUI), "My account", API tokens.
- PORTAINER_HOST=${PORTAINER_HOST} # Hostname or IP of the Docker host you're running Portainer on.
volumes:
- ${HOST_DIR}/olivetin:/config # Add the parent directory on your Docker you'd like to use.
- ${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.
#- ${DVR2_SHARE}:/mnt/${CHANNELS_DVR2_HOST}-${CHANNELS_DVR2_PORT} # Note that these volume mounts should always be to /mnt/hostname-port or /mnt/ip-port (dash rather than a colon between).
#- ${LOGS2_SHARE}:/mnt/${CHANNELS_DVR2_HOST}-${CHANNELS_DVR2_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.
- /var/run/docker.sock:/var/run/docker.sock
restart: unless-stopped
static-file-server:
image: halverneus/static-file-server:latest
container_name: static-file-server
dns_search: ${DOMAIN}
ports:
- ${HOST_SFS_PORT}:8080
environment:
- FOLDER=${FOLDER}
volumes:
- ${HOST_DIR}/olivetin/data:${FOLDER}
restart: unless-stopped
#volumes: # Use this section if you've setup docker volumes named channels-dvr and channels-dvr-logs, with CIFS or NFS, to bind to /mnt/${CHANNELS_DVR_HOST}-${CHANNELS_DVR_PORT} and /mnt/${CHANNELS_DVR_HOST}-${CHANNELS_DVR_PORT}_logs inside the container. Set DVR_SHARE=channels-dvr and LOGS_SHARE=channels-dvr-logs in this example.
#channels-dvr:
#external: true
#channels-dvr-logs:
#external: true
Sample env vars:
TAG=latest
DOMAIN=tailxxxxx.ts.net
HOST_PORT=1337
CHANNELS_DVR_HOST=local-server
CHANNELS_DVR_PORT=8089
CHANNELS_DVR2_HOST=another-server
CHANNELS_DVR2_PORT=8089
CHANNELS_CLIENTS=appletv4k-den firestick-bedroom
ALERT_SMTP_SERVER=smtp.gmail.com:587
ALERT_EMAIL_FROM=username@gmail.com
ALERT_EMAIL_PASS=xxxxxxxxxxxxxxxx
ALERT_EMAIL_TO=username@gmail.com
UPDATE_YAMLS=true
UPDATE_SCRIPTS=true
TZ=US/Mountain
HOST_DIR=/data
DVR_SHARE=/mnt/dvr
LOGS_SHARE=/mnt/channelsdvr
HOST_SFS_PORT=8080
FOLDER=/web
PORTAINER_TOKEN=xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
PORTAINER_HOST=docker-host
I have the new stack deployed but for some reason I can't access the dashboard from my bookmarked like I used to before?
You probably need to clear your browser's cache. Clearing just "images" should do it.
I'm on an M1 Mac mini running the latest version of Portainer, and Docker Desktop, which includes Compose, but the version # shown is a different format.
Will this work, or do I need to upgrade that component seperately?
I see what I wrote isn't as clear as it could be -- I just meant you need to use the latest OliveTin compose, which is dated 2024.10.20.
I have tried that and went on another computer to access it and still nothing. I think I must have not setup something correctly when I went to go update. I wonder if I should just start over and rebuild it all. I am really just needing the manual recordings section.
When I clicked on the published port is 1337:1337 and it goes to 0.0.0.0:1337 and when I go to the ip address of my portainer it goes nowhere as well with that port.
Checking for .running files that don't match with currently defined DVRs...
ls: cannot access '*.running': No such file or directory
level="debug" msg="Value of -configdir flag" value="."
level="error" msg="Config file error at startup. While parsing config: yaml: line 13: mapping values are not allowed in this context"
level="info" msg="OliveTin initializing" commit="1d446ac" date="2024-04-09T08:26:18Z" version="2024.04.09"
Go ahead and post the compose you're using, and the env vars, and I'll take a look. Redact the ALERT_EMAIL_PASSWORD and PORTAINER_TOKEN, if you've set either of those.
I took out the email and file server stuff because I feel like that just complicates things.
version: '3.9'
services:
olivetin: # This docker-compose requires little or no editing. Set the Environment variables section of Portainer.
# 2024.10.20
# GitHub home for this project: https://github.com/bnhf/OliveTin.
# Docker container home for this project with setup instructions: https://hub.docker.com/repository/docker/bnhf/olivetin.
image: bnhf/olivetin:${TAG} # Add the tag like latest or test to the environment variables below.
container_name: olivetin
hostname: olivetin
dns_search: ${DOMAIN} # For Tailscale users using Magic DNS, add your Tailnet (tailxxxxx.ts.net) to use hostnames for remote nodes, otherwise use your local domain name.
ports:
- 1337:1337
environment:
- CHANNELS_DVR=${CHANNELS_DVR_HOST}:${CHANNELS_DVR_PORT} # Add your Channels DVR server in the form CHANNELS_DVR_HOST=<hostname or ip> and CHANNELS_DVR_PORT=<port>.
#- CHANNELS_DVR_ALTERNATES=${CHANNELS_DVR2_HOST}:${CHANNELS_DVR2_PORT} # Space separated list of alternate Channels DVR servers to choose from in the form hostname:port or ip:port.
- UPDATE_YAMLS=${UPDATE_YAMLS} # Set this to true to update config.yaml.
- UPDATE_SCRIPTS=${UPDATE_SCRIPTS} # Set this to true to update all included scripts.
- TZ=${TZ} # Add your local timezone in standard linux format. E.G. US/Eastern, US/Central, US/Mountain, US/Pacific, etc.
- PORTAINER_TOKEN=${PORTAINER_TOKEN} # Generate via <username> dropdown (upper right of WebUI), "My account", API tokens.
- PORTAINER_HOST=${PORTAINER_HOST} # Hostname or IP of the Docker host you're running Portainer on.
volumes:
- ${HOST_DIR}/olivetin:/config # Add the parent directory on your Docker you'd like to use.
- ${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.
#- ${DVR2_SHARE}:/mnt/${CHANNELS_DVR2_HOST}-${CHANNELS_DVR2_PORT} # Note that these volume mounts should always be to /mnt/hostname-port or /mnt/ip-port (dash rather than a colon between).
#- ${LOGS2_SHARE}:/mnt/${CHANNELS_DVR2_HOST}-${CHANNELS_DVR2_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.
- /var/run/docker.sock:/var/run/docker.sock
restart: unless-stopped
CHANNELS_DVR=XXX.XXX.XXX.XXX:8089
UPDATE_YAMLS=true
UPDATE_SCRIPTS=true
TZ=US/Central
TAG=latest
PORTAINER_TOKEN=
PORTAINER_HOST=XXX.XXX.XXX.XXX
DOMAIN=localdomain
HOST_DIR=/Volumes/4TB/olivetin-for-channels/data
DVR_SHARE=/Volumes/4TB/olivetin-for-channels/dvr
LOGS_SHARE=/Volumes/4TB/olivetin-for-channels/channelsdvr
If you look at the sample env vars in Post #1, you'll see these two values are separate now. Change to:
CHANNELS_DVR_HOST=XXX.XXX.XXX.XXX
CHANNELS_DVR_PORT=8089
That should sort you out...
That fixed it immediately, thanks you rock! After I submit a manually recording does it not get lit with green when you submit because now it has a pop up window with standard output and standard error pop up window. It also doesn't input my DVR server IP address in the dvr window. Like it did in the previous version.
"And the crowd goes wild..."
Just 22 days after crossing the 5000 download mark, OliveTin-for-Channels waves at 6000 while streaking by :
The green icons are only for Actions that continue to run in the background. Manual recordings get scheduled immediately.
So you need to enter it manually? I.E, the field is blank?
It just has :8089
in the field. Then I input my ip address in the front and everything is fine.
Not the way it's supposed to be, I'll take a look at that.