Vagrant.configure(2) do |config| config.vm.provider :virtualbox do |vb| vb.memory = 2048 vb.cpus = 8 end config.vm.box = "boxcutter/ubuntu1604" config.vm.provider :virtualbox do |vb| vb.name = "backrest-test" end # Provision the VM config.vm.provision "shell", inline: <<-SHELL # Install Docker apt-get update apt-get install -y apt-transport-https ca-certificates apt-key adv --keyserver hkp://p80.pool.sks-keyservers.net:80 --recv-keys 58118E89F3A912897C070ADBF76221572C52609D echo 'deb https://apt.dockerproject.org/repo ubuntu-xenial main' > /etc/apt/sources.list.d/docker.list apt-get update apt-get install -y linux-image-extra-$(uname -r) apt-get install -y docker-engine service docker start sudo usermod -aG docker vagrant # Install Perl modules apt-get install -y libdbd-pg-perl libxml-checker-perl libperl-critic-perl # Install additional modules apt-get install -y vim htop # Install Texlive mkdir /root/texlive wget -q -O - http://mirror.hmc.edu/ctan/systems/texlive/tlnet/install-tl-unx.tar.gz \ | tar zxv -C /root//texlive --strip-components=1 echo "collection-basic 1" >> /root/texlive/texlive.profile echo "collection-latex 1" >> /root/texlive/texlive.profile /root/texlive/install-tl -profile=/root/texlive/texlive.profile echo 'PATH=/usr/local/texlive/2016/bin/x86_64-linux:$PATH' >> /etc/profile echo 'export PATH' >> /etc/profile /usr/local/texlive/2016/bin/x86_64-linux/tlmgr install caption xcolor listings parskip helvetic ltablex titlesec \ epstopdf courier sectsty pgf ms apt-get install -y ghostscript # Create backrest user and postgres group groupadd -g5000 postgres adduser --uid=5001 --ingroup=postgres --disabled-password --gecos "" backrest # Make postgres the primary group for vagrant user (and preserve vagrant group) usermod -g postgres vagrant usermod -a -G vagrant vagrant # Build VM images rm -f /backrest/test/.vagrant/docker/* sudo su - vagrant -c '/backrest/test/test.pl --vm-build' SHELL # Don't share the default vagrant folder config.vm.synced_folder ".", "/vagrant", disabled: true # Mount backrest path for testing config.vm.synced_folder "..", "/backrest" end