---
title: Build configuration
description: Configure build settings in Thunder Console
---
import { Icon } from 'astro-icon/components';
Configure the install and build scripts used by Thunder Console's CI/CD pipelines (CodePipeline + CodeBuild). These settings control how your project is installed, built, and where build artifacts are placed.
Below are the available properties and short descriptions for each pattern's build properties. The `rootDir` is common for all patterns used for monorepos.
## Single Page Applications
The build configuration for [Static](/docs/patterns/static)
public/
Node.js 24▼
bun install
bun run build
- `outputDir` — Required. Directory containing built assets to publish (e.g., `dist/`, `build/`).
- `runtime` — Nodejs runtime version (e.g., `20`, `18`).
- `installcmd` — Command to install dependencies (e.g., `bun install`, `npm ci`).
- `buildcmd` — Command to build the site (e.g., `bun run build`, `npm run build`).
## Serverless Functions (Lambda)
The build configuration for [Lambda](/docs/patterns/lambda)
### Container mode
Thunder supports Docker containers for Lambda functions.
Container▼
Dockerfile
- `dockerfile` — Path to your Dockerfile
- `memorySize` — Memory (MB) allocated to your Lambda function
### Zip mode
You can use the default Zip mode to deploy Lambda functions.
Zip▼
bun install
bun run build
Node.js 24▼
dist/server
index.handler
- `installcmd` — Command to install dependencies (e.g., `bun install`, `npm ci`).
- `buildcmd` — Command to build the site (e.g., `bun run build`, `npm run build`).
- `runtime` — Nodejs runtime version (e.g., `20`, `18`).
- `codeDir` — The output directory for your server-side code
- `handler` — Lambda handler
- `memorySize` — Memory (MB) allocated to your Lambda function
## Web Service (Fargate)
The build configuration for [Fargate](/docs/patterns/fargate)
### Container
Use a Dockerfile to deploy any web app on AWS using Thunder.
Custom Dockerfile▼
Dockerfile
0.25 vCPU▼
512 MB▼
3000
### Nixpacks
Use Nixpacks to generate your Dockerfile.