Core concepts
Custom Overrides
1 min read
When automatic detection doesn't match your project setup, you can provide explicit overrides via a lunadeck.config.json file at your project root.
Configuration file
{
"framework": "capacitor",
"nodeVersion": "20",
"buildCommand": "npm run build",
"outputDir": "dist",
"android": {
"compileSdkVersion": 34,
"minSdkVersion": 24
}
}Available overrides
| Field | Type | Description |
|---|---|---|
framework | string | Force a specific framework (capacitor, expo, flutter, etc.) |
nodeVersion | string | Node.js version to use |
buildCommand | string | Custom build command |
outputDir | string | Build output directory |
packageManager | string | Force npm, yarn, pnpm, or bun |
android | object | Android-specific SDK and build settings |
env | object | Build-time environment variables |
When to use overrides
- Your project uses a non-standard directory layout
- You need a specific Node.js or SDK version
- Auto-detection picks the wrong framework
- You have a custom build pipeline with multiple steps
Partial overrides
You don't need to specify every field. Any field you omit will still be auto-detected. Overrides only replace the specific settings you provide.