Project One-Click: All-in-One Installations of Docker Extensions and CDVR Custom Channels

@Edwin_Perez Are you using the latest and greatest OliveTin docker-compose with an environment section that looks like this:

    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_DVR_ALTERNATES} # 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
      - 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.

And env vars similar to this:

TAG=latest
DOMAIN=tailxxxxx.ts.net
HOST_PORT=1337
CHANNELS_DVR_HOST=local-server
CHANNELS_DVR_PORT=8089
CHANNELS_DVR_ALTERNATES=another-server:8089
CHANNELS_CLIENTS=appletv4k-den firestick-bedroom
UPDATE_YAMLS=true
UPDATE_SCRIPTS=true
TZ=US/Mountain
HOST_DIR=/data
DVR_SHARE=/mnt/dvr
HOST_SFS_PORT=8080
FOLDER=/web
PORTAINER_TOKEN=xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
PORTAINER_HOST=docker-host

I don't think so I will have to scroll up and find your new compose.

You can get it from here too:

Yeah had that bookmarked but forgot about it just have to find the portainer token.

Looks good thanks ....

1 Like

Here's a 3 minute video that goes step-by-step through the steps to install OliveTin. This video assumes you already have Docker and the WebUI version of Portainer installed. Let me know if you have questions:

Thank you very much!

Hi, I am having trouble getting the OliveTin stack to deploy. I am receiving the following error:

deployment error
failed to deploy a stack: Network olivetin_default Creating Network olivetin_default Created Container static-file-server Creating Container olivetin Creating Container static-file-server Created Container olivetin Created Container static-file-server Starting Container olivetin Starting Error response from daemon: Bind mount failed: '/volume1/olivetin/data' does not exists

These are the environment variables I have entered:
(BTW, ChannelsDVR, Docker, and Portainer are all running on the same Synology NAS)

TAG=latest
DOMAIN=local
HOST_PORT=1337
CHANNELS_DVR_HOST=192.168.1.100
CHANNELS_DVR_PORT=8089
CHANNELS_DVR_ALTERNATES=another-server:8089
CHANNELS_CLIENTS=hatch
UPDATE_YAMLS=true
UPDATE_SCRIPTS=true
TZ=US/Pacific
HOST_DIR=/volume1
DVR_SHARE=/volume1/ChannelsDVR
HOST_SFS_PORT=8080
FOLDER=/web
PORTAINER_TOKEN=ptr_mdJgqvXS8DnZ8JNOTDmQiR/Bbj4isQNiinA7hcXGj8o=
PORTAINER_HOST=192.168.1.100

I think this is related to permissions on Synology. Do you have a directory called /volume1/docker? If so, try using that for HOST_DIR. In addition, remove the dummy value for CHANNELS_DVR_ALTERNATES. Also, you'll want to delete and create a new Portainer token, as that shouldn't be posted publicly.

@chDVRuser Any other suggestions for dealing with Synology permissions?

This is what I use

    volumes:
      - ${HOST_DIR}/olivetin:/config # Add the parent directory on your Docker you'd like to use

HOST_DIR=/volume1/docker

As you suggested, I deleted and added a new Portainer token.
I also Changed HOST_DIR=/volume1/docker/olivetin

Still having trouble with deployment:
Deployment error
failed to deploy a stack: Network olivetin_default Creating Network olivetin_default Created Container olivetin Creating Container static-file-server Creating Container static-file-server Created Container olivetin Created Container static-file-server Starting Container olivetin Starting Error response from daemon: Bind mount failed: '/volume1/docker/olivetin/olivetin' does not exists

I saw that the OliveTin sub directory was duplicated, so I tried
HOST_DIR=/volume1/docker with similar result

Deployment error
failed to deploy a stack: Network olivetin_default Creating Network olivetin_default Created Container static-file-server Creating Container olivetin Creating Container static-file-server Created Container olivetin Created Container static-file-server Starting Container olivetin Starting Error response from daemon: Bind mount failed: '/volume1/docker/olivetin/data' does not exists

1 Like

Does this directory already exist? Normally it doesn't need to, but Synology has some of its own ways.

Are you able to create directories at the /volume1 level with your standard user? If not, what are the options where you have write privileges?

He needs to create the directory /volume1/docker/olivetin using the Synology File Station
Screenshot 2024-04-06 at 18-01-30 DS1513PLUS - Synology DiskStation
And use the ENV VAR
HOST_DIR=/volume1/docker

(Synology Docker and Container Manager do not create host directories, only container directories if they don't exist)

Yes, /volume1/docker already exists as a shared folder

I'm not sure what you mean "Are you able to create directories at the /volume1 level with your standard user? If not, what are the options where you have write privileges?"

Do I need to change access settings on the NAS?

See my post above yours. Create the olivetin directory using File Station

Gotcha. Like this? (I hope)

Looks good to me. Give it a try.

1 Like

Correct. One thing to keep in mind is that in Linux (Synology & Docker), directory and filenames are CaSe sEnSiTiVe.

I also had to add /docker/olivetin/data with File Station.
OliveTin is Up and running!

1 Like

You don't need to. Once you have the host directory in place (/volume1/docker/olivetin), docker will volume map (bind mount) it and olivetin will be able to create directories within it.