PUMA(1)
π NAME π
okay so bestie, pumactl β that's the command line client for puma. that's the whole vibe. it's how you talk to your puma server without, like, touching it directly. iykyk β¨
πΈ USAGE πΈ
here's the shape of it, fr fr:
pumactl [options...] [commands]
and if you just wanna vibe-check it:
pumactl [-h | --help | -V | --version]
π COMMANDS π
these are the moves, bestie. pick one. π
haltβ halt the server. like, full stop. no notes.restartβ restart the server. iconic, classic, we love her.phased-restartβ restart the server but do it β¨gracefullyβ¨: it phases out the old workers while starting up new workers one at a time. no chaos, just vibes.startβ start the server. get her going.statsβ show stats about the server. the receipts, basically.statusβ show server status. is she okay? let's find out.stopβ stop the server. bye bestie π«Άreload-worker-directoryβ reload the worker directory. simple as that.gcβ start the garbage collector. she's cleaning up, periodt.gc-statsβ show information about the garbage collector. the cleanup receipts. π
β¨ OPTIONS β¨
the following options are available, and yes you need to know all of them, no skipping π:
-F,--config-filePATH β load the given path as a config file. feed her the file, she'll read it.-T,--control-tokenTOKEN β the TOKEN to use as authentication for the control server. it's the password, basically, so guard it.-C,--control-urlURL β the bind URL to use for the control server and app. useautoto use a temp unix server. > β οΈ this requires you to use a--control-token, and that token needs to be given with every request to the control server β liketoken=foo. no token, no entry, no cap.-p,--pidPID β define the TCP port to bind to. use-bfor more advanced options.-P,--pidfilePATH β use the given path as PID file. that's where the pid lives.-Q,--quietβ don't display messages. silence, but make it intentional. π€«-S,--statePATH β where the state file is. point her at it.-H,--helpβ show help. when in doubt, ask for help bestie, it's free.-V,--versionβ print the version information. so you know exactly what you're working with. π
π¦ EXAMPLES π¦
okay so here's the main character moment: create a control server, then use pumactl(1) to interact with the control server and restart puma. literally the whole point. β
puma --control-url tcp://127.0.0.1:9293 --control-token foo
pumactl --control-url 'tcp://127.0.0.1:9293' --control-token foo
restart
see how the token foo shows up both times? that's the vibe. π
π SEE ALSO π
puma(1)β the main character herself.
there is extensive documentation at <https://puma.io/puma/> and <https://github.com/puma/puma>. go read it, i'm begging π§
π AUTHOR π
this manual page was written by Daniel Leidert <dleidert@debian.org>, for the Debian GNU/Linux system (but may be used by others). king behavior honestly. π
and that's the whole page bestie β this is PUMA 3.12, dated January 2020, and it ate, no crumbs. slay π
ππ
π¦ where this page comes from
- debian bookworm: puma 5.6.5-3+deb12u1 Β· BSD-3-Clause
- debian bookworm: puma 5.6.5-3+deb12u2 Β· BSD-3-Clause
- debian trixie: puma 6.6.0-4 Β· BSD-3-Clause
- ubuntu jammy: puma 5.5.2-2ubuntu2 Β· BSD-3-Clause
- ubuntu noble: puma 6.4.2-4ubuntu4 Β· BSD-3-Clause
- ubuntu noble: puma 6.4.2-4ubuntu4.3 Β· BSD-3-Clause
- ubuntu questing: puma 6.6.0-4
- ubuntu resolute: puma 6.6.0-4build1 Β· BSD-3-Clause
- ubuntu stonking: puma 8.0.2-3build1 Β· BSD-3-Clause
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash on : a language model's rewrite of the original, under its terms