Fetching contributors…
Cannot retrieve contributors at this time
79 lines (49 sloc) 3.56 KB


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

Mail list: Bug tracker:


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   =>  load an extension to use its command line options.
* --address HOST              =>  set the server host.
* -g, --log LEVEL             =>  set the log level, default INFO.
* --apps APPS_BASE_DIRECTORY  =>  set the applications base directory.

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.