Getting Started¶
Hardware Requirements¶
- Internet access to GitHub and DockerHub
- 4+ cores recommended x86-64 CPU(ARM not supported)
- Minimum 8 GB RAM
- 100+ GB SSD available disk space
If using AWS, t3a.medium or equivalent instance type recommended.
Video Guides¶
Before you begin...¶
VECTR is a web application that runs in a docker-compose orchestrated container environment. Our container images are hosted in Docker Hub and the orchestration release files in GitHub. As such, the machine running VECTR will need access to both.
VECTR deployments are configured by the .env file contained in the release zip from GitHub.
This guide is written based on installing onto Ubuntu Server 22.04 LTS. If you wish to use any other OS or platform(Podman, Kubernetes) Check here.
Dependency Installation¶
These instructions are largely lifted from Docker proper, see this page here for further details or if you have issues.
Update the apt package index and install packages to allow apt to use a repository over HTTPS:
sudo apt-get update
sudo apt-get install ca-certificates curl
Add Docker’s official GPG key:
sudo install -m 0755 -d /etc/apt/keyrings
sudo curl -fsSL https://download.docker.com/linux/ubuntu/gpg -o /etc/apt/keyrings/docker.asc
sudo chmod a+r /etc/apt/keyrings/docker.asc
Use the following command to set up the repository:
echo \
"deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.asc] https://download.docker.com/linux/ubuntu \
$(. /etc/os-release && echo "$VERSION_CODENAME") stable" | \
sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
Update the apt package index:
sudo apt-get update
Install Docker Engine, containerd, and Docker Compose.
sudo apt-get install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin
VECTR Installation Instructions¶
The only application-specific file required for the VECTR install is the release zip (with the docker-compose, .env file, and readme).
1. Choose Your Install Path¶
First determine your install path to launch the docker-compose from.
Recommendation:
/opt/vectr
2. Download VECTR Runtime¶
Using the example of /opt/vectr
, run the following in a terminal:
mkdir -p /opt/vectr
cd /opt/vectr
wget https://github.com/SecurityRiskAdvisors/VECTR/releases/download/ce-9.3.3/sra-vectr-runtime-9.3.3-ce.zip
unzip sra-vectr-runtime-9.3.3-ce.zip
3. Configure .env file¶
Using the text editor of your choice, edit the .env
file:
nano .env
The following fields should be filled out:
Variable | Description | Notes |
---|---|---|
VECTR_HOSTNAME
|
This is the URL you will be accessing VECTR from. If you attempt to access VECTR by IP you will be redirected to the hostname because of this. | If you do not have DNS configured to resolve the hostname, then you will fail to connect. |
VECTR_PORT
|
This is the port the Tomcat instance will be listening on for HTTPS. | VECTR requires HTTPS; it is not reachable on HTTP. |
POSTGRES_PASSWORD
|
This is the password for the default PostgreSQL login. | You may need this in the future if manual access to your VECTR database is required. Change and store in a safe place. |
POSTGRES_USER
|
This is the user for the default PostgreSQL login. | You may need this in the future if manual access to your VECTR database is required. |
POSTGRES_DB
|
This is the database in PostgreSQL VECTR uses. | You may need this in the future if manual access to your VECTR database is required. |
VECTR_DATA_KEY
|
Encrypted data like passwords used to integrate with external systems use this key. | Change this and store in a safe place. |
JWS_KEY
|
JWT signing (JWS) | Do not use the same value for both signing and encryption! It is recommended to use at least 16 characters. You may use any printable unicode character. |
JWE_KEY
|
JWT Encryption Key (JWE) | Do not use the same value for both signing and encryption! It is recommended to use at least 16 characters. You may use any printable unicode character. |
COMPOSE_PROJECT_NAME
|
This defines the naming convention for the containers. |
Set your appropriate values and save the file.
4. Start Docker Containers¶
Run a docker compose command to bring up the containers.
sudo docker compose up -d
This will take a few minutes as Docker will need to download the images and then build the containers. Success will look like this, with your output being the created containers.
Usage¶
The VECTR webapp is available at https://VECTR_HOSTNAME:VECTR_PORT
where VECTR_HOSTNAME
is the URL set accordingly in the .env file. The hostname must be set according to your environment to ensure the URL is accessible. VECTR_PORT
will be 8081 by default unless modified in the .env file.
Log in with the default credentials.
User: admin
Password: 11_ThisIsTheFirstPassword_11
Please change your password in the user profile menu after initial login.
Check out our How-to Videos for getting started in VECTR once you have it installed.
Troubleshooting¶
We have attempted to document common issues here.