# -*- mode: ruby -*-
# vi: set ft=ruby :

Vagrant::configure(2) do |config|
  #####################
  # Box Configuration #
  #####################

  config.vm.box = "ubuntu/trusty64"
  config.vm.boot_timeout = 600

  config.vm.provider "virtualbox" do  |v|
    v.memory = 2048
    v.cpus = 2
    v.customize ["modifyvm", :id, "--ioapic", "on"]
    v.customize ['modifyvm', :id, '--natdnshostresolver1', 'on']
    v.customize ["modifyvm", :id, "--natdnsproxy1", "on"]
    v.customize ['modifyvm', :id, '--nictype1', 'virtio']
  end

  ###################
  # Port Forwarding #
  ###################

  config.vm.network "private_network", type: "dhcp"
  
  #config.vm.network :forwarded_port, host: 8080, guest: 80      # nginx
  #config.vm.network :forwarded_port, host: 13306, guest: 3306   # mysql
  #config.vm.network :forwarded_port, host: 2121, guest: 21      # ftp
  config.vm.network :forwarded_port, host: 15432, guest: 5432   # mongo
  config.vm.network :forwarded_port, host: 5000, guest: 5000      # dotnet

  config.vm.synced_folder "../", "/MVCWeather", type: "nfs"
  config.vm.synced_folder ".", "/vagrant", disabled: true

  ################
  # Provisioners #
  ################

  provisioners = Dir["./provisioners/*"].sort;
  provisioners.each { |provisioner| config.vm.provision :shell, path: provisioner }

end
