Skip to content

Installation

Step 1: Requirements

In this section we will cover some of the key dependencies for all of the deployment modes.

  • Docker - For building and running containers
  • Docker Compose - For managing multiple containers
  • Python 3.12 - For intellisense and linting (not explicitly needed to run the project due to docker, but recommended for development)
  • pip - For installing poetry
  • poetry - For managing python packages
  • Make - For running commands in the Makefile
  • Poppler - For Document Ingestion and OCR
  • Tesseract - For Document Ingestion and OCR

Brew

If you're on a Mac, you can install the above dependencies using brew.

brew install docker docker-compose make poppler tesseract

Ubuntu/Debian

If you're on Ubuntu/Debian, you can install the above dependencies using apt.

sudo apt update
sudo apt install docker docker-compose make poppler-utils tesseract-ocr

If you don't have this python version, we'd recommend using pyenv to manage your python versions.

Step 2: Installation and Build

We'll need to clone the repository and install the dependencies.

git clone git@github.com:i-dot-ai/redbox.git
cd redbox
poetry install

This may take a while as it installs all the dependencies on a first run.

To build the project, you can use the following command:

make build

or

docker compose build

At the end of the you can view all of the built images with this command:

docker images | grep redbox

Step 3: Setting up the environment

The project uses a .env file to store environment variables. You can copy the .env.example file to .env and fill in the necessary variables.

cp .env.example .env

Depending on the Large Language Model provider you choose, you will need to fill appropriate API keys in the .env file. You can find more detail on that here: LLM Setup

Step 4: Running the project

From this point you can now go to the following pages to run the project:

At the moment, we only support local development and AWS deployment due to the skillsets of the current development team. Redbox would welcome any contributions to help expand deployments to Azure, GCP, Orcacle Cloud, Kubernetes, etc. If you would like to add support for a new deployment mode please refer to the contribution guidelines and create a pull request with the necessary changes. Please refer to the email link in the footer if you'd like to discuss with the team.