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: A Node container runs a Fastify API wrapper for HollowDB. 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: 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: 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:
- Dria CLI (preferred)
- 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.