Skip to main content

Installation

Qdrant can be deployed in multiple ways depending on your use case, from local development to production cloud deployments. This guide covers all installation methods.
For production environments, always enable authentication and TLS encryption. See the security guide for best practices.

System Requirements

Before installing Qdrant, ensure your system meets these minimum requirements:

Hardware Requirements

  • CPU: Modern x86-64 or ARM64 processor (SIMD support recommended)
  • RAM: Minimum 2GB (depends on collection size and configuration)
  • Disk: SSD recommended for optimal performance (Qdrant uses async I/O)
  • Network: Low-latency connection for distributed deployments

Software Requirements

  • OS: Linux (recommended), macOS, or Windows with WSL2
  • Docker: Version 20.10+ (for container deployments)
  • Kubernetes: Version 1.21+ (for K8s deployments)
  • Rust: Version 1.92+ (for building from source)
Qdrant uses jemalloc for memory allocation on x86-64 and ARM64 architectures, providing better performance than the system allocator.

Docker Installation

Docker is the quickest and most popular way to run Qdrant.

Basic Docker Setup

1

Pull the latest image

2

Run with default settings

This starts an insecure deployment without authentication. Never use this configuration in production!
3

Access the service

Qdrant is now available at:
  • REST API: http://localhost:6333
  • Web UI: http://localhost:6333/dashboard

Production Docker Setup

For production use, mount volumes for data persistence and provide custom configuration:
Ports:
  • 6333: REST API and Web UI
  • 6334: gRPC API (optional, for better performance)
Volumes:
  • /qdrant/storage: All vector data and indexes (must persist!)
  • /qdrant/snapshots: Collection backups and snapshots
  • /qdrant/config/production.yaml: Custom configuration file
Security: The :z suffix on volumes enables SELinux labeling on RHEL/CentOS systems.

Production Configuration Example

Create config/production.yaml with at minimum:
Always use TLS when enabling API key authentication. Sending API keys over unencrypted channels is insecure.

Advanced Docker Options

Running as Non-Root User

For enhanced security, run Qdrant with a specific user ID:

GPU Support

Qdrant supports NVIDIA and AMD GPUs for accelerated vector operations:

Docker Compose

For more complex deployments with multiple services, use Docker Compose.

Single Node Deployment

Create docker-compose.yml:
Start the service:

Distributed Cluster Deployment

For a 3-node cluster with Docker Compose:
Cluster mode enables horizontal scaling with automatic sharding and replication. The bootstrap_uri points to an existing cluster node.

Kubernetes Deployment

Qdrant provides an official Helm chart for Kubernetes deployments.

Prerequisites

  • Kubernetes cluster (1.21+)
  • Helm 3.x installed
  • kubectl configured

Install with Helm

1

Add Qdrant Helm repository

2

Create a values file

Create qdrant-values.yaml:
3

Install Qdrant

4

Verify deployment

The Helm chart automatically configures cluster mode, persistent volumes, and health checks for production readiness.

Access Qdrant in Kubernetes

Build from Source

For development or custom builds, compile Qdrant from source.

Prerequisites

  • Rust: Version 1.92 or higher
  • Cargo: Rust’s package manager
  • Build tools: clang, cmake, protobuf-compiler

Clone and Build

1

Clone the repository

2

Build in release mode

This will take several minutes. The binary will be at target/release/qdrant.
3

Run Qdrant

Qdrant will start with default settings, reading config from ./config/config.yaml.

Build with Custom Features

  • gpu: Enable NVIDIA/AMD GPU acceleration
  • tracing: Enable distributed tracing support
  • console: Enable Tokio console for async debugging
  • stacktrace: Enable stack trace collection (Linux only)
  • service_debug: Enable parking_lot deadlock detection

Custom Build Options

The Dockerfile shows advanced build options:

Qdrant Cloud

The fastest way to run Qdrant in production without managing infrastructure.

Features

Fully Managed

Zero ops burden - automatic updates, backups, and scaling

High Availability

Built-in redundancy and automatic failover

Global Deployment

Deploy in multiple regions worldwide

Free Tier

Start free with 1GB storage and 1M vectors

Getting Started

1

Sign up

Visit cloud.qdrant.io and create an account.
2

Create a cluster

Choose your region, size, and configuration through the web console.
3

Get credentials

Copy your cluster URL and API key from the dashboard.
4

Connect

Qdrant Cloud automatically handles TLS, authentication, backups, and monitoring - letting you focus on building applications.

Configuration Reference

Qdrant uses YAML configuration files located in the config/ directory.

Key Configuration Sections

Service Configuration

Storage Configuration

HNSW Index Configuration

Cluster Configuration

View the complete reference configuration at config/config.yaml in the source repository.

Environment Variables

You can override any configuration value using environment variables:
This is particularly useful in containerized environments.

Ports and Networking

Default Ports

  • 6333: HTTP REST API and Web UI
  • 6334: gRPC API (optional, better performance)
  • 6335: P2P communication (cluster mode only)

Firewall Configuration

Public-facing:
  • Allow inbound TCP 6333 (REST API)
  • Allow inbound TCP 6334 (gRPC, optional)
Cluster communication (private network only):
  • Allow TCP 6335 between cluster nodes
Outbound:
  • Allow HTTPS (443) for license validation and telemetry (optional)

Security Best Practices

Never run Qdrant in production without proper security!
1

Enable authentication

Set service.api_key in your configuration file.
2

Enable TLS encryption

3

Run as non-root user

Use Docker’s USER_ID build arg or Kubernetes security contexts.
4

Enable read-only mode

Docker: --read-only flag
Kubernetes: readOnlyRootFilesystem: true
5

Network isolation

Use private networks for cluster communication. Only expose REST/gRPC ports.

Monitoring and Health Checks

Health Check Endpoint

Returns 200 OK when Qdrant is healthy.

Metrics Endpoint

Returns Prometheus-compatible metrics.

Docker Health Check

Troubleshooting

Common Issues

Increase RAM or enable memory optimization:

Logging

View logs with Docker:

Next Steps

Quick Start

Get started with your first collection and search

Configuration Guide

Deep dive into all configuration options

Security Guide

Production security hardening

Performance Tuning

Optimize for your specific use case