Install

With Docker

The easiest way to start using Qdrant is to run it from a ready-made Docker image. The latest versions are always available on DockerHub.

Make sure that Docker daemon is installed and running:

sudo docker info
  • If you do not see the server listed, start the Docker daemon.
  • On Linux, Docker needs sudo privileges. To run Docker commands without sudo privileges, create a docker group and add your users (see Post-installation Steps for Linux for details).

Pull the image:

docker pull qdrant/qdrant

Run the container:

docker run -p 6333:6333 \
    -v $(pwd)/path/to/data:/qdrant/storage \
    qdrant/qdrant

With this command, you will start a Qdrant instance with the default configuration. It will store all data in ./path/to/data directory.

By default, Qdrant uses port 6333, so at localhost:6333 you should see the welcome message.

From source

Qdrant is written in Rust and can be compiled into a binary executable. This installation method can be helpful if you want to compile Qdrant for a specific processor architecture or if you do not want to use Docker for some reason.

Before compiling, make sure that the necessary libraries and the rust toolchain are installed. The current list of required libraries can be found in the Dockerfile.

Select the minimum set of processor instructions that will be available when using the service. The instruction set depends on the hardware at your disposal.

You can enable runtime selection of the architecture at the cost of a slightly bigger binary file size:

export OPENBLAS_DYNAMIC_ARCH=1

Or select specific architecture:

export OPENBLAS_TARGET=CORE2

Build Qdrant with Cargo:

cargo build --release --bin qdrant

After a successful build, the binary is available at ./target/release/qdrant.

With Kubernetes

You can use a ready-made Helm Chart to run Qdrant in your Kubeternetes cluster.

helm repo add qdrant https://qdrant.to/helm
helm install qdrant-release qdrant/qdrant

Read further instructions in qdrant-helm repository.

Configuration

Qdrant gets its operating parameters from the configuration file. The configuration file is read when you start the service from the directory ./config/.

The default values are stored in the file ./config/config.yaml.

You can overwrite values by adding new records to the file ./config/production.yaml. See an example here.

If you are using Docker, then running the service with a custom configuration will be as follows:

docker run -p 6333:6333 \
    -v $(pwd)/path/to/data:/qdrant/storage \
    -v $(pwd)/path/to/custom_config.yaml:/qdrant/config/production.yaml \
    qdrant/qdrant

Where ./path/to/custom_config.yaml is your custom configuration file with values to override.

Among other things, the configuration file allows you to specify the following settings:

  • Optimizer parameters
  • Network settings
  • Default vector index parameters
  • Storage settings

See the comments in the configuration file itself for details.

Python client

In addition to the service itself, Qdrant has a distinct python client, which has some additional features compared to clients generated from OpenAPI directly.

To install this client, just run the following command:

pip install qdrant-client

Integrations

Qdrant may be also used as an efficient vector search backend in some other tools. Please check out the Integrations section for some more details.