Skip to content
A shrinkwrapper for Vagrant boxes into executable Java Jars.

Initial whack at "projectizing" Patrick Debois' idea for packaging Vagrant boxes as deliverable Java Jar artifacts, to include a web-based admin UI for managing instances.


  • VirtualBox
  • JRuby
  • rake and bundler


$ git clone


$ bundle install


Configure your base box environment by editing the lib/Vagrantfile appropriately. The default is this box:


$ rake


$ java -jar wanton.jar

The first time run will take a bit to fetch the box from S3, and launch. Hopefully you see something like this:

[Winstone 2011/03/31 20:45:31] - Beginning extraction from war file
[Winstone 2011/03/31 20:45:33] - No webapp classes folder found -
[webapp 2011/03/31 20:45:33] - jruby 1.6.0 (ruby 1.8.7 patchlevel 330)
(2011-03-15 f3b6154) (Java HotSpot(TM) 64-Bit Server VM 1.6.0_24)
[Winstone 2011/03/31 20:45:40] - HTTP Listener started: port=8080
[Winstone 2011/03/31 20:45:40] - AJP13 Listener started: port=8009
[Winstone 2011/03/31 20:45:40] - Winstone Servlet Engine v0.9.10

Then from a browser/client hit http://localhost:8080/up and you should see this in the console:

running: controlPort=disabled
we are loading the config file
we are uping the machine, please wait...

And when it finishes loading:

[webapp 2011/03/31 20:47:52] - 0:0:0:0:0:0:0:1%0 -  [31/Mar/2011 20:47:52] "GET /up " 200 9 73.6910

[webapp 2011/03/31 20:47:53] - 0:0:0:0:0:0:0:1%0 -  [31/Mar/2011 20:47:53] "GET /favicon.ico " 404 18 0.0230

Then, in the browser you see:

We are up


$ rake clobber

Fork Away

To create your boxes! This project isn't meant to be configurable, just re-used to fabricate your own JAR-based deliverable VMs. It is expected that you'd want to do that anyway by populating the Vagrantfile with your OS and application configuration apparatus (Puppet or Chef).

Something went wrong with that request. Please try again.