Skip to content

Instantly share code, notes, and snippets.

@cdl
Created May 15, 2013 14:15
Show Gist options
  • Save cdl/5584287 to your computer and use it in GitHub Desktop.
Save cdl/5584287 to your computer and use it in GitHub Desktop.
# -*- mode: ruby -*-
# vi: set ft=ruby :
Vagrant::Config.run do |config|
# All Vagrant configuration is done here. The most common configuration
# options are documented and commented below. For a complete reference,
# please see the online documentation at vagrantup.com.
# Every Vagrant virtual environment requires a box to build off of.
config.vm.box = "precise64"
# The url from where the 'config.vm.box' box will be fetched if it
# doesn't already exist on the user's system.
config.vm.box_url = "http://files.vagrantup.com/precise64.box"
# Boot with a GUI so you can see the screen. (Default is headless)
# config.vm.boot_mode = :gui
# Assign this VM to a host-only network IP, allowing you to access it
# via the IP. Host-only networks can talk to the host machine as well as
# any other machines on the same network, but cannot be accessed (through this
# network interface) by any external networks.
# config.vm.network :hostonly, "192.168.33.10"
# Assign this VM to a bridged network, allowing you to connect directly to a
# network using the host's network device. This makes the VM appear as another
# physical device on your network.
# config.vm.network :bridged
# Forward a port from the guest to the host, which allows for outside
# computers to access the VM, whereas host only networking does not.
# config.vm.forward_port 80, 8080
config.vm.forward_port 8000, 8888
# Share an additional folder to the guest VM. The first argument is
# an identifier, the second is the path on the guest to mount the
# folder, and the third is the path on the host to the actual folder.
# config.vm.share_folder "v-data", "/vagrant_data", "../data"
# Upgrade Ruby to 1.9.1 from built-in 1.8
config.vm.provision :shell, :inline => "sudo apt-get update"
config.vm.provision :shell, :inline => "sudo apt-get -y install build-essential ruby1.9.1-full"
# Upgrade Chef automatically
config.vm.provision :shell, :inline => "gem install --no-ri --no-rdoc chef"
# Enable provisioning with chef solo, specifying a cookbooks path, roles
# path, and data_bags path (all relative to this Vagrantfile), and adding
# some recipes and/or roles.
config.vm.provision :chef_solo do |chef|
chef.cookbooks_path = %w{cookbooks site-cookbooks}
chef.add_recipe "postgresql::server_debian"
chef.add_recipe "postgresql::ruby"
chef.add_recipe "redis::server"
chef.add_recipe "git"
chef.add_recipe "mercurial"
chef.add_recipe "emacs"
chef.add_recipe "vim"
chef.add_recipe "nano"
chef.add_recipe "gswd::database"
chef.json = {
:postgresql => {
:listen_addresses => '*',
:password => {:postgres => "gswd"}
},
:redis => {
:config => {
:listen_addr => '0.0.0.0'
},
:install_type => 'source',
:source => {
:version => '2.4.17',
},
},
}
end
end
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment