Stay organized with collectionsSave and categorize content based on your preferences.
An App Engine app is configured using anapp.yamlfile, that contains the runtime, handlers, scaling, and other general settings
including environment variables.
Aboutapp.yamlfiles
You can specify the runtime configuration for your Node.js app,
including versions and URLs, in theapp.yamlfile. This file acts as a deployment descriptor of a specificserviceversion.
You must first create theapp.yamlfile for thedefaultservice of your app
before you can create and deployapp.yamlfiles for additional services.
Generally, yourapp.yamlfile requires only theruntimeelement for a simple
Node.js app in the standard environment, for
example:
runtime:nodejs24
App Engine provides default values for all other settings, including
theF1 instance class, which
determines the memory and CPU resources that are available to your app, andautomatic scaling,
which controls how and when new instances of your app are created.
If you need to override the default settings, create anapp.yamlfile and
specify the settings you need. For more information, seeapp.yamlfile reference.
You can specify a unique name for yourapp.yamlfiles, but then you must
specify the file name with thedeployment
commandas well. For example, if you name yourapp.yamlfileservice-name-app.yamlorapp.standard.yaml, then you must deploy your app using either:
[[["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\u003eThe \u003ccode\u003eapp.yaml\u003c/code\u003e file is essential for configuring an App Engine app, defining runtime, handlers, scaling, and other settings, including environment variables.\u003c/p\u003e\n"],["\u003cp\u003eA \u003ccode\u003eapp.yaml\u003c/code\u003e file is necessary to configure your Node.js application, and the \u003ccode\u003eruntime\u003c/code\u003e element is often the only required setting for basic Node.js applications in the standard environment.\u003c/p\u003e\n"],["\u003cp\u003eBefore creating additional \u003ccode\u003eapp.yaml\u003c/code\u003e files for other services, you must first create a file for the \u003ccode\u003edefault\u003c/code\u003e service of your application.\u003c/p\u003e\n"],["\u003cp\u003eApp Engine provides default values for settings like instance class and automatic scaling, but these can be overridden by specifying custom settings in the \u003ccode\u003eapp.yaml\u003c/code\u003e file.\u003c/p\u003e\n"],["\u003cp\u003eYou can give a custom name to your \u003ccode\u003eapp.yaml\u003c/code\u003e files, but you'll have to specify that custom file name when using the deployment command.\u003c/p\u003e\n"]]],[],null,["# Defining runtime settings\n\n\u003cbr /\u003e\n\n\u003cbr /\u003e\n\n\nAn App Engine app is configured using an `app.yaml`\nfile, that contains the runtime, handlers, scaling, and other general settings\nincluding environment variables.\n\n\nAbout `app.yaml` files\n----------------------\n\n\u003cbr /\u003e\n\nYou can specify the runtime configuration for your Node.js app, including versions and URLs, in the `app.yaml` file. This file acts as a deployment descriptor of a specific [service](/appengine/docs/standard/an-overview-of-app-engine) version.\n\n\u003cbr /\u003e\n\n\nYou must first create the `app.yaml` file for the `default` service of your app\nbefore you can create and deploy `app.yaml` files for additional services.\n\n\nGenerally, your `app.yaml` file requires only the `runtime` element for a simple\nNode.js app in the standard environment, for\nexample:\n\n\n runtime: nodejs24\n\n\nApp Engine provides default values for all other settings, including\nthe [F1 instance class](/appengine/docs/standard#instance_classes), which\ndetermines the memory and CPU resources that are available to your app, and\n[automatic scaling](/appengine/docs/standard/how-instances-are-managed#scaling_types),\nwhich controls how and when new instances of your app are created.\n\nIf you need to override the default settings, create an `app.yaml` file and\nspecify the settings you need. For more information, see\n[`app.yaml` file reference](/appengine/docs/standard/reference/app-yaml).\n\n\nYou can specify a unique name for your `app.yaml` files, but then you must\nspecify the file name with the [deployment\ncommand](/appengine/docs/standard/testing-and-deploying-your-app)\nas well. For example, if you name your `app.yaml` file `service-name-app.yaml`\nor `app.standard.yaml`, then you must deploy your app using either: \n\n gcloud app deploy service-name-app.yaml\n gcloud app deploy app.standard.yaml\n\nTo learn more about structuring multiple services and `app.yaml` files in your app, see [Structuring web services](/appengine/docs/standard/configuration-files).\n\n\u003cbr /\u003e\n\nAll configuration elements\n--------------------------\n\nFor a complete list of all the supported elements in this configuration file,\nsee the\n[`app.yaml` reference](/appengine/docs/standard/reference/app-yaml)."]]