Installation

To make running private instances as easy as possible, VulnIQ offers free installation and one free upgrade service per month for customers running VulnIQ on a single server and willing to grant us access to the server:
We will connect to your server and do the installation and upgrades for you for free.

Unfortunately we cannot provide this service for customers running more complex setups that require specialized knowledge of third party systems. For example if your environment requires special knowledge of AWS, Kubernetes etc, then we cannot offer you this free service.

System requirements

Software
You should use the provided docker images for components with a docker image, installing manually from scratch is not recommended or supported (unless we are doing the installation).

The following list contains the tested and known to work software versions.

  • Operating system: Ubuntu 18.04.2 LTS
  • Database: MariaDB 10.3.10
  • Java: OpenJDK version "11.0.2" 2019-01-15
  • Apache: 2.4.x (latest) with php 7.2.17 (with mysql, pdo, openssl, memcached support)
  • Docker: version 18.09.2
  • Elasticsearch: OSS-6.6.2
  • Screenshot generator: Only available as a docker image. Manual installation is not supported. Uses node.js, expressjs, puppeteer. Docker is required for this service to run.
  • Memcached: Latest version
Hardware
  • Memory: Minimum 8GB if all components are going to be installed on the same machine. If they are going to be installed on separate servers, recommended minimum memory requirements for each component (the memory available to the component itself, for example to the mariadb process, not the entire system) is as follows:
    • MariaDB: 3GB+
    • Elasticsearch: 2GB
    • Screenshot generator: 1GB
    • Caching server, memcached: 128MB
    • Backend java process: 1GB
    • Also make sure that a reasonable amount of memory (e.g 2GB) is available to Apache and the operating system
  • CPU: Minimum 4 vCPUs
  • Disk space: Minimum 50 GB. Depending on configuration much more may be required.
Docker Containers
Most VulnIQ docker containers rely on mounted folders, folders mapped to folders on the host system. See dockerfiles and related scripts for an exact list of required mounted folders and paths.
Using mounted folders allows data persistence between docker image/container upgrades. For example, elasticsearch docker image uses a mounted folder to store its data and configuration folders. You can delete, re-build and restart containers without losing data, obviously as long as you use the same mounted folders.