diff --git a/software/apache-frontend/common.cfg b/software/apache-frontend/common.cfg
index feb72bd0c91c557afb62ddddf89816ff84c22df0..2dfe547057dee59b1cbb0f429fe0fa640e67dcd7 100644
--- a/software/apache-frontend/common.cfg
+++ b/software/apache-frontend/common.cfg
@@ -1,9 +1,7 @@
 [buildout]
 extends =
-# dev Stuff
-  ../../component/git/buildout.cfg
-
   ../../stack/slapos.cfg
+  ../../component/git/buildout.cfg
   ../../component/dash/buildout.cfg
   ../../component/lxml-python/buildout.cfg
   ../../component/apache/buildout.cfg
@@ -15,7 +13,10 @@ extends =
   ../../component/rdiff-backup/buildout.cfg
   ../../component/trafficserver/buildout.cfg
 
-# Monitoring stack
+  ../../component/pycurl/buildout.cfg
+  ../../component/nginx/buildout.cfg
+  ../../stack/nodejs.cfg
+# Monitoring stack (keep on bottom)
   ../../stack/monitor/buildout.cfg
 
 parts +=
@@ -33,6 +34,10 @@ parts +=
   dcron
   logrotate
   rdiff-backup
+  nginx-push-stream-output
+  npm-modules
+  proxy-by-url
+  http-proxy
 
 [slapos-toolbox]
 recipe = zc.recipe.egg
@@ -48,7 +53,17 @@ scripts =
 [eggs]
 recipe = zc.recipe.egg
 eggs =
+  ${python-cffi:egg}
+  ${python-cryptography:egg}
+  ${lxml-python:egg}
+  websockify
+  slapos.cookbook
+  slapos.toolbox
+  erp5.util
+  cns.recipe.symlink
+  collective.recipe.template
   plone.recipe.command
+  ${pycurl:egg}
 
 [check-recipe]
 recipe = plone.recipe.command
@@ -182,3 +197,34 @@ location = ${buildout:parts-directory}/${:_buildout_section_name_}
 filename = storage.config.jinja2
 download-only = true
 mode = 0644
+
+
+# Migrated from KVM recipe
+[http-proxy]
+# https://github.com/nodejitsu/node-http-proxy
+recipe = slapos.recipe.build:download-unpacked
+# use upstream when merged
+url = https://lab.nexedi.com/nexedi/node-http-proxy/repository/archive.zip?ref=a5d3aff428ee8d840068b439f6ce121077f1144f
+md5sum = 65602466066444c718215de41f546585
+
+[proxy-by-url]
+# https://github.com/dominictarr/proxy-by-url
+recipe = slapos.recipe.build:download-unpacked
+# use upstream when merged
+url = https://lab.nexedi.com/nexedi/proxy-by-url/repository/archive.zip?ref=59fcb11a3e00c45b4b0362e76f29653abb313072
+md5sum = c383e0c5ff31b56f7987466e8304c941
+
+[npm-modules]
+recipe = plone.recipe.command
+destination = ${buildout:parts-directory}/${:_buildout_section_name_}
+location = ${buildout:parts-directory}/${:_buildout_section_name_}
+command =
+  export HOME=${:location};
+  rm -fr ${:destination} &&
+  mkdir -p ${:destination} &&
+  cd ${:destination} &&
+  ${nodejs:location}/bin/node ${nodejs:location}/bin/npm install colors@0.6.0-1 &&
+  ${nodejs:location}/bin/node ${nodejs:location}/bin/npm install socket.io@0.8.7 &&
+  ${nodejs:location}/bin/node ${nodejs:location}/bin/npm install socket.io-client@0.8.7 &&
+  ${nodejs:location}/bin/node ${nodejs:location}/bin/npm install optimist@0.3.1 &&
+  ${nodejs:location}/bin/node ${nodejs:location}/bin/npm install pkginfo@0.2.3