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


November 2021 puma version 4.3.6