Skip to main content

Build Failures

Build failures happen during the image build phase, before your application is deployed. You can see the full build log by going to Application > Deployments and clicking on the failed deployment.

Common Build Errors

"No matching build image"

This error means the build image you selected doesn't exist or isn't compatible with your application.

Solution:

  1. Go to Application > Build Settings
  2. Select the correct build image for your language/framework
  3. Redeploy

See Build Settings for a list of available build images.

Out of Memory During Build

RAM spikes during builds are normal, especially for JavaScript and TypeScript projects. Tools like npm install, yarn install, and webpack can consume significant memory during dependency resolution and bundling.

Symptoms:

  • Build process is killed unexpectedly
  • Killed appears in build logs with no other error
  • ENOMEM errors in npm/yarn output

Solutions:

  • Use a server with more RAM (2 GB minimum recommended for JS projects)
  • Stagger builds so only one application builds at a time
  • Add NODE_OPTIONS=--max-old-space-size=512 to your build command to limit Node.js memory
  • Split large npm run build steps into smaller tasks
tip

You can monitor your server's memory usage during builds from the Server Monitoring page to confirm whether memory is the bottleneck.

Dependencies Fail to Install

Dependency installation errors are the most common build failures.

Python (requirements.txt):

  • Check that all package names and versions are correct
  • Ensure system libraries are available in the build image (e.g., libpq-dev for psycopg2)
  • Pin your versions to avoid unexpected breaking changes: django==4.2.7 instead of django>=4.2

Node.js (package.json):

  • Run npm install or yarn install locally first to verify it works
  • Check for version conflicts in package-lock.json or yarn.lock
  • Delete lock files and regenerate if they are corrupted

Ruby (Gemfile):

  • Ensure native extension dependencies are available
  • Check Ruby version compatibility

Dockerfile Syntax Errors

When using a custom Dockerfile, syntax errors will cause the build to fail immediately.

Common mistakes:

  • Missing FROM instruction at the top
  • Typos in Dockerfile instructions (RUN, COPY, WORKDIR)
  • Incorrect COPY paths (remember files are under ./code/ in Appliku builds)
  • Using ADD when COPY is more appropriate
note

If you are using Appliku's predefined build images, Dockerfile syntax errors don't apply since the Dockerfile is managed for you. Switch to a predefined build image if your custom Dockerfile is causing issues.

Build Timeout

Builds that take too long may time out.

Common causes:

  • Very large dependency trees
  • Heavy compilation steps (native extensions, C libraries)
  • Network issues downloading packages

Solutions:

  • Optimize your dependency list; remove unused packages
  • Use pre-built binary wheels where available (Python)
  • Check if your build command is running unnecessary steps

Debugging Steps

  1. Read the full build log -- the error is usually near the bottom
  2. Reproduce locally -- run the same build command on your machine
  3. Check your dependency files -- requirements.txt, package.json, Gemfile
  4. Verify the build image -- make sure it matches your application's language and version
  5. Check server resources -- ensure the server has enough RAM and disk space