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)
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
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:Understanding the configuration
Understanding the configuration
Ports:
6333: REST API and Web UI6334: gRPC API (optional, for better performance)
/qdrant/storage: All vector data and indexes (must persist!)/qdrant/snapshots: Collection backups and snapshots/qdrant/config/production.yaml: Custom configuration file
:z suffix on volumes enables SELinux labeling on RHEL/CentOS systems.Production Configuration Example
Createconfig/production.yaml with at minimum:
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
Createdocker-compose.yml:
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
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
target/release/qdrant.3
Run Qdrant
./config/config.yaml.Build with Custom Features
Available build features
Available build features
gpu: Enable NVIDIA/AMD GPU accelerationtracing: Enable distributed tracing supportconsole: Enable Tokio console for async debuggingstacktrace: 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
Configuration Reference
Qdrant uses YAML configuration files located in theconfig/ 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: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
Production firewall rules
Production firewall rules
Public-facing:
- Allow inbound TCP 6333 (REST API)
- Allow inbound TCP 6334 (gRPC, optional)
- Allow TCP 6335 between cluster nodes
- Allow HTTPS (443) for license validation and telemetry (optional)
Security Best Practices
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:
Kubernetes:
--read-only flagKubernetes:
readOnlyRootFilesystem: true5
Network isolation
Use private networks for cluster communication. Only expose REST/gRPC ports.
Monitoring and Health Checks
Health Check Endpoint
200 OK when Qdrant is healthy.
Metrics Endpoint
Docker Health Check
Troubleshooting
Common Issues
Port already in use
Port already in use
Permission denied on volumes
Permission denied on volumes
Out of memory errors
Out of memory errors
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