-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathVagrantfile
65 lines (53 loc) · 1.74 KB
/
Vagrantfile
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
# -*- mode: ruby -*-
# vi: set ft=ruby :
Vagrant.configure("2") do |config|
config.vm.box = "ubuntu/trusty64"
config.vm.box_url = "https://vagrantcloud.com/ubuntu/trusty64"
config.vm.hostname = "app"
# Machine name in vagrant status
config.vm.define "app" do |app|
end
config.vm.provider :virtualbox do |vb|
vb.name = "app"
end
# Required for NFS to work, pick any local IP
config.vm.network :private_network, ip: '192.168.221.20'
# Use NFS for shared folders for better performance
config.vm.synced_folder "./", "/var/www", :nfs => true
config.vm.provider :virtualbox do |v|
v.customize ["modifyvm", :id, "--natdnshostresolver1", "on"]
v.customize ["modifyvm", :id, "--memory", 512]
end
config.hostmanager.aliases = %w(app.local)
config.hostmanager.enabled = true
config.hostmanager.manage_host = true
config.hostmanager.ignore_private_ip = false
config.hostmanager.include_offline = true
config.hostmanager.ip_resolver = proc do |vm, resolving_vm|
if hostname = (vm.ssh_info && vm.ssh_info[:host])
`vagrant ssh -c "hostname -I"`.split()[1]
end
end
config.vm.provision :shell do |s|
s.path = "provision/server/install.sh"
end
config.vm.provision :shell do |s|
s.path = "provision/php/install.sh"
s.args = "/var/www app.local "
end
config.vm.provision :shell do |s|
s.path = "provision/git/install.sh"
end
config.vm.provision :shell do |s|
s.path = "provision/composer/install.sh"
s.args = "app /var/www "
end
config.vm.provision :shell do |s|
s.path = "provision/mysql/install.sh"
s.args = "db root /var/www "
end
config.vm.provision :shell do |s|
s.path = "provision/server/boot.sh"
s.args = "/var/www"
end
end