🔵 Setup Qdrant — Vector Database for AI & RAG Pipelines
Deploy Qdrant on Ubuntu — a high-performance Rust-built vector similarity database ideal for RAG pipelines, semantic search, recommendation engines, and AI applications.
📦 Resources & Setup Scripts
Grab the automated bash script from GitHub to follow along with the video.
Quick Install:
wget https://raw.githubusercontent.com/mhmdali94/Docker/main/AI/qdrant/qdrant-ubuntu.sh
chmod +x qdrant-ubuntu.sh
sudo bash qdrant-ubuntu.sh
Tutorial Steps
1 Download the Script
wget https://raw.githubusercontent.com/mhmdali94/Docker/main/AI/qdrant/qdrant-ubuntu.sh
2 Make it Executable
chmod +x qdrant-ubuntu.sh
3 Run the Installer
The script installs Docker if needed, pulls the Qdrant image, and starts it with persistent volume storage automatically.
sudo bash qdrant-ubuntu.sh
4 Access the Dashboard
Open your browser and navigate to the Qdrant Web UI:
http://<your-server-ip>:6333/dashboard
Ports Used
| Port | Purpose |
|---|---|
| 6333 | REST API + Web Dashboard |
| 6334 | gRPC API |
Overview
Qdrant is a high-performance, production-grade vector similarity search engine and database built in Rust. It stores high-dimensional embedding vectors alongside structured payload metadata and provides ultra-fast approximate nearest neighbor (ANN) search. Qdrant is purpose-built for AI applications — powering RAG pipelines, semantic search, recommendation systems, anomaly detection, and duplicate detection. It exposes both a REST API and a gRPC API, includes a built-in web dashboard, and supports payload filtering for hybrid vector + metadata searches.
Why Use It
Every modern AI application needs a place to store and efficiently search vector embeddings. Qdrant provides the fastest self-hosted option — outperforming competitors in many benchmarks. Its Rust-based architecture delivers consistent low latency even on large collections. Unlike managed cloud vector databases, Qdrant gives you full control over your embeddings, no per-query pricing, and complete data privacy for sensitive or regulated workloads.
When You Need It
Who Should Use It
Real Use Cases
Main Features
How to Use After Installation
Security Best Practices
Ports and Firewall Notes
Qdrant uses port 6333 for the REST API and built-in web dashboard, and port 6334 for the gRPC API. Neither port should be publicly accessible without authentication. For internal services, restrict both ports to your Docker network or server subnet. If external clients need access, reverse proxy through Nginx with HTTPS and API key headers, or restrict access via WireGuard VPN.
Backup and Maintenance
Common Mistakes
Troubleshooting
Alternatives
Chroma is a Python-native lightweight vector store popular for quick prototyping. Weaviate provides a more feature-rich multi-modal vector database with built-in text vectorization. Milvus is a distributed vector database for massive scale. pgvector adds vector search to PostgreSQL, useful when you want vector capabilities alongside relational data in an existing Postgres setup.
When Not to Use It
For very small datasets (under a few thousand vectors), a simple in-memory search or a SQLite extension is simpler. If you already run PostgreSQL, pgvector may be sufficient and avoids adding another service. If your team is fully Python-based and prototyping quickly, Chroma's simpler API may be more appropriate.
PrismaTechWork Professional Help
PrismaTechWork provides end-to-end infrastructure services — from initial deployment and security hardening to ongoing monitoring, automated backups, and dedicated support.
Frequently Asked Questions
What programming languages does Qdrant support?
Qdrant provides official client libraries for Python, TypeScript/JavaScript, Rust, Go, Java, and C#. Any language that can make HTTP requests can use the REST API directly. The gRPC API is available for performance-critical applications.
How do I connect Qdrant to Open WebUI or AnythingLLM?
In Open WebUI or AnythingLLM settings, select Qdrant as the vector store and enter http://your-server-ip:6333 as the endpoint. If you enabled API key authentication, provide the key in the corresponding field. Create a dedicated collection for each knowledge base.
How many vectors can Qdrant handle?
A single Qdrant node can handle tens of millions of vectors depending on available RAM and vector dimensions. With quantization enabled, memory usage is reduced significantly. For hundreds of millions of vectors, Qdrant supports distributed mode across multiple nodes.
Can Qdrant filter search results by metadata?
Yes. Qdrant supports payload filtering — you can search by vector similarity AND filter by metadata fields (tags, categories, date ranges) in a single query. This enables hybrid semantic + structured search without post-processing.
How do I back up Qdrant data?
Use the snapshots API: POST /collections/{collection_name}/snapshots to create a snapshot, then download it. Automate this with a cron job. You can also back up the Docker volume directly for a full data copy.