Skip to content
Application to make it easy to box vagrant VMs for use as a base
Branch: master
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Type Name Latest commit message Commit time
Failed to load latest commit information.

Vagrant Boxer

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.

A complete example can be found here: vagrant-boxer-example


  • Automatically package up Virtual Machines into reusable base boxes for use by other Vagrant configs.

  • Automatically create/update vagrant-catalog metadata.json files so you can run your own private internal Vagrant Cloud.

  • Automatically upload VM box images and metadata files to your file server.


To install, clone this repository and put it wherever you want it to live on your machine.

$ git clone
$ cd vagrant-boxer
$ composer update

Then you can optionally symlink something like /usr/local/bin/boxer.php to this so it will run from your path just by typing boxer.php

$ sudo ln -sf /path/to/vagrant-boxer/boxer.php /usr/local/bin/boxer.php

Example Usage

vagrant-boxer works either from command line switches or using a boxer.json config file. Here are examples of both.

Usage via command line

Note that the {BASENAME} below should be substituted with the name of the VM in your VirtualBox list.

$ boxer.php --verbose --base "{BASENAME}" --boxer-id "your-company/{BASENAME}"  --major-version 1.0 --url-prefix "" --upload-base-uri ""

Note: If you don't have rsync on your system, you can set the --upload-method scp flags on the command line to use scp instead. You can pass any command here that takes arguments in the form command src1..srcN destination

Usage via boxer.json

Here again, {BASENAME} should be substituted with the name of the VM in your VirtualBox list.

Running boxer.php using boxer.json

$ boxer.php --verbose --config-file /path/to/boxer.json

Contents of boxer.json

    "vm-name": "{BASENAME}",
    "boxer-id": "your-company/{BASENAME}",
    "version": "1.0",
    "download-url-prefix": "",
    "upload-base-uri": ""


  • PHP 5.3.2+
  • Composer
You can’t perform that action at this time.