Simple web app to host a catalog of vagrant boxes. A simplified Vagrant Cloud to be run on your private network.
Switch branches/tags
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Failed to load latest commit information.
src/Vube/VagrantCatalog Show metadata output in a more readable format Nov 10, 2014
templates Show metadata output in a more readable format Nov 10, 2014
test Don't list boxes as sub-directories unless they contain nested boxes. Nov 10, 2014
.coveralls.yml Initial import May 2, 2014
.gitignore Added basic catalog index May 9, 2014
.htaccess Added basic catalog index May 9, 2014
LICENSE Initial import May 2, 2014 Added link to example. Mar 10, 2015
config.php.dist Fixed relative download-url-prefix config and added a test to catch i… May 9, 2014
index.php Do not send output for HEAD requests. May 3, 2014
phpdoc.xml Initial import May 2, 2014

Vagrant Catalog

Build Status Coverage Status Latest Stable Version Dependency Status

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 /path/to/docroot
$ cd /path/to/docroot
$ composer update

For example on a typical Debian server you may clone it into /var/www/


$ 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:

  - files:
    - your_company:
      - base_box:
        - metadata.json
      - devel_box:
        - metadata.json
  - 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