Lyte's Blog

Bad code, bad humour and bad hair.

VM Build Automation With Vagrant and VeeWee

So I’ve finally done my second talk at a LUG (Melbourne Linux Users Group to be precise), I mainly put my hand up to do a talk because we were short this month and I wanted some practice. I decided to go the route of trying to generate a lot of discussion and demoing some of the stuff, rather than preparing and running through a linear set of slides. All in all, it seemed to go fairly well.

I decided to talk about Vagrant and VeeWee. I don’t claim to be any kind of expert, but I have been tinkering and thought maybe I could stir a little more local interest in these types of automation tools.


Talk audio is available (50MB OGG).

For the most part the videos below were what was demoed during the talk, but there are some questions discussed during the talk that may be helpful (and some that simply will not make sense if you weren’t there :p).


First up I go through  a standard Vagrant Init process, Vagrant is already installed but otherwise it just demos the minimum number of steps to get a VM up and running, then running something dubious from the internets and returning the system to a clean state.

apt-cacher-ng demo - shows what should now be the standard steps for trialling something with Vagrant (git clone, vagrant up). In this case apt-cacher-ng, which can be used to speed up system building by caching repositories of various types when you are rebuilding similar machines quite often (

Spree Install - a nice complex rails app that grabs things off all sorts of places on the internet, sped up slight by using the apt-cacher-ng proxy above, but of course with Vagrant we still just “vagrant up” (

VeeWee build of a Vagrant basebox with a wrapper script (