3 ROOT = File.dirname(File.absolute_path(__FILE__))
5 # Vagrantfile API/syntax version. Don't touch unless you know what you're doing!
6 VAGRANTFILE_API_VERSION = '2'
8 # Default env properties which can be overridden
10 # echo "ENV['PASSENGER_DOCKER_PATH'] ||= '../../phusion/passenger-docker' " >> ~/.vagrant.d/Vagrantfile
11 # echo "ENV['BASE_BOX_URL'] ||= 'd\:/dev/vm/vagrant/boxes/phusion/'" >> ~/.vagrant.d/Vagrantfile
12 BASE_BOX_URL = ENV['BASE_BOX_URL'] || 'https://oss-binaries.phusionpassenger.com/vagrant/boxes/latest/'
13 VAGRANT_BOX_URL = ENV['VAGRANT_BOX_URL'] || BASE_BOX_URL + 'ubuntu-14.04-amd64-vbox.box'
14 VMWARE_BOX_URL = ENV['VMWARE_BOX_URL'] || BASE_BOX_URL + 'ubuntu-14.04-amd64-vmwarefusion.box'
15 BASEIMAGE_PATH = ENV['BASEIMAGE_PATH' ] || '.'
16 PASSENGER_DOCKER_PATH = ENV['PASSENGER_PATH' ] || '../passenger-docker'
17 DOCKERIZER_PATH = ENV['DOCKERIZER_PATH'] || '../dockerizer'
20 wget -q -O - https://get.docker.io/gpg | apt-key add -
21 echo deb http://get.docker.io/ubuntu docker main > /etc/apt/sources.list.d/docker.list
23 apt-get install -q -y --force-yes lxc-docker
24 usermod -a -G docker vagrant
26 su - vagrant -c 'echo alias d=docker >> ~/.bash_aliases'
29 Vagrant.configure(VAGRANTFILE_API_VERSION) do |config|
30 config.vm.box = 'phusion-open-ubuntu-14.04-amd64'
31 config.vm.box_url = VAGRANT_BOX_URL
32 config.ssh.forward_agent = true
33 passenger_docker_path = File.absolute_path(PASSENGER_DOCKER_PATH, ROOT)
34 if File.directory?(passenger_docker_path)
35 config.vm.synced_folder passenger_docker_path, '/vagrant/passenger-docker'
37 baseimage_path = File.absolute_path(BASEIMAGE_PATH, ROOT)
38 if File.directory?(baseimage_path)
39 config.vm.synced_folder baseimage_path, "/vagrant/baseimage-docker"
41 dockerizer_path = File.absolute_path(DOCKERIZER_PATH, ROOT)
42 if File.directory?(dockerizer_path)
43 config.vm.synced_folder dockerizer_path, '/vagrant/dockerizer'
46 config.vm.provider :vmware_fusion do |f, override|
47 override.vm.box_url = VMWARE_BOX_URL
48 f.vmx['displayName'] = 'baseimage-docker'
51 if Dir.glob("#{File.dirname(__FILE__)}/.vagrant/machines/default/*/id").empty?
52 config.vm.provision :shell, :inline => $script
55 config.vm.network :private_network, ip: "192.168.33.10"
56 config.vm.network :forwarded_port, host: 80, guest: 8888