diff --git a/.gitattributes b/.gitattributes
index 0bb16be512b566e3b5c8365e4eb689f22dcaa19b..c0631c047bdeab44a42f4e5d3ffec35f36995ee8 100644
--- a/.gitattributes
+++ b/.gitattributes
@@ -1 +1,2 @@
-cassandra/build.sh eol=lf
+wynurz.sh eol=lf
+*/build.sh eol=lf
diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml
index 1604f77fc0021b18662ad722ea0565aaee45d38c..52f069e78fc37d13463cb5134d33272608efe8bf 100644
--- a/.gitlab-ci.yml
+++ b/.gitlab-ci.yml
@@ -1,24 +1,81 @@
+
 variables:
   PREFIX: henrietta/
-
-.job_template: &vm_build_job
+.job_template: &box_build_job
   stage: build
   tags:
     - vagrant
     - develop19216822423
+  before_script:
+    - ln -s .. $BOX/boxen
+    - cp -rf wynurz.s $BOX/wynurz.sh
+    - cp SkeletonVagrantfile $BOX/Vagrantfile
+    - sed -ie 's/INSERTBOXNAME/$BOX/g' $BOX/Vagrantfile
+    - cd $BOX; vagrant up
+    - echo "\nwait\n" >> $BOX/build.sh
   script:
-    - cd $BOX
     - vagrant up
     - vagrant package --out $BOX.box
     - mv -f $BOX.box /var/www/html/dev/vagrant/$BOX.box
-    - vagrant destroy -f
     - vagrant box remove $PREFIX/$BOX
     - vagrant box add $PREFIX/$BOX file:///var/www/html/dev/vagrant/$BOX.box
     - cd ..
+  after_script:
+    - vagrant destroy -f
+    - rm $BOX/boxen
+
+
+
+build_cassandra:
+  <<: *box_build_job
+  variables:
+    BOX: cassandra
   only:
     - master
+    - /^cassandra\-(.*)$/
+
 
 build_cass_zk_rmq:
-  <<: *vm_build_job
+  <<: *box_build_job
   variables:
     BOX: cass_zk_rmq
+  only:
+    - master
+    - /^cass_zk_rmq\-(.*)$/
+
+
+build_czr_pythons:
+  <<: *box_build_job
+  variables:
+    BOX: czr_pythons
+  only:
+    - master
+    - /^czr_pythons\-(.*)$/
+
+
+build_czr_pythons_pg:
+  <<: *box_build_job
+  variables:
+    BOX: czr_pythons_pg
+  only:
+    - master
+    - /^czr_pythons_pg\-(.*)$/
+
+
+build_nodejs4:
+  <<: *box_build_job
+  variables:
+    BOX: nodejs4
+  only:
+    - master
+    - /^nodejs4\-(.*)$/
+
+
+build_nodejs5_jdk_adk25:
+  <<: *box_build_job
+  variables:
+    BOX: nodejs5_jdk_adk25
+  only:
+    - master
+    - /^nodejs5_jdk_adk25\-(.*)$/
+
diff --git a/README.md b/README.md
index f5c1252d868a5e40b386bff6b86f1cb16a859a4f..a992916a3a8d40f2582d14d918e8a868db5f54cb 100644
--- a/README.md
+++ b/README.md
@@ -16,3 +16,7 @@ Click on particular boxes to see description and how to use:
 * [NodeJS 4.x + bower + gulp](/nodejs4)
 * [NodeJS 5.x + JDK + ADT + cordova](/nodejs5_jdk_adk25)
 
+Boxes are automatically regenerated upon a push to master.
+If you want to develop a single box, just make a branch that starts with it's name
+and a dash, eg. **cassandra-something**.
+Only it will then rebuild upon commit.
\ No newline at end of file
diff --git a/nodejs4/Vagrantfile b/SkeletonVagrantfile
similarity index 62%
rename from nodejs4/Vagrantfile
rename to SkeletonVagrantfile
index c44f2e842c81f6fe2c7f073f7adf55d830f90d19..e45403d7e6f2444f96f1d3009600eb27209cc9b8 100644
--- a/nodejs4/Vagrantfile
+++ b/SkeletonVagrantfile
@@ -1,22 +1,24 @@
 
 Vagrant.configure("2") do |config|
-  config.vm.box = "debian/contrib-jessie64"
+  config.vm.box = "henrietta/INSERTBOXNAME"
+
+  config.vm.provider "virtualbox" do |v|
+    v.memory = 1260
+    v.cpus = 3
+  end
 
   config.vm.provision "shell", inline: <<-SHELL
     apt-get update
-    apt-get install -y curl git build-essential unzip      # Common utilies
+    apt-get install -y killall
 
-    curl -sL https://deb.nodesource.com/setup_4.x | bash -
-    apt-get install -y nodejs
-    npm cache clean
-    npm install -g --unsafe-perm bower gulp
+    bash /vagrant/run.sh
 
     # Minify
+    apt-get remove killall
     apt-get clean
     dd if=/dev/zero of=/EMPTY bs=1M
     rm -f /EMPTY
     rm -rf /tmp/*
-
     # udev rules
     rm /etc/udev/rules.d/70-persistent-net.rules || true
     mkdir /etc/udev/rules.d/70-persistent-net.rules || true
diff --git a/cass_zk_rmq/Vagrantfile b/cass_zk_rmq/Vagrantfile
deleted file mode 100644
index 1ff08bc2546f83d70e290cd8779abb157239ad84..0000000000000000000000000000000000000000
--- a/cass_zk_rmq/Vagrantfile
+++ /dev/null
@@ -1,54 +0,0 @@
-
-Vagrant.configure("2") do |config|
-  config.vm.box = "debian/contrib-jessie64"
-
-  config.vm.provider "virtualbox" do |v|
-    v.memory = 1260
-    v.cpus = 3
-  end
-
-  config.vm.provision "shell", inline: <<-SHELL
-    apt-get update
-    apt-get install -y curl        # Common utilies
-
-    # Oracle Java JRE
-    (apt-get install -y debconf-utils &&
-    echo "deb http://ppa.launchpad.net/webupd8team/java/ubuntu trusty main" > /etc/apt/sources.list.d/webupd8team-java.list  &&
-    echo "deb-src http://ppa.launchpad.net/webupd8team/java/ubuntu trusty main" >> /etc/apt/sources.list.d/webupd8team-java.list &&
-    apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv-keys EEA14886 &&
-    apt-get update &&
-    echo debconf shared/accepted-oracle-license-v1-1 select true |  debconf-set-selections &&
-    apt-get install -y oracle-java8-installer) $        # %1
-
-    (apt-get install -y rabbitmq-server=3.3.5-1.1 zookeeper zookeeperd &&
-    sleep 20 &&
-    service zookeeper stop &&
-    service rabbitmq-server stop &&) &   # %2
-
-    wait %1 # java
-    # Install Apache Cassandra
-    echo "deb http://debian.datastax.com/community stable main" > /etc/apt/sources.list.d/cassandra.sources.list
-    curl -L http://debian.datastax.com/debian/repo_key | apt-key add -
-    apt-get update
-    apt-get install -y cassandra=3.0.9 dsc30 cassandra-tools
-
-    # Clean
-    sleep 30
-    service cassandra stop
-    rm -rf /var/lib/cassandra/*
-
-    wait
-
-    # Minify
-    apt-get clean
-    dd if=/dev/zero of=/EMPTY bs=1M
-    rm -f /EMPTY
-    rm -rf /tmp/*
-    # udev rules
-    rm /etc/udev/rules.d/70-persistent-net.rules || true
-    mkdir /etc/udev/rules.d/70-persistent-net.rules || true
-    rm -rf /dev/.udev/ || true
-    rm /lib/udev/rules.d/75-persistent-net-generator.rules || true
-
-  SHELL
-end
diff --git a/cass_zk_rmq/build.sh b/cass_zk_rmq/build.sh
new file mode 100644
index 0000000000000000000000000000000000000000..50f2b45a0ba0ad12cfd9ee8f22838a6b37f51486
--- /dev/null
+++ b/cass_zk_rmq/build.sh
@@ -0,0 +1,7 @@
+#!/usr/bin/env bash
+
+bash boxen/cassandra/build.sh
+bash wynurz.sh zookeeeper
+bash wynurz.sh rabbitmq
+
+
diff --git a/cassandra/Vagrantfile b/cassandra/Vagrantfile
deleted file mode 100644
index a9079def4ef50955bbf754e0d07a4748fb8cf125..0000000000000000000000000000000000000000
--- a/cassandra/Vagrantfile
+++ /dev/null
@@ -1,38 +0,0 @@
-Vagrant.configure("2") do |config|
-  config.vm.box = "debian/contrib-jessie64"
-
-  config.vm.provision "shell", inline: <<-SHELL
-    apt-get update
-    apt-get install -y curl        # Common utilies
-
-    # Oracle Java JRE
-    apt-get install -y debconf-utils
-    echo "deb http://ppa.launchpad.net/webupd8team/java/ubuntu trusty main" > /etc/apt/sources.list.d/webupd8team-java.list
-    echo "deb-src http://ppa.launchpad.net/webupd8team/java/ubuntu trusty main" >> /etc/apt/sources.list.d/webupd8team-java.list
-    apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv-keys EEA14886
-    apt-get update
-    echo debconf shared/accepted-oracle-license-v1-1 select true |  debconf-set-selections
-    apt-get install -y oracle-java8-installer
-
-    # Install Apache Cassandra
-    echo "deb http://debian.datastax.com/community stable main" > /etc/apt/sources.list.d/cassandra.sources.list
-    curl -L http://debian.datastax.com/debian/repo_key | apt-key add -
-    apt-get update
-    apt-get install -y cassandra=3.0.9 dsc30 cassandra-tools
-
-    # Minify
-    sleep 40
-    service cassandra stop
-    rm -rf /var/lib/cassandra/*
-    apt-get clean
-    dd if=/dev/zero of=/EMPTY bs=1M
-    rm -f /EMPTY
-
-    # udev rules
-    rm /etc/udev/rules.d/70-persistent-net.rules || true
-    mkdir /etc/udev/rules.d/70-persistent-net.rules || true
-    rm -rf /dev/.udev/ || true
-    rm /lib/udev/rules.d/75-persistent-net-generator.rules || true
-
-  SHELL
-end
diff --git a/cassandra/build.sh b/cassandra/build.sh
new file mode 100644
index 0000000000000000000000000000000000000000..06fc364dd4bbafefaf8665630cff414f338458ed
--- /dev/null
+++ b/cassandra/build.sh
@@ -0,0 +1,4 @@
+#!/usr/bin/env bash
+
+bash wynurz.sh java
+bash wynurz.sh cassandra
\ No newline at end of file
diff --git a/czr_pythons/Vagrantfile b/czr_pythons/Vagrantfile
deleted file mode 100644
index f06be010ee98e58c7a8c29cb5c26b2a86121d17d..0000000000000000000000000000000000000000
--- a/czr_pythons/Vagrantfile
+++ /dev/null
@@ -1,54 +0,0 @@
-
-Vagrant.configure("2") do |config|
-  config.vm.box = "debian/contrib-jessie64"
-
-  config.vm.provision "shell", inline: <<-SHELL
-    apt-get update
-    apt-get install -y curl python python-pip python-dev python-setuptools build-essential git libffi-dev libyaml-dev libev4 libev-dev
-    pip install --upgrade pip==1.5.6
-    pip install --upgrade setuptools==5.5.1
-
-    # Oracle Java JRE
-    apt-get install -y debconf-utils
-    echo "deb http://ppa.launchpad.net/webupd8team/java/ubuntu trusty main" > /etc/apt/sources.list.d/webupd8team-java.list
-    echo "deb-src http://ppa.launchpad.net/webupd8team/java/ubuntu trusty main" >> /etc/apt/sources.list.d/webupd8team-java.list
-    apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv-keys EEA14886
-    apt-get update
-    echo debconf shared/accepted-oracle-license-v1-1 select true |  debconf-set-selections
-    apt-get install -y oracle-java8-installer
-
-    # Install Apache Cassandra
-    echo "deb http://debian.datastax.com/community stable main" > /etc/apt/sources.list.d/cassandra.sources.list
-    curl -L http://debian.datastax.com/debian/repo_key | apt-key add -
-    apt-get update
-    apt-get install -y cassandra=3.0.9 dsc30 cassandra-tools
-
-    # Install RabbitMQ
-    apt-get install -y rabbitmq-server=3.3.5-1.1
-
-    service rabbitmq-server stop
-
-    # Install ZooKeeper
-    apt-get install -y zookeeper zookeeperd
-
-    service zookeeper stop
-    sleep 20    # wait for cassandra... #todo fix
-    service cassandra stop      # cassandra takes long to init
-    rm -rf /var/lib/cassandra/*
-
-    # Python modules
-    pip install cassandra-driver kazoo CoolAMQP requests futures six monotonic nose mock
-
-    # Minify
-    apt-get clean
-    dd if=/dev/zero of=/EMPTY bs=1M
-    rm -f /EMPTY
-    rm -rf /tmp/*
-    # udev rules
-    rm /etc/udev/rules.d/70-persistent-net.rules || true
-    mkdir /etc/udev/rules.d/70-persistent-net.rules || true
-    rm -rf /dev/.udev/ || true
-    rm /lib/udev/rules.d/75-persistent-net-generator.rules || true
-
-  SHELL
-end
diff --git a/czr_pythons/build.sh b/czr_pythons/build.sh
new file mode 100644
index 0000000000000000000000000000000000000000..49a3b98569b6335192f2121c2488952001cbf276
--- /dev/null
+++ b/czr_pythons/build.sh
@@ -0,0 +1,35 @@
+#!/usr/bin/env bash
+apt-get install -y curl python python-pip python-dev python-setuptools build-essential git libffi-dev libyaml-dev libev4 libev-dev
+pip install --upgrade pip==1.5.6
+pip install --upgrade setuptools==5.5.1
+
+
+
+# Oracle Java JRE
+apt-get install -y debconf-utils
+echo "deb http://ppa.launchpad.net/webupd8team/java/ubuntu trusty main" > /etc/apt/sources.list.d/webupd8team-java.list
+echo "deb-src http://ppa.launchpad.net/webupd8team/java/ubuntu trusty main" >> /etc/apt/sources.list.d/webupd8team-java.list
+apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv-keys EEA14886
+apt-get update
+echo debconf shared/accepted-oracle-license-v1-1 select true |  debconf-set-selections
+apt-get install -y oracle-java8-installer
+
+# Install Apache Cassandra
+echo "deb http://debian.datastax.com/community stable main" > /etc/apt/sources.list.d/cassandra.sources.list
+curl -L http://debian.datastax.com/debian/repo_key | apt-key add -
+apt-get update
+apt-get install -y cassandra=3.0.9 dsc30 cassandra-tools
+
+# Install RabbitMQ
+apt-get install -y rabbitmq-server=3.3.5-1.1
+
+service rabbitmq-server stop
+
+# Install ZooKeeper
+apt-get install -y zookeeper zookeeperd
+
+service zookeeper stop
+bash assaassinate_cassandra.sh
+
+# Python modules
+pip install cassandra-driver kazoo CoolAMQP requests futures six monotonic nose mock
diff --git a/czr_pythons_pg/Vagrantfile b/czr_pythons_pg/Vagrantfile
deleted file mode 100644
index 874c4e6db60dddc6178dd21fb0ccb59ed3fbffda..0000000000000000000000000000000000000000
--- a/czr_pythons_pg/Vagrantfile
+++ /dev/null
@@ -1,62 +0,0 @@
-
-Vagrant.configure("2") do |config|
-  config.vm.box = "debian/contrib-jessie64"
-
-  config.vm.provision "shell", inline: <<-SHELL
-    apt-get update
-    apt-get install -y curl python python-pip python-dev python-setuptools build-essential git libffi-dev libyaml-dev libev4 libev-dev libpq-dev
-    pip install --upgrade pip==1.5.6
-    pip install --upgrade setuptools==5.5.1
-    pip install --upgrade cffi
-
-    # Oracle Java JRE
-    apt-get install -y debconf-utils
-    echo "deb http://ppa.launchpad.net/webupd8team/java/ubuntu trusty main" > /etc/apt/sources.list.d/webupd8team-java.list
-    echo "deb-src http://ppa.launchpad.net/webupd8team/java/ubuntu trusty main" >> /etc/apt/sources.list.d/webupd8team-java.list
-    apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv-keys EEA14886
-    apt-get update
-    echo debconf shared/accepted-oracle-license-v1-1 select true |  debconf-set-selections
-    apt-get install -y oracle-java8-installer
-
-    # Install Apache Cassandra
-    echo "deb http://debian.datastax.com/community stable main" > /etc/apt/sources.list.d/cassandra.sources.list
-    curl -L http://debian.datastax.com/debian/repo_key | apt-key add -
-    apt-get update
-    apt-get install -y cassandra=3.0.9 dsc30 cassandra-tools
-
-    # Install RabbitMQ
-    apt-get install -y rabbitmq-server=3.3.5-1.1
-
-    service rabbitmq-server stop
-
-    # Install ZooKeeper
-    apt-get install -y zookeeper zookeeperd
-
-    service zookeeper stop
-    sleep 20    # wait for cassandra... #todo fix
-    service cassandra stop      # cassandra takes long to init
-    rm -rf /var/lib/cassandra/*
-
-    # PgSQL 9.4
-    apt-get install -y postgresql-9.4
-    echo "host all all 0.0.0.0/0 md5" >> /etc/postgresql/9.4/main/pg_hba.conf
-    echo "listen_addresses = '*'" >> /etc/postgresql/9.4/main/postgresql.conf
-    sudo -u postgres psql --c "ALTER USER postgres WITH PASSWORD 'postgres';"
-    systemctl stop postgresql.service
-
-    # Python modules
-    pip install cassandra-driver kazoo CoolAMQP requests futures six monotonic nose mock coverage psycopg2cffi wheel
-
-    # Minify
-    apt-get clean
-    dd if=/dev/zero of=/EMPTY bs=1M
-    rm -f /EMPTY
-    rm -rf /tmp/*
-    # udev rules
-    rm /etc/udev/rules.d/70-persistent-net.rules || true
-    mkdir /etc/udev/rules.d/70-persistent-net.rules || true
-    rm -rf /dev/.udev/ || true
-    rm /lib/udev/rules.d/75-persistent-net-generator.rules || true
-
-  SHELL
-end
diff --git a/czr_pythons_pg/build.sh b/czr_pythons_pg/build.sh
new file mode 100644
index 0000000000000000000000000000000000000000..6e91c75f640abf2c77d9f6436ae2669663799b87
--- /dev/null
+++ b/czr_pythons_pg/build.sh
@@ -0,0 +1,13 @@
+#!/usr/bin/env bash
+apt-get install -y curl python python-pip python-dev python-setuptools build-essential git libffi-dev libyaml-dev libev4 libev-dev libpq-dev
+pip install --upgrade pip==1.5.6
+pip install --upgrade setuptools==5.5.1
+pip install --upgrade cffi
+
+
+bash boxen/cassandra/build.sh
+bash wynurz.sh zookeeeper
+bash wynurz.sh rabbitmq
+bash wynurz.sh postgresql
+
+pip install cassandra-driver kazoo CoolAMQP requests futures six monotonic nose mock coverage psycopg2cffi wheel
diff --git a/make-gitlab-ci.py b/make-gitlab-ci.py
new file mode 100644
index 0000000000000000000000000000000000000000..126f8787a1e12535cc15e652b144fef8b927f11d
--- /dev/null
+++ b/make-gitlab-ci.py
@@ -0,0 +1,43 @@
+# coding=UTF-8
+
+from __future__ import print_function, absolute_import, division
+import os
+import os.path
+
+if __name__ == '__main__':
+    dirs = [dir for dir in os.listdir('.') if os.path.isdir(dir)]
+    boxes = [box for box in dirs if os.path.exists(os.path.join(box, 'Vagrantfile'))]
+
+    with open('.gitlab-ci.yml', 'wb') as ci:
+        ci.write(b'''
+variables:
+  PREFIX: henrietta/
+.job_template: &box_build_job
+  stage: build
+  tags:
+    - vagrant
+    - develop19216822423
+  script:
+    - cd $BOX
+    - vagrant up
+    - vagrant package --out $BOX.box
+    - mv -f $BOX.box /var/www/html/dev/vagrant/$BOX.box
+    - vagrant box remove $PREFIX/$BOX
+    - vagrant box add $PREFIX/$BOX file:///var/www/html/dev/vagrant/$BOX.box
+    - cd ..
+  after_script:
+    - vagrant destroy -f
+
+''')
+
+        for box in boxes:
+            ci.write(b'''
+build_%s:
+  <<: *box_build_job
+  variables:
+    BOX: %s
+  only:
+    - master
+    - /^%s\-(.*)$/
+
+''' % (box, box, box))
\ No newline at end of file
diff --git a/nodejs4/build.sh b/nodejs4/build.sh
new file mode 100644
index 0000000000000000000000000000000000000000..dbd2351e72b706fada441894ab67e5a5b4dec407
--- /dev/null
+++ b/nodejs4/build.sh
@@ -0,0 +1,5 @@
+#!/usr/bin/env bash
+
+bash wynurz.sh node4
+npm cache clean
+npm install -g --unsafe-perm bower gulp
diff --git a/nodejs5_jdk_adk25/Vagrantfile b/nodejs5_jdk_adk25/Vagrantfile
deleted file mode 100644
index 27a7b5bceeb27547c4608819c4006bd171fcc67e..0000000000000000000000000000000000000000
--- a/nodejs5_jdk_adk25/Vagrantfile
+++ /dev/null
@@ -1,52 +0,0 @@
-
-Vagrant.configure("2") do |config|
-  config.vm.box = "debian/contrib-jessie64"
-
-  config.vm.provider "virtualbox" do |v|
-    v.memory = 1260
-    v.cpus = 3
-  end
-
-  config.vm.provision "shell", inline: <<-SHELL
-    apt-get update
-    apt-get install -y curl git build-essential unzip python zipalign
-
-    wget -O - https://deb.nodesource.com/setup_5.x | bash -
-    apt-get install -y nodejs
-    npm install -g --unsafe-perm bower gulp cordova@6.3.1 karma
-
-    cd /home/vagrant
-    wget -nv http://dev.dms-serwis.com.pl/misc/jdk-8u121-linux-x64.tar.gz
-    tar xzf jdk-8u121-linux-x64.tar.gz
-    rm -f jdk-8u121-linux-x64.tar.gz
-    update-alternatives --install /usr/bin/java java /home/vagrant/jdk1.8.0_121/bin/java 100
-    update-alternatives --install /usr/bin/javac javac /home/vagrant/jdk1.8.0_121/bin/javac 100
-    update-alternatives --install /usr/bin/jar jar /home/vagrant/jdk1.8.0_121/bin/jar 100
-    update-alternatives --install /usr/bin/jarsigner jarsigner /home/vagrant/jdk1.8.0_121/bin/jarsigner 100
-    echo """
-export PATH=\\$PATH:/home/vagrant/platform-tools:/home/vagrant/build-tools/25.0.1:/home/vagrant/tools
-export ANDROID_HOME=/home/vagrant
-""" >> /home/vagrant/.bashrc
-
-    wget -nv http://dev.dms-serwis.com.pl/misc/tools_r25.2.3-linux.zip
-    unzip tools_r25.2.3-linux.zip
-    rm -f tools_r25.2.3-linux.zip
-    echo y | ./tools/bin/sdkmanager "build-tools;25.0.1" "build-tools;24.0.0" "platforms;android-25" "platforms;android-24" "platforms;android-23" "platform-tools" "extras;android;m2repository" "extras;google;m2repository" "extras;google;google_play_services"
-
-    chown -R vagrant:vagrant /home/vagrant
-    chown -R vagrant:vagrant /home/vagrant/.bashrc
-
-    # Minify
-    apt-get clean
-    dd if=/dev/zero of=/EMPTY bs=1M
-    rm -f /EMPTY
-    rm -rf /tmp/*
-
-    # udev rules
-    rm /etc/udev/rules.d/70-persistent-net.rules || true
-    mkdir /etc/udev/rules.d/70-persistent-net.rules || true
-    rm -rf /dev/.udev/ || true
-    rm /lib/udev/rules.d/75-persistent-net-generator.rules || true
-
-  SHELL
-end
diff --git a/nodejs5_jdk_adk25/build_as_vagrant.sh b/nodejs5_jdk_adk25/build_as_vagrant.sh
new file mode 100644
index 0000000000000000000000000000000000000000..e91e95d3153b7d7ca979bfa02098f2bb4704713b
--- /dev/null
+++ b/nodejs5_jdk_adk25/build_as_vagrant.sh
@@ -0,0 +1,46 @@
+#!/usr/bin/env bash
+
+cd ~
+
+sudo apt-get install -y unzip wget tar
+
+echo """
+export PATH=\\$PATH:/home/vagrant/platform-tools:/home/vagrant/build-tools/25.0.1:/home/vagrant/tools
+export ANDROID_HOME=/home/vagrant
+""" >> /home/vagrant/.bashrc
+source /home/vagrant/.bashrc
+
+(bash wynurz.sh node5 &&
+npm install -g --unsafe-perm bower gulp cordova@6.3.1 karma) &
+
+(wget -nv http://dev.dms-serwis.com.pl/misc/tools_r25.2.3-linux.zip &&
+ unzip tools_r25.2.3-linux.zip &&
+ rm -f tools_r25.2.3-linux.zip) &
+
+wget -nv http://dev.dms-serwis.com.pl/misc/jdk-8u121-linux-x64.tar.gz
+tar xzf jdk-8u121-linux-x64.tar.gz
+rm -f jdk-8u121-linux-x64.tar.gz
+update-alternatives --install /usr/bin/java java /home/vagrant/jdk1.8.0_121/bin/java 100
+update-alternatives --install /usr/bin/javac javac /home/vagrant/jdk1.8.0_121/bin/javac 100
+update-alternatives --install /usr/bin/jar jar /home/vagrant/jdk1.8.0_121/bin/jar 100
+update-alternatives --install /usr/bin/jarsigner jarsigner /home/vagrant/jdk1.8.0_121/bin/jarsigner 100
+
+wait %2
+
+echo y | ./tools/bin/sdkmanager "build-tools;25.0.1" "build-tools;24.0.0" "platforms;android-25" "platforms;android-24" "platforms;android-23" "platform-tools" "extras;android;m2repository" "extras;google;m2repository" "extras;google;google_play_services"
+
+wait %1
+
+(npm cache clean &&
+) $
+
+$(bash wynurz.sh jdk &&
+bash wynurz.sh adt) $
+
+
+
+
+    echo y | ./tools/bin/sdkmanager "build-tools;25.0.1" "build-tools;24.0.0" "platforms;android-25" "platforms;android-24" "platforms;android-23" "platform-tools" "extras;android;m2repository" "extras;google;m2repository" "extras;google;google_play_services"
+
+
+
diff --git a/run.sh b/run.sh
new file mode 100644
index 0000000000000000000000000000000000000000..e59f247ad6eafbc19cf744c630af6be1e3976e2e
--- /dev/null
+++ b/run.sh
@@ -0,0 +1,9 @@
+#!/usr/bin/env bash
+
+shutdown -h +30 "Timeout on VM creation"
+
+if [ ! -f "build.sh" ]; then
+    sudo -H -u vagrant bash build_as_vagrant.sh
+else
+    bash build.sh
+fi
\ No newline at end of file
diff --git a/wynurz.sh b/wynurz.sh
new file mode 100644
index 0000000000000000000000000000000000000000..d72cb65aaefd6d58dd4fb2553e038c97d6f84ac4
--- /dev/null
+++ b/wynurz.sh
@@ -0,0 +1,73 @@
+#!/usr/bin/env bash
+
+if [ $1 == "java" ]; then
+    # Oracle Java JRE
+    apt-get install -y debconf-utils
+    echo "deb http://ppa.launchpad.net/webupd8team/java/ubuntu trusty main" > /etc/apt/sources.list.d/webupd8team-java.list
+    echo "deb-src http://ppa.launchpad.net/webupd8team/java/ubuntu trusty main" >> /etc/apt/sources.list.d/webupd8team-java.list
+    apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv-keys EEA14886
+    apt-get update
+    echo debconf shared/accepted-oracle-license-v1-1 select true |  debconf-set-selections
+    apt-get install -y oracle-java8-installer
+fi
+
+
+if [ $1 == "javacass" ]; then
+    bash wynurz.sh java
+    bash wynurz.sh cassandra
+fi
+
+if [ $1 == "node4" ]; then
+    apt-get install -y curl git build-essential unzip
+    curl -sL https://deb.nodesource.com/setup_4.x | bash -
+    apt-get install -y nodejs
+fi
+
+if [ $1 == "node5" ]; then
+    apt-get install -y curl git build-essential unzip
+    curl -sL https://deb.nodesource.com/setup_5.x | bash -
+    apt-get install -y nodejs
+fi
+
+if [ $1 == "jdk" ]; then
+    cd /home/vagrant
+
+    rm -f jdk-8u121-linux-x64.tar.gz
+
+
+fi
+
+
+if [ $1 == "cassandra" ]; then
+    # Install Apache Cassandra
+    echo "deb http://debian.datastax.com/community stable main" > /etc/apt/sources.list.d/cassandra.sources.list
+    curl -L http://debian.datastax.com/debian/repo_key | apt-key add -
+    apt-get update
+    apt-get install -y cassandra=3.0.9 dsc30 cassandra-tools
+
+    $(sleep 30 &&
+     service cassandra stop &&
+    killall java;
+    killall cassandra;
+    rm -rf /var/lib/cassandra/*) $
+fi
+
+if [ $1 == "zookeeper" ]; then
+    apt-get install -y zookeeper zookeeperd
+    (service zookeeper stop &&
+     sleep 20 &&
+     service zookeeper stop) &
+fi
+
+if [ $1 == "rabbitmq" ]; then
+    apt-get install -y rabbitmq-server=3.3.5-1.1
+    service rabbitmq-server stop &
+fi
+
+if [ $1 == "postgresql" ]; then
+    apt-get install -y postgresql-9.4
+    (echo "host all all 0.0.0.0/0 md5" >> /etc/postgresql/9.4/main/pg_hba.conf &&
+    echo "listen_addresses = '*'" >> /etc/postgresql/9.4/main/postgresql.conf &&
+    sudo -u postgres psql --c "ALTER USER postgres WITH PASSWORD 'postgres';" &&
+    systemctl stop postgresql.service) &
+fi
\ No newline at end of file