Docker

    • OMV 2.x
    • Hi

      Nice to see that we have docker. Can anyone help please.

      I use zoneminder in virtualbox at the moment and want to use it in a container. I found some instructions and pulled the files and tried to get it to work. It looks like its not connecting to SQL. I've fanny around changing settings and didn't get anywhere. Can someone give me the settings that this requires. These are the instruction I found, I didn't install docker but used the new docker GUI.

      Great work guys



      == Real Introduction ==

      Docker is amazing, with this you will set up two different "containers" (you can think of these as chroots on steroids or VMs without the VM ;) )

      So why docker? Well did you want to deal with dependency issues or weird setup problems? Or did you want to deploy without an internet connection, or possibly download an exact working image at work/home then deploy off-site without internet? '''No problem'''

      = Install Docker =

      You can get full instructions [docs.docker.com/installation/ here] or this command should work for you.

      wget -qO- get.docker.com/ | sh

      = Quick and dirty ZM 1.28.x install =

      sudo docker run -d -e MYSQL_ROOT_PASSWORD=uberpass -e MYSQL_DATABASE=zm -e MYSQL_USER=zm -e MYSQL_PASSWORD=my-secret-pass --name=zm-mysql mysql
      sudo docker run -d --name=zoneminder --link=zm-mysql:mysql -p 443:443 --privileged=true hrwebasst/docker-zoneminder

      '''How hard was that? Now you can browse to SERVER/zm'''
      Notice that we don't need to give the zoneminder docker any information as the ENV vars are passed to it through the link.

      = Advanced information =

      In those above two commands the Environment Vars with the '-e' flag are creating database and connecting with those so you can modify them to your hearts content before running the commands.

      Here is how I run the servers:

      sudo docker run -d --restart=always --name=mysql -v /var/local/mysql:/var/lib/mysql -e MYSQL_ROOT_PASSWORD=uberpass -e MYSQL_DATABASE=zm -e MYSQL_USER=zm -e MYSQL_PASSWORD=uberpass mysql
      sudo docker run -d --restart=always --name=zoneminder -v /var/local/zm/images:/usr/share/zoneminder/images -v /var/local/zm/events:/usr/share/zoneminder/events --link=mysql:mysql -p 443:443 --privileged=true hrwebasst/docker-zoneminder

      We've now passed a few folders into the containers and told them to always restart. The -v flags pass in local directories to destination folders in the containers. We are also telling them to always restart.
    • [GUIDE] Zoneminder as Docker Plugin

      I was also intrested in the Docker solution and got it working. Here is how I made it.
      I'm new to Docker, so I'm sure there are improvements to this guide.

      Presetup:
      - You need the Docker-GUI plugin up and running
      The docker image stores files into a config path, which is used for the image captures too.
      - Create a shared folder (not sure which priviliges are need to be set, but I gave this folder all read/write)
      is used /media/mystorageID/zoneminder

      Instructions to run docker image:

      - Go into Docker Gui and Pull Image (github.com/aptalca/docker-zoneminder)
      ->Parameters: aptalca/docker-zoneminder
      - If sucessfully pulled run that image:
      -> Restart on system reboot, Run container in privileged mode, sync time with host all on
      -> Bridge (no host name)
      -> Portforwarding
      -> 0.0.0.0 Host Port 90 Exposedport 80 (80 is not working so choose some other port for the web-gui, click the plus or its not saved)
      -> 0.0.0.0 Host Port 8080 Exposedport 8080 (this is used for forwarding the broadcast of the webcams, click the plus or its not saved)
      -> Environment (default paths are fine)
      -> Extra Args
      -> -v /media/mystorageID/zoneminder:/config:rw (maybe this could be also done with the Volume and Bind mounts)

      Now look into the log if the docker image is started.

      Open "YOURNASADRESS:90/zm" in the Browser.
      Basic Zoneminder setup as described in the docker image

      - In the WebUI, click on Options in the top right corner and go to the Display Tap and change Skin to Flat (much better)
      - The container includes avconv (ffmpeg variant) and cambozola but they need to be enabled in the settings
      - Go to the Images tab
      - Click on the box next to OPT_Cambozola to enable
      - Click on the box next OPT_FFMPEG to enable ffmpeg
      - Enter the following for ffmpeg path: /usr/bin/avconv
      - Enter the following for ffmpeg "output" options: -r 30 -vcodec libx264 -threads 2 -b 2000k -minrate 800k -maxrate 5000k (you can change these options to your liking)
      - Next to ffmpeg_formats, add mp4 (you can also add a star after mp4 and remove the star after avi to make mp4 the default format)
      - Hit save

      For testing:
      As described in the following link you can use ur smartphone as ip webcam
      plus.google.com/111475821387295047208/posts/arJPF7adB2Y

      - Download the application IP Webcam from Pas from the Android Market. Use the default settings for this pass, and go right to Start server.
      - You will see a URL with IP number at the bottom of the screen. This live video is available at the URL irrespective of whether zoneminder is integrated.
      - Login to zoneminder and add a camera. Use these settings:
      Source Type == remote
      Maximum FPS == see Video Setup in your smartphone APP
      Remote Protocol == HTTP
      Remote Host == (the ip number in the camera URL, it changes every session)
      Remote Host Port == 8080
      Remote Host Path == /video
      Capture Width == see Video Setup in your smartphone APP
      Capture Height ==see Video Setup in your smartphone APP

      At the end you should be able to see your smartphone camera over your NAS in the browser.

      Pitfalls for testing: Setup the same resolution in the smartphone and in your smartphone as well as the same max fps.

      Improvements welcome ;)
      Images
      • docker_setup.png

        35.38 kB, 705×662, viewed 1,363 times
    • Hi moepmoep,

      Thanks so much for your Guide, very helpful.

      I used it to set-up a DVR like station, to record my Dahua IP cams. I almost got something working at the end but could not get any video stream (rtsp on 554 port) displayed in web gui... ||

      I then used the hint given in zoneminder wiki (Debian 8.1 64-bit with Zoneminder 1.28.1 the Easy Way):
      "Change PATH_ZMS from /cgi-bin/nph-zms to /zm/cgi-bin/nph-zms"

      After this change I could view my video streams in web-gui.