2013-06-10 17:29:24 +02:00
|
|
|
# -*- mode: ruby -*-
|
|
|
|
|
# vi: set ft=ruby :
|
|
|
|
|
|
2014-07-16 15:14:33 +03:00
|
|
|
BOX_NAME = ENV["BOX_NAME"] || "trusty"
|
|
|
|
|
BOX_URI = ENV["BOX_URI"] || "https://cloud-images.ubuntu.com/vagrant/trusty/current/trusty-server-cloudimg-amd64-vagrant-disk1.box"
|
2014-12-23 23:43:11 -08:00
|
|
|
BOX_MEMORY = ENV["BOX_MEMORY"] || "1024"
|
2013-06-10 18:56:43 -07:00
|
|
|
DOKKU_DOMAIN = ENV["DOKKU_DOMAIN"] || "dokku.me"
|
2013-06-10 17:29:24 +02:00
|
|
|
DOKKU_IP = ENV["DOKKU_IP"] || "10.0.0.2"
|
2013-10-14 19:41:53 -03:00
|
|
|
PREBUILT_STACK_URL = File.exist?("#{File.dirname(__FILE__)}/stack.tgz") ? 'file:///root/dokku/stack.tgz' : nil
|
|
|
|
|
|
|
|
|
|
make_cmd = "make install"
|
|
|
|
|
if PREBUILT_STACK_URL
|
|
|
|
|
make_cmd = "PREBUILT_STACK_URL='#{PREBUILT_STACK_URL}' #{make_cmd}"
|
|
|
|
|
end
|
2013-06-10 17:29:24 +02:00
|
|
|
|
|
|
|
|
Vagrant::configure("2") do |config|
|
2015-01-11 18:39:12 -05:00
|
|
|
config.ssh.forward_agent = true
|
|
|
|
|
|
2013-06-10 17:29:24 +02:00
|
|
|
config.vm.box = BOX_NAME
|
|
|
|
|
config.vm.box_url = BOX_URI
|
2013-07-16 00:47:57 -07:00
|
|
|
config.vm.synced_folder File.dirname(__FILE__), "/root/dokku"
|
2013-10-14 19:41:53 -03:00
|
|
|
|
2013-06-10 17:29:24 +02:00
|
|
|
config.vm.provider :virtualbox do |vb|
|
|
|
|
|
vb.customize ["modifyvm", :id, "--natdnshostresolver1", "on"]
|
2013-11-03 13:09:32 -05:00
|
|
|
# Ubuntu's Raring 64-bit cloud image is set to a 32-bit Ubuntu OS type by
|
|
|
|
|
# default in Virtualbox and thus will not boot. Manually override that.
|
|
|
|
|
vb.customize ["modifyvm", :id, "--ostype", "Ubuntu_64"]
|
2014-02-15 17:06:39 -06:00
|
|
|
vb.customize ["modifyvm", :id, "--memory", BOX_MEMORY]
|
2013-06-10 17:29:24 +02:00
|
|
|
end
|
2013-10-14 19:41:53 -03:00
|
|
|
|
2015-01-12 00:07:40 -05:00
|
|
|
config.vm.define "empty", autostart: false
|
|
|
|
|
|
2015-01-11 18:39:12 -05:00
|
|
|
config.vm.define "dokku", primary: true do |vm|
|
|
|
|
|
vm.vm.network :forwarded_port, guest: 80, host: 8080
|
|
|
|
|
vm.vm.hostname = "#{DOKKU_DOMAIN}"
|
|
|
|
|
vm.vm.network :private_network, ip: DOKKU_IP
|
|
|
|
|
vm.vm.provision :shell, :inline => "apt-get -qq -y install git > /dev/null && cd /root/dokku && #{make_cmd}"
|
|
|
|
|
vm.vm.provision :shell, :inline => "cd /root/dokku && make dokku-installer"
|
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
config.vm.define "dokku-deb", autostart: false do |vm|
|
|
|
|
|
vm.vm.network :forwarded_port, guest: 80, host: 8080
|
|
|
|
|
vm.vm.hostname = "#{DOKKU_DOMAIN}"
|
|
|
|
|
vm.vm.network :private_network, ip: DOKKU_IP
|
|
|
|
|
vm.vm.provision :shell, :inline => "cd /root/dokku && make install-from-deb"
|
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
config.vm.define "build", autostart: false do |vm|
|
|
|
|
|
vm.vm.provision :shell, :inline => "cd /root/dokku && make deb-all"
|
|
|
|
|
end
|
2013-06-10 17:29:24 +02:00
|
|
|
end
|