Stay organized with collectionsSave and categorize content based on your preferences.
Use aProcfileto define the process that is invoked when a container starts.
TheProcfilecan override the default start process for any language
type. Procfile support is provided by theentrypoint buildpack.
Procfile name and location
TheProcfileis always a plain text file without a file extension.
Google Cloud's buildpacks searches for a file namedProcfileat the root folder
of the project. TheProcfilemust live in your project's root directory and
cannot be placed anywhere else.
Procfile format
AProcfiledeclares its process types on individual lines, each with the following format:
PROCESS_TYPE:COMMAND
Replace:
PROCESS_TYPEwith an alphanumeric name for your command, such
dasweb,workerandcustom.
COMMANDindicates the command that every process type should execute on startup, such asgunicorn -b :$PORT main:app.
[[["Easy to understand","easyToUnderstand","thumb-up"],["Solved my problem","solvedMyProblem","thumb-up"],["Other","otherUp","thumb-up"]],[["Hard to understand","hardToUnderstand","thumb-down"],["Incorrect information or sample code","incorrectInformationOrSampleCode","thumb-down"],["Missing the information/samples I need","missingTheInformationSamplesINeed","thumb-down"],["Other","otherDown","thumb-down"]],["Last updated 2025-09-04 UTC."],[[["\u003cp\u003eA \u003ccode\u003eProcfile\u003c/code\u003e defines the process initiated when a container starts, overriding default language-specific start processes.\u003c/p\u003e\n"],["\u003cp\u003eThe \u003ccode\u003eProcfile\u003c/code\u003e is a plain text file without an extension, named \u003ccode\u003eProcfile\u003c/code\u003e.\u003c/p\u003e\n"],["\u003cp\u003eIt must be located in the root directory of the project.\u003c/p\u003e\n"],["\u003cp\u003eEach line in the \u003ccode\u003eProcfile\u003c/code\u003e defines a process type and its corresponding startup command using the format \u003ccode\u003ePROCESS_TYPE: COMMAND\u003c/code\u003e.\u003c/p\u003e\n"],["\u003cp\u003e\u003ccode\u003ePROCESS_TYPE\u003c/code\u003e is an alphanumeric name for the command, and \u003ccode\u003eCOMMAND\u003c/code\u003e specifies the executable to run at startup.\u003c/p\u003e\n"]]],[],null,["# About Procfiles\n\nUse a `Procfile` to define the process that is invoked when a container starts.\nThe `Procfile` can override the default start process for any language\ntype. Procfile support is provided by the [entrypoint buildpack](https://github.com/GoogleCloudPlatform/buildpacks/tree/main/cmd/config/entrypoint).\n\nProcfile name and location\n--------------------------\n\nThe `Procfile` is always a plain text file without a file extension.\n\nGoogle Cloud's buildpacks searches for a file named `Procfile` at the root folder\nof the project. The `Procfile` must live in your project's root directory and\ncannot be placed anywhere else.\n\nProcfile format\n---------------\n\nA `Procfile` declares its process types on individual lines, each with the following format: \n\n \u003cvar translate=\"no\"\u003ePROCESS_TYPE\u003c/var\u003e: \u003cvar translate=\"no\"\u003eCOMMAND\u003c/var\u003e\n\nReplace:\n\n- \u003cvar translate=\"no\"\u003ePROCESS_TYPE\u003c/var\u003e with an alphanumeric name for your command, such das `web`, `worker` and `custom`.\n- \u003cvar translate=\"no\"\u003eCOMMAND\u003c/var\u003e indicates the command that every process type should execute on startup, such as `gunicorn -b :$PORT main:app`."]]