Configuration
Was this helpful?
The platform.yaml file at the root of your project controls how it builds and deploys. Most fields are optional — sensible defaults are chosen based on framework auto-detection.
Settings that control how your project is built.
build.command
string
auto-detected
The shell command that produces your build output
build.output
string
auto-detected
The folder containing the built files
build.install
string
npm ci
The command to install dependencies
build.node
string
20
The Node.js version to use
build.env
object
{}
Environment variables available during build
Example:
build:
command: npm run build
output: dist/
node: 20
env:
NODE_OPTIONS: --max-old-space-size=4096Settings that control how your project is deployed and routed.
deploy.framework
string
auto
Framework hint (e.g. next, astro, static)
deploy.routes
array
[]
Custom routing rules
deploy.headers
array
[]
Custom HTTP headers per path
deploy.redirects
array
[]
URL redirects
deploy.region
string
auto
Preferred deploy region
Example:
Settings that control preview deploys for branches and pull requests.
preview.enabled
boolean
true
Whether previews are enabled at all
preview.branches.include
array
["**"]
Branch patterns to deploy
preview.branches.exclude
array
[]
Branch patterns to skip
preview.comments
boolean
true
Comment on pull requests with preview URLs
preview.password
string
none
Password-protect preview URLs
Where to send build and deploy events.
notifications.email
array
[]
Email addresses to notify
notifications.slack
object
none
Slack webhook configuration
notifications.events
array
["deploy.failed"]
Which events trigger notifications
Example:
Limits that apply at the workspace level, by plan:
Active projects
3
25
Unlimited
Unlimited
Concurrent builds
1
3
10
Custom
Build minutes / month
500
6,000
24,000
Custom
Bandwidth / month
100 GB
1 TB
5 TB
Custom
Team members
1
10
50
Unlimited
Custom domains per project
1
10
Unlimited
Unlimited
Need higher limits than Business offers? Contact sales to discuss Enterprise pricing.
Was this helpful?
Was this helpful?
deploy:
framework: next
region: eu-west-1
routes:
- source: /api/*
destination: /api/[...path].js
headers:
- path: /*
headers:
- key: X-Frame-Options
value: DENYnotifications:
events: [deploy.succeeded, deploy.failed]
slack:
webhook: https://hooks.example.com/...
channel: "#deploys"
