Skip to content
Simple library to run rails and rackup applications into an embedded Apache Tomcat
Fetching latest commit...
Cannot retrieve the latest commit at this time.
Failed to load latest commit information.



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.

Something went wrong with that request. Please try again.