Files
landing_page/qdrant-landing/content/documentation/install.md
T

115 lines
4.0 KiB
Markdown

---
title: Installation
weight: 13
---
# Installation
## Docker
The easiest way to start using Qdrant is to run it from a ready-made Docker image.
The latest versions are always available on [DockerHub](https://hub.docker.com/r/qdrant/qdrant/tags?page=1&ordering=last_updated).
Make sure that Docker daemon is installed and running:
```bash
sudo docker info
```
* If you do not see the server listed, start the Docker daemon.
* On Linux, Docker needs `sudo` privileges. To run Docker commands without `sudo` privileges, create a docker group and add your users (see [Post-installation Steps for Linux](https://docs.docker.com/engine/install/linux-postinstall/) for details).
Pull the image:
```bash
docker pull qdrant/qdrant
```
Run the container:
```bash
docker run -p 6333:6333 \
-v $(pwd)/path/to/data:/qdrant/storage \
qdrant/qdrant
```
With this command, you will start a Qdrant instance with the default configuration.
It will store all data in `./path/to/data` directory.
By default, Qdrant uses port 6333, so at [localhost:6333](http://localhost:6333) you should see the welcome message.
## From source
Qdrant is written in Rust and can be compiled into a binary executable.
This installation method can be helpful if you want to compile Qdrant for a specific processor architecture or if you do not want to use Docker for some reason.
Before compiling, make sure that the necessary libraries and the [rust toolchain](https://www.rust-lang.org/tools/install) are installed.
The current list of required libraries can be found in the [Dockerfile](https://github.com/qdrant/qdrant/blob/master/Dockerfile).
Build Qdrant with Cargo:
```bash
cargo build --release --bin qdrant
```
After a successful build, the binary is available at `./target/release/qdrant`.
## With Kubernetes
You can use a ready-made [Helm Chart](https://helm.sh/docs/) to run Qdrant in your Kubeternetes cluster.
```bash
helm repo add qdrant https://qdrant.to/helm
helm install qdrant-release qdrant/qdrant
```
Read further instructions in [qdrant-helm](https://github.com/qdrant/qdrant-helm) repository.
## Configuration
Qdrant gets its operating parameters from the configuration file.
The configuration file is read when you start the service from the directory `./config/`.
The default values are stored in the file [./config/config.yaml](https://github.com/qdrant/qdrant/blob/master/config/config.yaml).
You can overwrite values by adding new records to the file `./config/production.yaml`. See an example [here](https://github.com/qdrant/qdrant/blob/master/config/production.yaml).
If you are using Docker, then running the service with a custom configuration will be as follows:
```bash
docker run -p 6333:6333 \
-v $(pwd)/path/to/data:/qdrant/storage \
-v $(pwd)/path/to/custom_config.yaml:/qdrant/config/production.yaml \
qdrant/qdrant
```
Where `./path/to/custom_config.yaml` is your custom configuration file with values to override.
Among other things, the configuration file allows you to specify the following settings:
- Optimizer parameters
- Network settings
- Default vector index parameters
- Storage settings
- Security settings
See the comments in the [configuration file itself](https://github.com/qdrant/qdrant/blob/master/config/config.yaml) for details.
<aside role="status">Qdrant has no encryption or authentication by default and new instances are open to everyone. Please read <a href="https://qdrant.tech/documentation/security/">Security</a> carefully for details on how to secure your instance.</aside>
## Python client
In addition to the service itself, Qdrant has a distinct python client, which has some additional features compared to [clients](https://qdrant.tech/documentation/quick_start/#clients) generated from OpenAPI directly.
To install this client, just run the following command:
```bash
pip install qdrant-client
```
### Integrations
Qdrant may be also used as an efficient vector search backend in some other tools. Please check out the [Integrations](../integrations/) section
for some more details.