Join GitHub today
GitHub is home to over 28 million developers working together to host and review code, manage projects, and build software together.Sign up
Server Options for JRuby Applications
Standard Java Servers
Most people deploy JRuby applications using typical Java application servers like Tomcat or JBoss. When using these servers, the usual solution is Warbler. Warbler bundles up any Rack-based application into a Java "Web Application aRchive" (WAR) file, which can then be deployed on any web application server.
The following is a list of servers known to work with JRuby. It is not meant to be exhaustive (any Java Servlet API >= 2.5 compliant server should work).
- Vert.x - An asynchronous application platform on the JVM for writing high performance web enabled applications. Vert.x is a polyglot platform and lets you write your applications in multiple JVM languages including Ruby (JRuby).
The usual Ruby way to run a server is to launch a small command-line server pointing at the application directory. Some of the standard Ruby servers work with JRuby, and an additional set of servers have been built specifically for JRuby by either wrapping an existing server or by simply wrapping Java libraries.
The following is a list of embedded/micro/commandline servers for JRuby. If you don't see your favorite here, add it!
- Trinidad - Web server for Rails/Rack built upon JRuby::Rack and Tomcat.
- Mizuno - Jetty-powered running shoes for JRuby/Rack.
- Fishwife - Server based on Jetty 7.x or 9.x
TorqueBox - An all-in-one environment based on JBoss AS.
- TorqueBox Lite - A smaller, web-only version of TorqueBox.
- Puma - A server written in Ruby, wraps the Ragel parser (from Mongrel).
- Jubilee - A server based on Vertx
Other Servers (Young Projects)
- Kirk - Another Jetty wrapper, but less "micro" with redeploy and multiple app support.
- Aspen - A server based on Netty, a Java NIO framework.
- Mongrel - The classic Ruby server, no longer maintained.
- GlassFish gem - A gem-borne embedded version of GlassFish, now no longer maintained by Oracle.
Application Hosting Services
There are also several cloud and hosting services that either directly support JRuby or implicitly support it by having general Java webapp support.
The following services are known to work. Other webapp services should generally support JRuby applications (via Warbler) as well.
- Heroku - Direct support.
- Google AppEngine - Indirect support, but a community exists around JRuby deployment
- Amazon Elastic BeanStalk - An elastic Java webapp cloud from Amazon based on Tomcat.
- OpenShift by Red Hat - Several possibilities
- BitNami - Provides free Amazon Cloud Images for JRuby Stack which include MySQL, Tomcat, Java, JRuby and the commonly used gems (including warbler). BitNami Cloud Hosting is an optional commercial service with a free developer plan that provides scheduled backups, monitoring and customization for JRuby projects and dozens of other open source app and frameworks.