Sign inSign up

wavemakerapp/app-builder

By wavemakerapp

•Updated 3 months ago

Image
0

10K+

wavemakerapp/app-builder repository overview

WaveMaker App-Builder Docker Image Overview

The WaveMaker app-builder Docker image is designed to streamline the building process of WaveMaker applications within a containerized environment. Built to support microservice architectures, this image includes all necessary software packages and libraries, allowing seamless builds and deployments within Docker. The app-builder image provides essential tools for Java-based application development, including:

  • Node: JavaScript runtime environment for running backend services and scripts.
  • Npm: Node package manager for installing and managing JavaScript dependencies.
  • Maven: Build automation tool primarily used for Java projects.
  • Java: Java Development Kit (JDK) for compiling and running Java applications.

How to Use the App-Builder Docker Image

To generate a WAR file, use this containerized environment for an isolated build process. The following command mounts your project directory into the container and initiates the build:

docker run --rm -e profile=<profile_name> -v <your_project_location>:/usr/local/content/app wavemakerapp/app-builder:<wavemaker_version>

Example:

docker container run -d --name wm-app -v /home/user/MySampleApp:/usr/local/content/app wavemakerapp/app-builder

For optimized builds that reduce dependency download time, use local Maven and npm caches:

docker run --rm -e profile=<profile_name> -e MAVEN_CONFIG=$HOME/.m2 \
  -v <local_m2_cache_location>:$HOME/.m2 \
  -v <local_npm_cache_location>:$HOME/.npm \
  -v <your_project_location>:/usr/local/content/app \
  wavemakerapp/app-builder:<wavemaker_version>

Example:

docker run --rm -e profile=deployment -e MAVEN_CONFIG=$HOME/.m2 \
   -v ~/.m2:$HOME/.m2 \
   -v ~/.npm:$HOME/.npm \
   -v /home/user/MySampleApp:/usr/local/content/app \
   wavemakerapp/app-builder
⁠Run by Mapping Host User in Docker

If you encounter file access or permission issues while working with files outside the container, you can run the container as the host user by using the -u $(id -u):$(id -g) option. This ensures that files created or modified by the container are owned by the host user.

Example:

docker run --rm -u $(id -u):$(id -g) \
    -e profile=deployment -e MAVEN_CONFIG=$HOME/.m2 \
    -v ~/.m2:$HOME/.m2 \
    -v ~/.npm:$HOME/.npm \
    -v /home/user/MySampleApp:/usr/local/content/app \
    wavemakerapp/app-builder

Once the build completes, it will generate a WAR file in your <project-location>/dist directory. To deploy this WAR file, refer to the app-runtime-tomcat⁠.

Tag summary

Content type

Image

Digest

sha256:222187361…

Size

337.4 MB

Last updated

3 months ago

docker pull wavemakerapp/app-builder