Qdrant
Qdrant vector database - single container + volume, internal-only, with the dashboard a flag away.
One-click deploy, from $7/mo on a Miget plan.
Qdrant is a vector database written in Rust: HNSW indexes, rich payload filtering, hybrid search, and a clean REST + gRPC API that every RAG framework (LangChain, LlamaIndex, Haystack) supports natively. If you are embedding documents and asking an LLM about them, this is the store in the middle.
This template runs a single Qdrant node with a 10 GB persistent volume, internal-only by default - no API key is configured, so the project network is the security boundary. Your apps reach it at qdrant:6333 (REST) or :6334 (gRPC); nothing is exposed to the internet.
Vector workloads are RAM-shaped and predictable, which makes flat-price self-hosting unusually attractive: 1 GiB holds on the order of a million 768-dim vectors with quantization to spare.
Upstream project: Qdrant
#what you get
- HNSW vector search with payload filtering and hybrid queries
- REST (:6333) + gRPC (:6334), first-class clients for Python/TS/Go/Rust
- Built-in web dashboard (enable a public domain + API key to use it remotely)
- Snapshots and on-disk payload/vector storage on a 10 GB volume
- Internal-only by default - project network as the boundary
- Supported by every major RAG framework out of the box
#topology
| Service | Role | Public |
|---|---|---|
| qdrant | vector database (REST :6333, gRPC :6334, dashboard) | no (by design) |
#miget sizing
// this stack needs
1 GiB RAM · 10 GB disk · 1 service
1 GiB RAM comfortably serves ~1M 768-dim vectors with default settings; scalar quantization roughly quadruples that. Scale RAM with collection size - vectors live in memory for speed.
Hobby - recommended fit
$7/mo
1 vCPU · 1 GiB · 25 GiB disk
Headroom for your own apps: 2 GiB at $13/mo
Professional - production
$22/mo
1 vCPU · 2 GiB · 10 GiB disk
Dedicated resources, production SLOs - plan details
One Miget plan is a fixed pool of compute - the whole stack (managed databases included) deploys inside it, and anything left over runs your other apps. No per-service or per-seat math.
#vs. the managed service
What the hosted equivalents charge, against the flat Miget plan this stack fits on. Prices as of June 2026, sources linked.
| Service | Plan | Monthly | What you get |
|---|---|---|---|
| Qdrant on Miget ★ | 1 GiB plan | $7 | this whole stack, flat - no usage meters, and room left for your own apps |
| Qdrant Cloud | Standard (gpx1, 2 GiB) | ~$26 | smallest dedicated node (2 GiB RAM / 0.5 vCPU / 8 GiB disk), single node - HA multiplies |
#vs. other PaaS
Estimated monthly cost of running this exact stack (1 GiB RAM, 10 GB disk, 1 container) elsewhere, from published June 2026 rates.
| Platform | Est. monthly | Notes |
|---|---|---|
| Miget ★ | $7 flat | compose stacks first-class: one deploy, dedicated vCPU, managed Postgres/Valkey, volumes and TLS all included in the plan |
| Heroku | ~$50 | no volumes; nothing between 1 GB ($50) and 2.5 GB ($250) dynos - 2 GB containers cost far more than shown |
| DO App Platform | ~$17 | no persistent volumes - stateful containers need managed DBs/Spaces (base $5 Spaces included here) |
| Render | ~$15 | per-service instances (0.5 GB $7, 2 GB $25) - every container is its own paid service |
| Railway | ~$12 | usage-based ($10/GB RAM-mo); vCPU billed separately at $20/vCPU-mo on top |
| Fly.io | ~$7 | cheapest sticker price - but burstable shared CPUs (1/16 core; dedicated vCPUs cost ~2-3×), no compose deploys (one app per container, manual wiring), managed DBs billed extra |
Estimates assume RAM fully allocated at published on-demand rates - and sticker price isn't the whole comparison: the cheaper rows buy burstable shared CPUs, per-service wiring instead of a compose deploy, and managed databases billed separately. Heroku and DO App Platform have no persistent volumes at all - stateful stacks like this one need workarounds there.
#deploy it
On Miget
- Create a Compose Stack in app.miget.com pointing at the templates repository
- Set the stack path to
qdrant - No required variables - deploy as-is
- Deploy. Miget layers
compose.miget.yaml(RAM, privacy, volumes, managed services) automatically
Locally first?
Every template is portable, vanilla Docker Compose - the Miget overrides are ignored locally:
git clone https://github.com/deployable-sh/stacks
cd miget-compose-templates/qdrant
docker compose up -d Same files, same behavior. The template README covers connection strings and scaling notes.
#faq
How much does self-hosting Qdrant cost vs Qdrant Cloud?
This single-node template fits the 1 GiB Miget hobby plan at $7/month flat. Qdrant Cloud’s smallest always-on paid clusters land meaningfully higher for the same RAM, and egress/network policies differ - for side projects and internal RAG, flat $7 is hard to argue with.
Is Qdrant good for RAG applications?
It is one of the most popular choices: native integrations in LangChain, LlamaIndex, and Haystack, payload filtering for metadata-constrained retrieval, and hybrid (dense + sparse) search for better recall.
Why is the template internal-only?
It ships without an API key, so it must not face the internet. Apps in the same Miget project reach qdrant:6333 privately. To expose the dashboard, set QDRANT__SERVICE__API_KEY and remove private: true - the README walks through it.
How many vectors fit in this instance?
Roughly 1M vectors at 768 dimensions in 1 GiB with defaults; with scalar quantization, several million. Bump the RAM in compose.miget.yaml and pick the next plan up as collections grow.
Ship Qdrant today
One compose stack, 1 GiB of RAM, from $7/month flat, and it runs on your laptop with the same files.