diff --git a/docs/process-management.md b/docs/process-management.md index 619ec8f60..7c24bf402 100644 --- a/docs/process-management.md +++ b/docs/process-management.md @@ -4,10 +4,38 @@ Dokku supports rudimentary process (really container) management via the `ps` pl ``` ps List processes running in app container(s) +ps:rebuildall Rebuild all apps +ps:rebuild Rebuild an app +ps:restartall Restart all deployed app containers +ps:restart Restart app container(s) +ps:scale = [=] Set how many processes of a given process to run ps:start Start app container(s) ps:stop Stop app container(s) -ps:restart Restart app container(s) -ps:restartall Restart all deployed app containers ``` *NOTE*: As of v0.3.14, `dokku deploy:all` in now deprecated by `ps:restartall` and will be removed in a future version. + + +## Scaling + +Dokku allows you to run multiple process types at different container counts. For example, if you had an app that contained 1 web app listener and 1 background job processor, dokku will, by default, spin up 1 container for each process type defined in the Procfile. If you wanted 2 job processors running simultaneously, you can modify this behavior in a few ways. + +## Include a DOKKU_SCALE file in your repo + +Dokku expects this file to contain one line for every process defined in your Procfile. Example: +``` +web=1 +worker=2 +``` + + +## Use the ps:scale command. Example: +``` +dokku ps:scale app_name web=1 worker=2 +``` +*NOTE*: Dokku will always use the DOKKU_SCALE file that ships with the repo to override any local settings. + + +## The web proctype + +Like Heroku, we handle the `web` proctype differently from others. The `web` proctype is the only proctype that will invoke custom checks as defined by a CHECKS file. It is also the only proctype that will be launched in a container that is either proxied via nginx or bound to an external port.