DevOps Zone is brought to you in partnership with:

Gary Sieling is a software developer interested in dev-ops, database technologies, and machine learning. He has a computer science degree from the Rochester Institute of Technology. He has worked on many products in the legal and regulatory industries, having worked on and supported several data warehousing applications. Gary is a DZone MVB and is not an employee of DZone and has posted 62 posts at DZone. You can read more from them at their website. View Full User Profile

Installing CouchDB on a VirtualBox instance with Chef and Vagrant

11.20.2012
| 5134 views |
  • submit to reddit

This assumes you’ve already installed Virtualbox and configured a base VM.

mkdir cookbooks
cd cookbooks
git clone https://github.com/opscode-cookbooks/apt
git clone https://github.com/opscode-cookbooks/erlang.git
git clone https://github.com/opscode-cookbooks/couchdb.git
cd ..
mkdir vm
cd vm
vagrant init
vi Vagrantfile

Insert the following lines before the last line “end”, like so:

 config.vm.provision :chef_solo do |chef|
     chef.cookbooks_path = "../cookbooks"
     chef.add_recipe("apt")
     chef.add_recipe("couchdb")
 end

Exit vi (:q) and run the following:

vagrant up

After several minutes your virtual environment will be built. Once this is done, you can SSH into the machine (password is vagrant):

ssh vagrant@localhost -p 2222

Then see that the couchdb service is installed:

ls /etc/init.d/couch*

The reason you need apt is to force “apt-update” prior to running the later commands. Erlang is a pre-requisite for couchdb, but Chef will just pick that up and install it. If you run into any errors, you may need to change or download the base box.



Published at DZone with permission of Gary Sieling, author and DZone MVB. (source)

(Note: Opinions expressed in this article and its replies are the opinions of their respective authors and not those of DZone, Inc.)