diff --git a/Vagrantfile b/Vagrantfile index c6ef0ab9..bc86a4c3 100644 --- a/Vagrantfile +++ b/Vagrantfile @@ -12,6 +12,48 @@ Vagrant.configure("2") do |config| config.vm.hostname = "mailinabox" config.vm.network "private_network", ip: "192.168.50.4" + # Forward required ports from host machine, in order to dispose + # the mailserver to the public network. + + # DNS Server + config.vm.network "forwarded_port", guest: 53, host: 53, protocol: "udp" + config.vm.network "forwarded_port", guest: 53, host: 53, protocol: "tcp" + + # SMTP + config.vm.network "forwarded_port", guest: 25, host: 25 + + # IMAP SSL + config.vm.network "forwarded_port", guest: 587, host: 587, protocol: "tcp" + + # IMAP4 SSL + config.vm.network "forwarded_port", guest: 993, host: 993, protocol: "tcp" + + # POP3 SSL + config.vm.network "forwarded_port", guest: 995, host: 995, protocol: "tcp" + + # Sieve + config.vm.network "forwarded_port", guest: 4190, host: 4190 + + # HTTPS/HTTP + # Hint: You can expose this to a different port if your host machine already + # has a webserver configured on default ports (e.g.: 11080 | 11443) + # @todo: Fix menu items if a custom port is selected to add the new ports + # to the routes. + config.vm.network "forwarded_port", guest: 80, host: 80, protocol: "tcp" + config.vm.network "forwarded_port", guest: 443, host: 443, protocol: "tcp" + + # Pyzor + config.vm.network "forwarded_port", guest: 24441, host: 24441, protocol: "udp" + + # Postfix + config.vm.network "forwarded_port", guest: 20025, host: 20025, protocol: "udp" + config.vm.network "forwarded_port", guest: 20025, host: 20025, protocol: "tcp" + + # Enable NatAliasMode to forward real ip addresses in log files + config.vm.provider "virtualbox" do |v| + v.customize ["modifyvm", :id, "--nataliasmode1", "proxyonly"] + end + 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