Server sends to each socket.io websocket client a region of the
image for processing. Then the result is stored and shared within the network.
For supporting high concurrency, the backend distributes events between redis instances,
handled by socket.io-redis. Nodes can be added anytime, at any layer.
$ eval $(docker-machine env default)
$ docker-compose up --build -d
$ docker-compose scale web=2
Exposed port '88'
Install XQuartz, then...
$ brew install cairo
Set env
$ export PKG_CONFIG_PATH=/opt/X11/lib/pkgconfig
$ sudo apt-get install libcairo2-dev libjpeg8-dev libpango1.0-dev libgif-dev build-essential g++
$ npm install -g bower grunt-cli
$ npm install
$ bower install
You need a running local mongodb instance. (For OSX, 'brew install mongodb')
$ grunt serve
http://localhost:9000