Development environment for Telemeta and TimeSide based projects
Shell Batchfile
Latest commit c1d145c Dec 9, 2015 @yomguy yomguy no more root for mysql
Permalink
Failed to load latest commit information.
home/sandbox
.gitignore
LICENSE
README.rst
docker-compose-timeside.yml
docker-compose.yml
install-ssh.sh
install.bat
install.sh

README.rst

Parisson DevBox

Development environment for Telemeta and TimeSide based projects.

This docker based composition already bundles some powerfull applications and modern frameworks out-of-the-box like: Python, Numpy, Gstreamer, Django, Celery, MySQL, RabbitMQ, uWSGI, Nginx and many more.

Install

First install Git, Docker and docker-compose, then run these commands in a terminal:

git clone https://github.com/Parisson/DevBox.git
cd DevBox
sh install.sh

On Windows, execute (double-click):

install.bat

Start it up

For Telemeta + TimeSide, from the DevBox folder:

docker-compose up

then browse http://localhost:8000

To start a python console in the python / django environment:

docker-compose run app examples/sandbox/manage.py shell

For TimeSide only + TimeSide-Diadems:

docker-compose -f docker-compose-timeside.yml up

The REST API is browsable at: http://localhost:8000/api/

Note that the app and the static files are automatically reloaded when the code changes.

Documentation

Scale it up

Thanks to the docker container based architecture and the power of Git, all the code, the dependencies and even the data volumes can be easily shared to other devops and rapidly scaled to more massive production environments.

For any serious production usecase, before anything, please MODIFY all the django sandbox passwords, secret keys, mysql passwords, etc...

After synchronizing your images and wanted volumes to the cloud, docker-compose gives you some very, very nice commands to scale all the containers together. For example, increasing the celery based audio worker number to N is not simpler than:

docker-compose scale worker=N

Stunning! Imagine you have a cluster with M cores, each core driving one WSGI worker, you get M*N parallel audio and video data processing threads instantaneously fedded by any number of rabbitmq queues :)