Try getting a new Portainer Token
and putting it in the OliveTin for Channels Stack Environment variables here
PORTAINER_TOKEN=
Then Update the stack
Try getting a new Portainer Token
and putting it in the OliveTin for Channels Stack Environment variables here
PORTAINER_TOKEN=
Then Update the stack
Okay updated the token and updated stack, but getting this now
JSON response from http://192.168.7.109:9000/api/stacks/create/standalone/string?endpointId=2:
{"message":"Unable to find an environment with the specified identifier inside the database","details":"Object not found inside the database (bucket=endpoints, key=2)"}
false
Did you set up an additional environment beyond the usual "Local"?
What do you see when you first login to Portainer? Please post a screenshot.
@mexicanmamba When you first login to Portainer, and you hover over the "Local" environment, what do you see in the lower left corner?
It looks like you maybe created another environment and then deleted it? If you look at the URL in the lower left of the screenshot you posted the "Local" environment has an ID of 3 -- and I've never seen that before, it's always 2. Any thoughts on how that might have happened?
I am not sure, can I delete and redo the stack?
It shouldn't be too difficult for me to create an override ID for the "Local" environment (e.g. to use 3 instead of 2) -- just in case this comes up again. I'll do that in the AM and publish an update tomorrow.
Thank you and for Organizr port 80 is being used can I assign any other number?
I am doing it from the container manager
version: '3.9'
services:
organizr:
image: organizr/organizr:latest
container_name: organizr
hostname: organizr
ports:
- 79:79
environment:
- PUID=nobody
- PGID=nobody
- TZ=US/Arizona
volumes:
- /volume1/docker/organizr/data/organizr:/config
restart: unless-stopped
Don't change the container-side port -- that stays at 80. Plus 81 is more common as an alternate. So, I'd suggest:
ports:
- 81:80
@mexicanmamba OK, so I've added support for a Portainer Environment ID other than 2. Update to the :latest (:2025.02.21), and use PORTAINER_ENV=3
.
Here's an updated OliveTin-for-Channels Docker Compose:
version: '3.9'
services:
olivetin: # This docker-compose typically requires no editing. Use the Environment variables section of Portainer to set your values.
# 2025.02.21
# 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.
- PORTAINER_PORT=${PORTAINER_PORT} # https port you're running Portainer on. 9443 is the default.
- PORTAINER_ENV=${PORTAINER_ENV} # Set this is if you're using an alternate Portainer Environment for some reason. 2 is the default.
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.
- ${TUBEARCHIVIST_SHARE}:/mnt/${CHANNELS_DVR_HOST}-${CHANNELS_DVR_PORT}_ta # This can either be a Docker volume or a host directory that's connected via Samba or NFS to your TubeArchivist videos 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.
#- ${TUBEARCHIVIST2_SHARE}:/mnt/${CHANNELS_DVR2_HOST}-${CHANNELS_DVR2_PORT}_ta # This can either be a Docker volume or a host directory that's connected via Samba or NFS to your TubeArchivist videos 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 a docker volume named channels-dvr, with CIFS or NFS, to bind to /mnt/dvr inside the container. Set ${HOST_DIR} to channels-dvr (HOST_DIR=channels_dvr) in that example.
#channels-dvr:
#external: true
#channels-dvr-logs:
#external: true
#tubearchivist:
#external: true
And a set of example 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
TUBEARCHIVIST_SHARE=/mnt/dvr
HOST_SFS_PORT=8080
FOLDER=/web
PORTAINER_TOKEN=xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
PORTAINER_HOST=docker-host
PORTAINER_PORT=9443
PORTAINER_ENV=2
Assuming you're successful, I'll make this the new standard Docker Compose for this project.
Sorry about that. While the zip_code variable didn't do anything anymore, the startup code still required it. But the latest mlbserver update removed the variable entirely, so you could once again remove it from your Docker config if you like.
I am trying to do the one-click Frndly TV install, but I am getting this error:
JSON response from http://192.168.29.131:9000/api/stacks/create/standalone/string?endpointId=2:
{"message":"Unable to find an environment with the specified identifier inside the database","details":"Object not found inside the database (bucket=endpoints, key=2)"}
false
I am not sure what steps I should take to troubleshoot?
Does ChannelsDVR have to be running in Docker for this to work? Can it be running in Windows (11).
Try using the Docker Compose a couple of posts up, with the new PORTAINER_ENV
value set to 3. This might be a new wrinkle with the latest version of Portainer, that you could help prove/disprove.
Thanks, I will.
edit...
I used the script from post 340. OliveTin started right up. I get the same error, however.
Could this be my issue, I see it in the Post-install Health Check?
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:\ProgramData2\DVR
When using a Windows path in Portainer, change the backslashes to slashes like this...
C:/ProgramData2/DVR
When using WSL with a Linux distro and Docker Desktop, it's also possible to use...
/mnt/c/ProgramData2/DVR
I got it now