Core concepts

Cloud Build Engine

2 min read

The Cloud Build Engine is the core of Lunadeck. It compiles your web application into a native mobile app entirely in the cloud.

Architecture

Each build runs in an isolated container with:

  • Pre-installed Android SDK and build tools
  • Node.js, npm, and other package managers
  • Framework-specific CLIs (Expo, Flutter, Capacitor)
  • Gradle for Android compilation

Build stages

  1. Detect — AI analyzes your project structure
  2. Web Build — Your web app is compiled (e.g., next build, npm run build)
  3. Wrap — The web output is wrapped in a native shell (Capacitor, Expo, etc.)
  4. Compile — Gradle compiles the Android APK
  5. Sign — The APK is signed with your certificate (if configured)

Build caching

Lunadeck caches dependencies between builds to speed up subsequent compilations. Cached layers include:

  • node_modules (keyed by lockfile hash)
  • Gradle dependencies
  • Android SDK components

Build logs

Real-time build logs are streamed to the dashboard via Server-Sent Events. You can view the full build output, including any errors or warnings.

Per-tier limits

Each plan gets its own caps on source-archive size, build time, and how long Lunadeck keeps the resulting artifact around. If a build exceeds the per-tier timeout it's marked failed with error_code: WORKER_TIMEOUT; if a source upload exceeds the cap the API returns FILE_TOO_LARGE before the bytes are ever stored.

TierMax source uploadBuild timeoutArtifact retention
Hobby100 MB10 minutes7 days
Starter250 MB30 minutes30 days
Team500 MB60 minutes90 days
Business1 GB120 minutes365 days

Need a higher cap than your tier allows? Contact support and we'll talk through it.