[{"data":1,"prerenderedAt":117},["ShallowReactive",2],{"seo-verification":3,"blog-heberger-qdrant-vps-en":6},{"google":4,"bing":5},"EycwPY2XMyTkVzas3n1ygeNJFGAH513qrMjfDljzsMQ","",{"id":7,"slug":8,"title":9,"excerpt":10,"readTime":11,"views":12,"isPinned":13,"publishedAt":14,"category":15,"categories":21,"featuredImage":23,"bgImage":24,"posterImage":25,"relatedSolution":26,"intro":28,"sections":29,"ctaTitle":72,"ctaBody":73,"ctaButton":74,"ctaUrl":75,"relatedPosts":76},65,"heberger-qdrant-vps","Hosting Qdrant on a VPS","Host Qdrant on your VPS: a high-performance vector database written in Rust for semantic search and RAG. A Docker, API key and SSL guide.",7,205,false,"2026-04-16T00:00:00+00:00",{"id":16,"name":17,"slug":18,"color":19,"icon":20},6,"Databases","bases-de-donnees","bg-teal-500\u002F10 text-teal-400","database",[22],{"id":16,"name":17,"slug":18,"color":19,"icon":20},null,"\u002Fblog\u002Fcovers\u002Fbg.svg","\u002Fblog\u002Fcovers\u002Fheberger-qdrant-vps-poster.svg",{"categorySlug":18,"appSlug":27},"qdrant","Qdrant is a vector database written in Rust, built for semantic search, recommendation systems and the RAG pipelines of AI applications. Lightweight and fast, it self-hosts perfectly on a VPS to keep your embeddings under your control. Here is how to deploy it with Docker, API key authentication and an SSL certificate.",[30,34,44,47,69],{"type":31,"title":32,"body":33},"h2","Why self-host Qdrant on a VPS","Qdrant stores and queries embedding vectors to find the most semantically similar items: it is the search building block at the heart of RAG chatbots, recommendation engines and natural-language search. Written in Rust, it is fast and resource-efficient, which makes it ideal to host on a VPS rather than paying for a managed vector service billed per stored vector. Self-hosting is crucial for AI applications handling sensitive data: your embeddings, often derived from confidential internal documents, never leave your infrastructure. You also control latency, which is decisive when every user request triggers a vector search, and you avoid the rate limits of third-party APIs during load spikes.",{"type":35,"title":36,"items":37},"ul","The concrete benefits of self-hosting Qdrant",[38,39,40,41,42,43],"Fast approximate nearest-neighbour (ANN) search thanks to the HNSW index, even across millions of vectors.","Payload filtering combined with vector search for precise hybrid queries.","Scalar and binary quantization to sharply reduce the memory occupied by vectors.","REST and gRPC APIs, plus official Python, JavaScript and Rust SDKs ready to use.","Privacy: your embeddings derived from internal documents stay on your VPS.","No billing per vector or per query volume, unlike managed services.",{"type":31,"title":45,"body":46},"Hardware and software prerequisites","Sizing Qdrant depends on the number of vectors and their dimension. To start with a few hundred thousand vectors, 2 GB of RAM is enough; beyond a million high-dimensional vectors, aim for 4 to 8 GB, because the HNSW index lives in memory to stay fast. Quantization helps reduce this footprint. One to two vCPUs are fine for moderate traffic. Plan for 20 to 50 GB of SSD to persist collections and snapshots. You will need Docker, a domain if you expose the API publicly, and an API key without fail: Qdrant enables no authentication by default, and exposing an open instance would be a major vulnerability.",{"type":48,"title":49,"steps":50},"steps","Deploy Qdrant step by step",[51,54,57,60,63,66],{"title":52,"body":53},"Provision the VPS and Docker","Install Docker and configure the firewall to allow only 80 and 443 through. Create a DNS A record for `vectors.mydomain.com` pointing to the VPS IP if you plan to expose the API over HTTPS.",{"title":55,"body":56},"Launch Qdrant with persistence","Use the `qdrant\u002Fqdrant` image. Mount a volume on `\u002Fqdrant\u002Fstorage` to persist your collections: `volumes: - .\u002Fqdrant_storage:\u002Fqdrant\u002Fstorage`. Qdrant exposes REST on `6333` and gRPC on `6334`.",{"title":58,"body":59},"Enable API key authentication","Set the environment variable `QDRANT__SERVICE__API_KEY` with a long, random key (`openssl rand -hex 32`). Without this key, anyone reaching the port could read and delete your collections.",{"title":61,"body":62},"Set up the reverse proxy and TLS","Place Caddy in front of port `6333`: `vectors.mydomain.com { reverse_proxy localhost:6333 }`. Caddy manages the Let's Encrypt certificate. If you use gRPC from your clients, also configure routing for port `6334` with the correct protocol.",{"title":64,"body":65},"Create a collection and insert vectors","Via the API or the Python SDK, create a collection specifying the dimension of your embeddings and the distance (`Cosine`, `Dot` or `Euclid`). Enable scalar quantization at creation time if RAM is limited, then upsert your points with their payload.",{"title":67,"body":68},"Configure snapshots and backup","Trigger regular snapshots via the API (`POST \u002Fcollections\u002F{name}\u002Fsnapshots`) and copy them to external storage. Combined with volume persistence, this guarantees recovery in the event of an incident.",{"type":70,"body":71},"tip","When memory becomes the limiting factor, enable scalar (`int8`) or binary quantization: it can divide the RAM footprint of vectors by 4 to 32, with slight oversampling (`oversampling`) at query time to preserve accuracy. Combine it with the `on_disk` parameter for the original vectors so you keep only the quantized index in memory. This is what makes it possible to serve millions of vectors on a VPS with a few gigabytes of RAM.","Launch your Qdrant vector database for AI","The ServOrbit Cloud VPS offers the memory and NVMe disks you need to host Qdrant and power your RAG pipelines and semantic search engines, with SSL and authentication under your control.","Deploy on Cloud VPS","\u002Fvps-cloud",[77,91,104],{"id":78,"slug":79,"title":80,"excerpt":81,"readTime":82,"views":83,"isPinned":13,"publishedAt":84,"category":85,"categories":86,"featuredImage":23,"bgImage":24,"posterImage":88,"relatedSolution":89},56,"heberger-postgresql-vps","PostgreSQL on a VPS: a reliable and controlled database","Host PostgreSQL on a VPS: volumes, backups, restricted network access and sound configuration for your applications.",8,2240,"2026-04-25T00:00:00+00:00",{"id":16,"name":17,"slug":18,"color":19,"icon":20},[87],{"id":16,"name":17,"slug":18,"color":19,"icon":20},"\u002Fblog\u002Fcovers\u002Fheberger-postgresql-vps-poster.svg",{"categorySlug":18,"appSlug":90},"postgresql",{"id":92,"slug":93,"title":94,"excerpt":95,"readTime":11,"views":96,"isPinned":13,"publishedAt":97,"category":98,"categories":99,"featuredImage":23,"bgImage":24,"posterImage":101,"relatedSolution":102},57,"heberger-mysql-vps","Hosting MySQL on a VPS","Host MySQL on your Cloud VPS: Docker deployment, hardening, InnoDB tuning, and automated backups, step by step.",509,"2026-04-24T00:00:00+00:00",{"id":16,"name":17,"slug":18,"color":19,"icon":20},[100],{"id":16,"name":17,"slug":18,"color":19,"icon":20},"\u002Fblog\u002Fcovers\u002Fheberger-mysql-vps-poster.svg",{"categorySlug":18,"appSlug":103},"mysql",{"id":105,"slug":106,"title":107,"excerpt":108,"readTime":11,"views":109,"isPinned":13,"publishedAt":110,"category":111,"categories":112,"featuredImage":23,"bgImage":24,"posterImage":114,"relatedSolution":115},58,"heberger-redis-vps","Hosting Redis on a VPS","Deploy Redis on your Cloud VPS: ultra-fast cache, sessions, and queues, with persistence, security, and memory tuning.",546,"2026-04-23T00:00:00+00:00",{"id":16,"name":17,"slug":18,"color":19,"icon":20},[113],{"id":16,"name":17,"slug":18,"color":19,"icon":20},"\u002Fblog\u002Fcovers\u002Fheberger-redis-vps-poster.svg",{"categorySlug":18,"appSlug":116},"redis",1785628446480]