Dria Docker

Dria Docker

Dria Docker enables you to use a Dria knowledge in your local environment!

It does this by setting up everything with Docker containers, which are exposed locally so that you can use them as if you are using the Dria API. As an overview, the containers work as follows:

  • HollowDB (opens in a new tab): A Node container runs a Fastify API wrapper for HollowDB (opens in a new tab). Behind the scenes, our HollowDB contracts actually store the bundled txIds, so to make use of this data we have to unbundle them. This container downloads these txIDs and unbundles them to disk.

  • Dria HNSW (opens in a new tab): A distroless multi-platform container runs the Dria HNSW code, written in Rust. This is an Actix server that serves the downloaded & unbundled HNSW index to the user.

  • Redis (opens in a new tab): Both containers make use of Redis, which in particular allows HollowDB to keep its contract state.

All the data is stored on disk under ${HOME}/.dria/data, and these containers use that volume as they are running.

Usage

There are two ways to use Dria Docker:

  1. Dria CLI (preferred)
  2. Docker Compose

In the end, the knowledge will be served by the Dria HNSW container, available at a local port. The available endpoints are listed here (opens in a new tab).