Installing DeepScan

This document helps system administrators and operators to set up, customize and update a DeepScan instance.

Requirements

Hardware Requirements
  • 2-core CPU, 4-core or more recommended
  • 2GB of RAM, 8GB or more recommended
Service Requirements
  • Linux: Need to support Docker Swarm environment
  • Packages in Docker: Ubuntu 16.04 64-bit, Java 8, Node.js 10.13+, PostgreSQL 10+
    • If you want to use an external DB, please follow this guide
Supported Platforms
  • GitHub Enterprise Server 2.18+
  • GitLab Community Edition stable release
  • Web browsers
    • Chrome latest
    • Firefox latest
    • Edge latest
    • Safari latest

Installing using Docker

  • Setup Docker host environment
    • Choose a location and create the directory where the DeepScan distribution will be unzipped
      $ mkdir -p <DEEPSCAN_SERVER_PATH>
    • Download and unzip the distribution file for the DeepScan Docker image
      • The contents of the distribution are the following:
        deepscan-<version>.tar     # Docker image
        docker-stack.yml                 # Docker stack configuration
        docker-stack-external-db.yml     # Docker stack configuration to use external db
        
      • This location path should be set as an environment variable named DEEPSCAN_DATA which is mounted with /data in the Docker container
      • $ export DEEPSCAN_DATA=<DEEPSCAN_SERVER_PATH>
        $ export PORT=<DEEPSCAN_SERVER_PORT>             # Docker stack published port
        
    • Initialize the Docker swarm
      $ docker swarm init

Running DeepScan

  • Run the following commands to load and start the DeepScan Docker stack
  • $ docker load -i deepscan-<version>.tar
    1ea5a27b0484: Loading layer [==================================================>]  123.5MB/123.5MB
    24ab7de5faec: Loading layer [==================================================>]  11.78kB/11.78kB
    10e46f329a25: Loading layer [==================================================>]  15.87kB/15.87kB
    92d3f22d44f3: Loading layer [==================================================>]  3.072kB/3.072kB
    b19ecc26735d: Loading layer [==================================================>]  25.11MB/25.11MB
    add4c4c00ac2: Loading layer [==================================================>]   46.1MB/46.1MB
    Loaded image: deepscan:1.26.6
    
    $ docker image ls deepscan                 # Verify that the image is loaded
    REPOSITORY          TAG                 IMAGE ID            CREATED             SIZE
    deepscan            1.26.6              c1ebadc8b76a        19 hours ago        1.27GB
    
    $ docker stack deploy --compose-file $DEEPSCAN_DATA/docker-stack.yml deepscan-stack
    Updating service deepscan-stack_core (id: scjtblubj5m8dlqwvxszenk3z)
    image deepscan:1.26.6 could not be accessed on a registry to record
    its digest. Each node will access deepscan:1.26.6 independently,
    possibly leading to different nodes running different
    versions of the image.Updating service deepscan-stack_redis (id: ikgbulyiem2c8shj3d4uavasd)
    Updating service deepscan-stack_postgres (id: eur3t1t38on11cupejom3tymx)
    
    $ docker stack ps deepscan-stack           # Verify that the stack is deployed
    ID                  NAME                        IMAGE                NODE                DESIRED STATE       CURRENT STATE                ERROR               PORTS
    sahm2vwysg4u        deepscan-stack_core.1       deepscan:1.26.6      masami              Running             Running 1 second ago
    wwf65rdultsh         \_ deepscan-stack_core.1   deepscan:1.26.5      masami              Shutdown            Shutdown 3 seconds ago
    97ttoc387438        deepscan-stack_postgres.1   postgres:10-alpine   masami              Running             Running about a minute ago
    4x6myrw9hkhg        deepscan-stack_redis.1      redis:5-alpine       masami              Running             Running about a minute ago
    
  • You can now browse DeepScan at <DEEPSCAN_URL>:<DEEPSCAN_SERVER_PORT>
    • <DEEPSCAN_URL>: The baseUrl defined in the conf.yaml file
  • If you encounter problems trying to get DeepScan to start, please see the debugging guide

Updating DeepScan