puma - Man Page

manual page for puma version 4.3.6


puma <options> <rackup file>

-b, --bind URI

URI to bind to (tcp://, unix://, ssl://)

-C, --config PATH

Load PATH as a config file

--control-url URL

The bind url to use for the control server. Use 'auto' to use temp unix server

--control URL

DEPRECATED alias for --control-url

--control-token TOKEN

The token to use as authentication for the control server

-d, --daemon

Daemonize the server into the background


Log lowlevel debugging information

--dir DIR

Change to DIR before starting

-e, --environment ENVIRONMENT

The environment to run the Rack app on (default development)

-I, --include PATH

Specify $LOAD_PATH directories

-p, --port PORT

Define the TCP port to bind to Use -b for more advanced options

--pidfile PATH

Use PATH as a pidfile


Preload the app. Cluster mode only


Prune out the bundler env if possible

--extra-runtime-dependencies GEM1,GEM2

Defines any extra needed gems when using --prune-bundler

-q, --quiet

Do not log requests internally (default true)

-v, --log-requests

Log requests as they occur

-R, --restart-cmd CMD

The puma command to run during a hot restart Default: inferred

-S, --state PATH

Where to store the state details

-t, --threads INT

min:max threads to use (default 0:16)


Run the app in raw TCP mode instead of HTTP mode


Enable early hints support

-V, --version

Print the version information

-w, --workers COUNT

Activate cluster mode: How many worker processes to create

--tag NAME

Additional text to display in process listing

--redirect-stdout FILE

Redirect STDOUT to a specific file

--redirect-stderr FILE

Redirect STDERR to a specific file


Append to redirected files

-h, --help

Show help


September 2020 puma version 4.3.6