This section shows you available options for running Weaviate, and how to install and configure Weaviate with each option.
How to run Weaviate
You can run Weaviate with any of the following methods:
- Weaviate Cloud Services – Use this managed Weaviate service for both development and production environments.
- Docker Compose – Opt for this containerized deployment method primarily for development projects.
- Kubernetes – Ideal for scalable, containerized deployments, this method is typically employed for production setups.
- Embedded Weaviate - For in-line instantiation from a client; currently in experimental stage and great for evaluation.
- AWS Marketplace - Conveniently deploy directly from the AWS Marketplace.
The Weaviate library is identical regardless of whether it is used via Weaviate Cloud Services (WCS) or by downloading an open source version. The only difference that WCS manages your Weaviate instance for you and comes with a specific SLA, whereas Weaviate open source comes with a BSD-3 license.
Both Docker Compose and Kubernetes setups use a yaml file for customizing Weaviate instances, typically called
values.yaml respectively. These files will be referred to throughout the documentation as
configuration yaml files.
If self-hosting, we recommend starting with Docker and gaining familiarity with Weaviate and its configurations. You can later apply this knowledge when you are creating your Helm charts.
Run an unreleased version
You can run Weaviate with
docker compose, building your own container off the
master branch. Note that this may not be an officially release, and may contain bugs.
git clone https://github.com/weaviate/weaviate.git
docker build --target weaviate -t name-of-your-weaviate-image .
Then, make a
docker-compose.yml file with this new image. For example:
After the build is complete, you can run this Weaviate build with docker compose:
docker compose up