PulsejetDB provides Docker image that facilitate running PulsejetDB in Docker containers.

PulsejetDB comes with full production ready optimized container.

  • jetngine/pulsejet:latest (or jetngine/pulsejet) It is the lightweight Docker image of PulsejetDB.

  • jetngine/pulsejet-avx512:latest (or jetngine/pulsejet-avx512) This one is optimized Docker image for newer x86_64 (2019 later) processors for PulsejetDB.

Prerequisites

Before proceeding, ensure you have installed Docker, following the official Docker documentation.

Setup

This setup of PulsejetDB uses one of the available Docker images, as listed above.

Follow the steps to set up PulsejetDB in a Docker container.

Install PulsejetDB

Run this command to create a Docker container with PulsejetDB:

docker run --name pulsejet_container -p 47044-47045:47044-47045 jetngine/pulsejet

Where:

  • docker run is a native Docker command used to spin up a container.
  • --name pulsejet_container defines a name for the container.
  • -p 47044-47045:47044-47045 published 47044 and 47045 ports HTTP and GRPC ports respectively.
  • jetngine/pulsejet is a Docker image provided by PulsejetDB. You can choose a different one from the list above.

Once the container is created, you can use the following commands:

  • docker stop pulsejet_container to stop the container. Note that this may not always be necessary because when turning off the host machine, the container will also be shut down.
  • docker start pulsejet_container to restart a stopped container with all its previous changes (such as any dependencies that were installed) intact. Note that docker start restarts a stopped container, while docker run creates a new container.

If you don’t want to follow the logs and get the prompt back, add the -d flag that stands for detach.

docker run --name pulsejet_container -d -p 47044-47045:47044-47045 jetngine/pulsejet

If you want to persist your models and configurations in the host machine, run these commands:

mkdir pulsejet_data
docker run --name pulsejet_container -p 47044-47045:47044-47045 -v $(pwd)/pulsejet_data:/root/.database jetngine/pulsejet

Where -v $(pwd)/pulsejet_data:/root/.database maps the newly created folder pulsejet_data on the host machine to the /root/.database inside the container.

Custom configuration

To override the default configuration, you can mount a config file over /pulsejet/config-container.toml, as below.

docker run -v config-container.toml:/pulsejet/config-container.toml jetngine/pulsejet

What’s next?

Now that you installed and started PulsejetDB locally in your Docker container, go ahead and find out how to use the SYNC client or ASYNC client with remote setting.

Check out the Use Cases section to follow tutorials that cover RAG development, Chatbots, Real-time embedding ingestion, Vector Serving and more.