# VDA in Docker

Docker Installation Guide for different OS(s)

{% embed url="<https://docs.docker.com/engine/install/>" %}

### Windows

Install Docker Desktop&#x20;

{% embed url="<https://docs.docker.com/desktop/install/windows-install/>" %}

{% embed url="<https://desktop.docker.com/win/main/amd64/Docker%20Desktop%20Installer.exe?_gl=1*iak05f*_ga*NDE1Mzk2OTkyLjE3MTc2Njc0OTk.*_ga_XJWPQMJYHQ*MTcxNzY2NzQ5OS4xLjEuMTcxNzY2NzYzMi41OS4wLjA>." %}
Link to Download
{% endembed %}

Run following command on Power shell

`wsl --set-default ubuntu`&#x20;

To check docker information run following command on Power shell

docker info&#x20;

### 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

{% embed url="<https://git-scm.com/download/win>" %}

### System Requirements

Minimum requirements allocated to Docker should be&#x20;

| RAM   | CPU | Disk  |
| ----- | --- | ----- |
| 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&#x20;

Change the values for parameters as per your keys .&#x20;

```
// 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

&#x20;

```
cd vdainstaller
sh docker-compose-up.sh
```

The docker compose up script calls the script which can also be used directly&#x20;

`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&#x20;

`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&#x20;

`docker compose -f vda-deploy.yml --env-file vda/.env-vda down`&#x20;

`docker volume prune -a`


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.vdalive.com/quickstart/vda-in-docker.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
