!!! For the moment this approach only works for IP cameras, we don't have a cross-platform method to inject a USB camera or Raspberry Pi camera !!!

A Docker image (x86, ARMv7, ARMv8) is available on the Docker Hub, which contains all the necessary software to setup your security infrastructure in a matter of seconds. Before you can run this image you will have to get Docker installed. After the installation you can use docker run to get up and running, or you can opt for dockeros to create and scale your security infrastructure.

Use docker run

After you've installed docker, you can open a command prompt and type in following command. This will pull the kerberos image and make the web interface available on port 80 and the livestream on port 8889. You can give the container a custom name using the --name property.

$ docker run --name camera1 -p 80:80 -p 8889:8889 -d kerberos/kerberos
$ docker run --name camera2 -p 81:80 -p 8890:8889 -d kerberos/kerberos
$ docker run --name camera3 -p 82:80 -p 8891:8889 -d kerberos/kerberos

Or use dockeros (our docker creation tool)

We've created a simple and small tool to auto provision and auto configure containers. The idea is that you define the different configurations for every camera upfront (/environments directory), and map them to into your Docker container (using volumes). The ultimate goal is to have a fully automated and lightning fast way for provisioning your video surveillance environments in just a matter of seconds. It's also a great way to backup your security configuration.

CAMERA 1 <<== CONTAINER1 <<== environment/cameraconfig1
CAMERA 2 <<== CONTAINER2 <<== environment/cameraconfig2
CAMERA 3 <<== CONTAINER2 <<== environment/cameraconfig3

How to use it?

The tool we've created is a simple bash script which we called dockeros, and exposes a couple of methods; discussed below. By specifying a number of parameters, dockeros will do all the magic dockering for you. This tool is still work in progress, so PR's and new features are welcome!

git clone
cd docker/bin
./ {command}


List all containers which are created.

./ showall

Remove all containers which were created before.

./ cleanup

Create a container with a name and predefined configuration.

./ create {name} {config} {webport} {streamport}
  • name: This is the name of the container which will be created.

  • config: The configuration which needs to be injected in the container. The configuration directories can be found in the /environments folder.

  • webport: The port on which the webinterface will be served.

  • streamport: The port on which the livestream will be served.