Application to manage boxing up Vagrant VMs to be used as base boxes for use in private box distribution systems.
You can use vagrant-boxer to package up the Vagrant boxes and keep their metadata updated, then upload the files to a server that is running vagrant-catalog.
vagrant-catalog is a simple HTTP interface to your collection of Vagrant boxes that allows you to browse the boxes
you've created and returns metadata to Vagrant so you can use commants like vagrant box outdated
,
vagrant box update
, etc, on your own boxes.
A complete example can be found here: vagrant-boxer-example
- Simple vagrant catalog browser
- Integrates easily with Vagrantfile
- Shows you how to add each box to your Vagrantfile
To install, clone this repository into your web server's docroot, or a sub-directory thereof.
Then, run composer update
$ git clone https://github.com/vube/vagrant-catalog /path/to/docroot
$ cd /path/to/docroot
$ composer update
For example on a typical Debian server you may clone it into /var/www/vagrant.yourdomain.com
$ cd /path/to/docroot
$ cp config.php.dist config.php
$ edit config.php
The default configuration is probably OK for most installations. It assumes are running in the
docroot of your virtualhost, and that you are storing files in the files
sub-directory.
Once you're set up, you need to actually install your Vagrant base boxes into the files
sub-directory.
For example your docroot may look like this:
docroot:
- files:
- your_company:
- base_box:
- metadata.json
- your_company-base_box-1.0.0-virtualbox.box
- devel_box:
- metadata.json
- your_company-devel_box-1.0.0-virtualbox.box
- config.php
- index.php
In the above example, there are 2 Vagrant boxes, named your_company/base_box
and your_company/devel_box
.
The *.box
files and the metadata.json
files should be created by
vagrant-boxer
and then you should have uploaded them to this location.
- A web server (Apache or nginx)
- PHP 5.3.7+
- Composer