39 lines
1.4 KiB
Ruby
39 lines
1.4 KiB
Ruby
# -*- mode: ruby -*-
|
|
# vi: set ft=ruby :
|
|
|
|
Vagrant.configure("2") do |config|
|
|
config.vm.box = "ubuntu14.04"
|
|
config.vm.box_url = "http://cloud-images.ubuntu.com/vagrant/trusty/current/trusty-server-cloudimg-amd64-vagrant-disk1.box"
|
|
|
|
if Vagrant.has_plugin?("vagrant-cachier")
|
|
# Configure cached packages to be shared between instances of the same base box.
|
|
# More info on http://fgrehm.viewdocs.io/vagrant-cachier/usage
|
|
config.cache.scope = :box
|
|
end
|
|
|
|
# Network config: Since it's a mail server, the machine must be connected
|
|
# to the public web. However, we currently don't want to expose SSH since
|
|
# the machine's box will let anyone log into it. So instead we'll put the
|
|
# machine on a private network.
|
|
config.vm.hostname = "mailinabox.lan"
|
|
config.vm.network "private_network", ip: "192.168.50.4"
|
|
|
|
config.vm.provision :shell, :inline => <<-SH
|
|
# Set environment variables so that the setup script does
|
|
# not ask any questions during provisioning. We'll let the
|
|
# machine figure out its own public IP.
|
|
#
|
|
# Please note: NONINTERACTIVE=1 mode means that you'll automatically agree
|
|
# to Let's Encrypt's ACME Subscriber Agreement.
|
|
export NONINTERACTIVE=1
|
|
export PUBLIC_IP=auto
|
|
export PUBLIC_IPV6=auto
|
|
export PRIMARY_HOSTNAME=auto
|
|
#export SKIP_NETWORK_CHECKS=1
|
|
|
|
# Start the setup script.
|
|
cd /vagrant
|
|
setup/start.sh
|
|
SH
|
|
end
|