Creating your own base box for vagrant is a great thing to do, you get to undestand exactly what is on that box and to choose exactly what base OS you use.
After all one of the big draws of vagrant is keeping your dev environment close to what production looks like - and for that you need to know what is in the base box.
When I first started using vagrant I wrote a post How to build a Centos 6 base Box for vagrant whcih details the manual steps needed. At the time I was busy learning puppet, vagrant and related tools - veewee was just one tool too many and a manual build seemed the best way to get my head around what a base box was.
While the base box isn’t something I have needed to repeat much, it is beneficial to update the base image from time to time and here veewee is brilliant. It also makes shareing the reponnsbibility for the base box within a team easy.
Here’s what I did
- fork https://github.com/jedi4ever/veewee (in my case to a private repo)
- check that out
- install veewee according to its install notes
This told me that the template I wanted was CentOS-6.5-x86_64-minimal
Now I made some edits to customise the base box how I wanted
1 2 3
add to my local vagrant so I can test
Now I can copy the base box to a team-accessible server
And push my custom definition to my veewee fork so anyone from the team can build an updated box.
1 2 3 4 5