Requirements

Operating System Requirements

For Docker based installation, any Linux distribution with Docker support is required. Further information on compatibility of Docker CE and EE can be found on the Docker help center: https://docs.docker.com/install/overview/.

Docker on Windows and Mac is currently not supported by Embold. 

Note: Docker based installation specifically needs CentOS 7.

Docker Hub Account Requirements

  • Embold is currently available in our private docker repository at https://hub.docker.com
  • In order to get access to the Embold container image, follow the steps below:
    • Send us your Docker ID via email.
    • We will provide access to the Embold image for the Docker ID you provide and send you a confirmation via email.
  • Proceed to install the Embold Docker Image (Refer section “Installing Embold Docker Image”) after you receive the confirmation.

Hardware Requirements

Computing

  • We recommend a minimum of 2 dedicated cores
  • For projects > 1 Mio. Lines of code 4 cores are recommended
  • For projects > 3 Mio. Lines of code 8 cores are recommended.


Memory

  • Minimum 8 GB RAM (dedicated)
  • For projects > 1 Mio. Lines of code 16 GB RAM are recommended 
  • For projects > 3 Mio. Lines of code 32 GB RAM are recommended.

Storage

  • Minimum of 100 GB storage 
  • Should be expandable to support a growing analysis history
  • The table below gives an indication on the growing storage requirements:
Lines of CodeStorage size of 1 full snapshot
100.000About 70-90MB
1.000.000About 700MB – 1.2GB
2.000.000About 1.2 – 2GB

Table 1:Storage estimations

Networking Requirements

During Installation

  • The instance needs to be accessible through SSH. 
  • Connectivity to the docker hub must be possible.

After Installation

  • One port needs to be exposed to access Embold via HTTP on the browser (by default port 3000)
  • For remote scans where scans run on a build machine and results are published to the Embold server, port 5432 also needs to be exposed
  • Connectivity to all external systems that should be integrated is required on the relevant ports-
    • This includes connectivity to the repositories (i.e. git, GitHub, GitLab, TFS, SVN) on the required ports (i.e. HTTPS, SSH)
    • If CI integration is required, connectivity between Embold on the CI system is required
    • If task management is required, connectivity between Embold and the task management system needs to be there (i.e. for Jira, Teamforge) 

Environment Variables

  • Requires the following environment flag: ACCEPT_EULA=Y

Yes No

Installing Docker engine

Docker engine needs to be installed on the host prior to installing the Embold Docker image.

Note: Install only the stable version, not the nightly builds.

Depending on your OS, refer the following steps to setup Docker Engine.

A. Docker Engine on CentOS

Follow the steps listed at this link.

B. Docker Engine on Ubuntu

Follow the steps listed at this link.

Yes No

Installing Embold Docker image

Prerequisite:  

Your docker ID should be enabled for our private repository to download the Embold image. 

Note:

The tag name {VERSION} is mentioned as an example in below commands. You can use your latest preferred tag from docker. For example: tag name can be 1.7.0.0

Refer section Docker Hub Account Requirements before proceeding with Installation of Embold Docker image.

Login to Docker Hub from CLI

Login to docker using docker CLI using your docker ID and password when prompted:

$ docker login

Download and install the Embold Docker Image

docker run -m 8GB -d -p 3000:3000 -p 5432:5432 --name EMBOLD -e gamma_ui_public_host=http://localhost:3000 -e EMB_USE_NATIVE_PYPARSER=TRUE -e RISK_XMX=-Xmx1024m -e ACCEPT_EULA=Y -e ANALYSER_XMX=-Xmx3072m -v gamma_data:/opt/gamma_data -v gamma_psql_data:/var/lib/postgresql -v /home/${USER}/docker/logs:/opt/gamma/logs embold/gamma:${VERSION}

Note:If you didn’t add the current user to the docker group (sudo usermod -aG docker $(whoami)), you may need to run the above commands with sudo.

The above steps will download and install the Embold Docker Image.

You can then access Embold at: http://localhost:3000

Note:After executing the “docker run” command it may take upto 2 minutes for the Embold server to be up and running on port 3000.

Note:The memory settings (-m option, RISK_XMX, ANALYSER_XMX may need to be increased when analysing code bases larger than 1 million LOC)

Activate Embold

Once the above steps are performed, head to https://docs.embold.io/managing-license/#activating-gamma-onpremise to activate Embold.

Running a scan

Once Gamma is successfully activated, head to https://docs.embold.io/scans-snapshots/#steps-to-scan-a-repository to learn how to run your first scan.

Yes No

Installing Embold Docker and Corona (Embold Analyser) Docker for remote scan

This section provides general steps on how to run a remote scan (i.e. scan happens on a build machine, e.g. for C/C++ and results are pushed to the Embold server running as a Docker container 

Pre-requisites: You have set up the Embold Docker Server (Refer section “Installing Embold Docker Image”)

Note that this is an example setup which shows how the Embold Analyser Docker can be used to run a scan together with your build, assuming your build script is also runnable inside the docker container. Your actual build setup may vary (e.g. you may be running the build directly on a host machine, in which case you need to natively install the Embold Analyser component instead of using the docker image)

Download, install and run the Standalone Corona Docker Image

The following steps will download and install the Corona Docker image on remote machine from where remote scan will be initiated (e.g. the build machine)

$ docker run -it -e ANALYSIS_MODE=remote embold/corona:${VERSION} sh

Script which triggers Embold scan. The script can also be a custom script that internally builds the code, runs the unit test and calls Embold analysis.

Example:

$ docker run -it -e ANALYSIS_MODE=remote embold/corona:${VERSION} sh gamma-scan.sh
Yes No
Suggest Edit