VDA in Docker

Docker Installation Guide for different OS(s)

Windows

Install Docker Desktop

Run following command on Power shell

wsl --set-default ubuntu

To check docker information run following command on Power shell

docker info

Ubuntu

Set up Docker's apt repository.

Add Docker's official GPG key:

sudo apt-get update sudo apt-get install ca-certificates curl 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

Add the repository to Apt sources:

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 sudo apt-get update

To install the latest version, run:

sudo apt-get install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin

Verify that the Docker Engine installation is successful by running the hello-world image.

sudo docker run hello-world

Post Installation steps to run docker without root user

Create the docker group.

sudo groupadd docker

Add your user to the docker group.

sudo usermod -aG docker $USER

Log out and log back in so that your group membership is re-evaluated.

newgrp docker

Verify that you can run docker commands without sudo.

docker run hello-world

Install git on OS

System Requirements

Minimum requirements allocated to Docker should be

RAMCPUDisk

12 GB

4

20 GB

To change the memory allocation for Docker, please visit Preferences -> Resources -> Advanced in your Docker Desktop.

Procedure

Clone VDA Installer Git Repository

git clone https://github.com/microui-team/vdainstaller.git

Setting Environment Variables

Change the values for parameters as per your keys .

// Some code
# Registry from which we are pulling the image
IMAGE_REGISTRY=microuidigital
GIT_SHA=latest

# Database configurations
POSTGRES_PASSWORD=postgrespwd  # Change the database password if desired.
DATABASE_URL=postgresql://postgres:postgrespwd@postgres:5432/postgres?schema=public

# Keycloak
KEYCLOAK_URL=http://localhost:8080
KEYCLOAK_ADMIN_USERNAME=whiteklay
KEYCLOAK_ADMIN_PASSWORD=password

# Superset engine specific environment variables - update based on your configuration
ORIG_SUPERSET_URL=http://localhost:8088
SUPERSET_USER=admin
SUPERSET_PASSWORD=admin
ORIG_SUPERSET_TOKEN=123456abc

# AWS credentials
AWS_S3_BUCKET_NAME={your-s3-bucket-name}
AWS_ACCESS_KEY_ID={your-aws-access-key-id}
AWS_SECRET_ACCESS_KEY={your-aws-secret-access-key}

# Realm name
REALM_NAME=ssm-tool

# Environment variables for ingestion
DATA_INGESTION_URL=http://{server-ip}:8083
GIT_TOKEN={your-git-token}
GIT_REPONAME=vda-notebook

# Message queue configurations
MESSAGE_RESPONSE_QUEUE_NAME=amundsen_response_queue
MESSAGE_QUEUE_NAME=amundsen_queue
MESSAGE_QUEUE_PORT=5672
MESSAGE_QUEUE_USER=whiteklay
MESSAGE_QUEUE_PASSWORD=password
MESSAGE_QUEUE_HOST=rabbitmq

# API keys
OPENAI_API_KEY={your-openai-api-key}
HUGGINGFACEHUB_API_TOKEN={your-huggingface-api-token}

Start Docker Services

cd vdainstaller
sh docker-compose-up.sh

The docker compose up script calls the script which can also be used directly

docker compose -f vda-deploy.yaml --env-file vda/.env-vda up -d

Stopping the Services

cd vdainstaller
sh docker-compose-down.sh

The docker compose up script calls the script which can also be used directly

docker compose -f vda-deploy.yaml --env-file vda/.env-vda down

Cleaning up the environment

cd vdainstaller
sh docker-volume-prune.sh

The docker compose up script calls the script which can also be used directly

docker compose -f vda-deploy.yml --env-file vda/.env-vda down

docker volume prune -a

Last updated