Skip to content
This repository


Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP

Simple library to run rails and rackup applications into an embedded Apache Tomcat

Fetching latest commit…

Cannot retrieve the latest commit at this time



Trinidad allows you to run a rails or rackup applications within an embedded Apache Tomcat container.

This project was initially called “Tomcat-rails” but due to legal issues with the ASF and the Tomcat trademark it has been renamed.


jgem install trinidad


Rails applications:

$ cd myrailsapp
$ jruby -S trinidad

Rack applications:

$ cd myrackapplication

$ jruby -S trinidad -r path_to_rackup/rackup_file

or if the name of the file is

$ jruby -S trinidad -r path_to_rackup

or if is in the base directory

$ jruby -S trinidad -r

or if is under the directory WEB-INF

$ jruby -S trinidad


Trinidad allows you to configure some parameters when the server is started from the command line, the following is a list of the currently supported options:

* -p, --port PORT             =>  port to bind to.
* -e, --env ENVIRONMENT       =>  rails environment.
* -c, --context CONTEXT       =>  application context path.
* --lib, --jars LIBS_DIR      =>  directory containing jars.
* --classes CLASSES_DIR       =>  directory containing classes.
* -r, --rackup [RACKUP_FILE]  =>  run a provided rackup file instead of a rails application, by default it's
* --public PUBLIC_DIR         =>  specify the public directory for your application, by default it's 'public'.
* -t, --threadsafe            =>  shortcut to work in threadsafe mode. Setting jruby_min_runtimes and jruby_max_runtimes to 1 in the configuration file the server behaves as the same way.
* -l, --load EXTENSION_NAME   =>  loads an extension to use its command line options.

The server can also be configured from a yaml file. If a file is not especified, the server tries to load the file config/trinidad.yml. Within this file you can add other options like jruby.min.runtimes(:jruby_min_runtimes) or jruby.max.runtimes(:jruby_max_runtimes).

jruby -S trinidad -f
jruby -S trinidad --config my_custom_configuration.yml

You can also specify a default web.xml to config your web application. By default the server tries to load the file config/web.xml but you can modify this path adding the option default_web_xml within your configuration file.

Other advanced options can be found in the wiki:


From the version 0.8.0 Trinidad allows to extend the server with more Tomcat features, here there is a list with the current available extensions:

You can find further information on how to write your own extension in the wiki:


Copyright © 2010 David Calavera<>. See LICENSE for details.

Something went wrong with that request. Please try again.