page:guides:express:build and start
Configure Build and Start for Express
Summary
Configure build and start for an Express app on Ample. Ample detects Node, runs npm install and npm run build --if-present, and starts the app with npm run start on the node-22 template; the app only has to bind 0.0.0.0 on PORT.
Prerequisites
- A
package.jsonwith a start script - A server that listens on
process.env.PORTand0.0.0.0 - An Ample account token with
servers:write
Tested Configuration
- Template: node-22
- Runtime: node
- Size: s-1vcpu-1gb
- Install:
npm install - Build:
echo no build needed - Start:
npm run start
Workflow Steps
Pin what detection cannot infer
If the start command is not inpackage.json, pass--start, or write it intoample.tomlwithample plan --write.Deploy
Run the existing synchronous deploy once from the project directory and read the result. Exit0is live,1is failed,2is blocked on a required preflight action. Re-running with no change is a content-addressed no-op.
Command:ample deploy . --name --public --format jsonVerify
Fetch the live URL and run the success checks below. On failure read the build log, then the runtime log, fix the cause and deploy again; do not blind-retry.
Command:ample logs --kind build
Success Checks
- Root route responds
Kind:http_get
Path:/
Expect:ample canary express basic
Limitations
- Verified on the node-22 template at s-1vcpu-1gb; other templates and sizes are not verified by this recipe.
- Region, compliance attestations, and request-duration limits are unknown and not claimed.
- Apps auto-pause when idle and wake on the next request; always-on is an operator setting, not a plan feature.
- A missing
package-lock.jsonproduces a warning and a slower, non-reproducible install.
Cost Estimate
- Currency: USD
- Monthly Amount: 5.0
- Basis: size prices from
pricing.toml(loaded by the API) at build revision1ac5595375130d45290090e82ed0f554ccd45405-dirty - Components:
- Name: app server
- Size: s-1vcpu-1gb
- Quantity: 1.0
- Monthly Amount: 5.0
Note: Apps and managed databases auto-pause when idle; the estimate is the always-on monthly price of the tested sizes. Plan quotas and budgets apply.
Examples
- Express basic canary
Minimal Express server deployed with the detectednpm install/npm run startcommands.
Source Ref:tests/deploy-canaries/express-basic
Evidence Summary
- Kind: canary_run
- Summary: Express app with
npm installandnpm run startdeployed on the node-22 template; the public URL served the expected response. - Observed At: 2026-09-19T23:55:33Z
- Implementation Revision:
1764076-tls-account-903d345 - Expires At: 2027-03-18T23:55:33Z
- Scope:
- CLI Version: 0.1.20
- Platform: hosted-beta
- Template: node-22
Last Verified At
2026-09-19T23:55:33Z
Unknowns
- Region availability is unknown until a verified region fact is recorded.
- Compliance attestations are unknown; none are claimed.