milter-experiment/Vagrantfile

49 lines
1.4 KiB
Plaintext
Raw Permalink Normal View History

# -*- mode: ruby -*-
# vi: set ft=ruby :
Vagrant.configure("2") do |config|
config.vm.box = "debian/buster64"
config.vm.synced_folder "./", "/vagrant", type: "rsync"
# Export postfix port 25 (guest) to port 2525 (host)
# This is useful for throwing swaks and other tools against postfix
config.vm.network "forwarded_port", guest: 25, host: 2525
config.vm.provision "shell", inline: <<-SHELL
# Give that vagrant box an apparently good FQDN
echo "local-vagrant.example.com" > /etc/hostname
echo "local-vagrant.example.com" > /etc/mailname
echo "127.0.1.2 local-vagrant.example.com local-vagrant" > /etc/hosts
hostnamectl set-hostname local-vagrant.example.com
# Basic preparations
apt-get update
# Install postfix
DEBIAN_FRONTEND=noninteractive apt-get install -y postfix
# Add milter to configuration
postconf smtpd_milters=inet:127.0.0.1:7777
postconf non_smtpd_milters=inet:127.0.0.1:7777
# Enable and launch postfix
systemctl enable postfix.service
systemctl start postfix.service
# Install swaks
DEBIAN_FRONTEND=noninteractive apt-get install -y swaks
# That's it
echo "That's it. We're set up. Enjoy your test environment."
SHELL
config.trigger.after :up do |t|
t.info = "rsync auto"
t.run = {inline: "vagrant rsync-auto"}
# If you want it running in the background switch these
#t.run = {inline: "bash -c 'vagrant rsync-auto bork &'"}
end
end