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

FieldTypeDescription
frameworkstringForce a specific framework (capacitor, expo, flutter, etc.)
nodeVersionstringNode.js version to use
buildCommandstringCustom build command
outputDirstringBuild output directory
packageManagerstringForce npm, yarn, pnpm, or bun
androidobjectAndroid-specific SDK and build settings
envobjectBuild-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.