neilenns / node-deepstackai-trigger

Detects motion using Deepstack AI and calls registered triggers based on trigger rules.
MIT License
167 stars 28 forks source link

ERROR: for trigger Cannot create container for service trigger: invalid mount config for type "bind" #391

Closed streetbr97 closed 4 years ago

streetbr97 commented 4 years ago

What trouble are you having?

can't start container

A clear and concise description of what you're stuck on.

PS C:\node-deepstack-trigger-ai> docker-compose up node-deepstack-trigger-ai_deepstack-ai_1 is up-to-date Creating node-deepstack-trigger-ai_trigger_1 ... error

ERROR: for node-deepstack-trigger-ai_trigger_1 Cannot create container for service trigger: invalid mount config for type "bind": source path must be a directory

ERROR: for trigger Cannot create container for service trigger: invalid mount config for type "bind": source path must be a directory ERROR: Encountered errors while bringing up the project.

Have you tried with the sample files?

Have you tried the steps in the troubleshooting guide?

https://github.com/danecreekphotography/node-deepstackai-trigger/wiki/Troubleshooting

Log entries

Please copy and paste all the log messages from the Docker output

Installation details

Add any other context about the problem here.

neilenns commented 4 years ago

This error is from Docker because you have an invalid mount point in your docker-compose.yaml. You didn't provide your entire compose file, but from what you did provide the cuprit would be this line:

e:/node-deepstack-trigger-ai/aiinput:/aiinput

Check and make sure e:/node-deepstack-trigger-ai/aiinput actually exists.

streetbr97 commented 4 years ago

apologies was trying to save some space. The directory does exist at the OS level, could it permissions to that directory for docker?

Here is the full file, not much different than the original sample, I'm following the Quick start - basic web requests guide.

version: "3.8"
services:
  trigger:
    volumes:
      # Change d:/myfolder/myimages to point to the folder that will have the images
      # to analyze. Only change the local path that is before the :/aiinput portion.
      # Don't change the :/aiinput part. For example, if you are on Windows and your
      # images are stored locally in d:/blueiris/capturedImages your final line should
      # look like this:
      # d:/blueIris/capturedImages:/aiinput
      - e:/node-deepstack-trigger-ai/aiinput:/aiinput

    environment:
      # Change this to match the timezone the images are produced in,
      # Typically this will be the timezone of the machine running
      # the Docker container. For a list of valid timezone values
      # see https://en.wikipedia.org/wiki/List_of_tz_database_time_zones.
      # The value to use is in the "TZ database name" column.
      - TZ=America/Detroit

    ports:
      # This port is used by the local web server when annotated images are enabled.
      # If you change the port used by the local web server in the settings.json file
      # this also has to change to match.
      - 4242:4242

    # ------------------------------------------------------------------------
    # Don't change anything below this line unless you know what you are doing
    secrets:
      - triggers
      - settings
    image: danecreekphotography/node-deepstackai-trigger:latest
    restart: always
    depends_on:
      - deepstack-ai

  deepstack-ai:
    image: deepquestai/deepstack:latest
    restart: always
    volumes:
      - localstorage:/datastore
    environment:
      - VISION-DETECTION=True

volumes:
  localstorage:

secrets:
  settings:
    # This should point to the location of the settings.json configuration file
    file: ./settings.json
  triggers:
    # This should point to the location of the triggers.json configuration file
    file: ./triggers.json
neilenns commented 4 years ago

Unfortunately I'm not going to be able to provide any assistance with this one as it is likely a Docker issue with your VM setup. I suggest trying to post in a Docker support forum somewhere. Any time additional virtualization is involved it gets messy and I always recommend just running on a native OS Install.