Setting up development environments is a nightmare to most of web developers. But what can we do? It’s a part of our work. We need different setups and tools for different projects, we also need separate environments for development, testing, etc. Usually, it ends up with a big mess - bunch of web servers, DB servers, message brokers and other stuff running on your computer. Things can get even worse when working in teams. Sounds familiar? What if it would be possible to have isolated, portable environments which could be set up within several terminal commands? Actually, it is easily achievable with Vagrant and Chef. In this tutorial we will cover setting up a virtual environment running Node, MongoDB and Express framework on it using Vagrant and Chef.