Installation

License badge Weaviate on Stackoverflow badge Weaviate issues on Github badge Weaviate v1.16.5 version badge Weaviate v1.16.5 version badge Weaviate total Docker pulls badge


There are three ways you can run Weaviate, and they are -we believe- pretty straightforward.

  1. Weaviate Cloud Service
  2. Docker
  3. Kubernetes

Weaviate Cloud Service

The fastest way 🚀 to create a new Weaviate instance – from scratch – is to use the Weaviate Cloud Service (aka, the WCS). The WCS is a completely managed service, so you don’t have to install or maintain anything to run Weaviate. Currently, the service is in private beta, but (🤫) if you log in to the Weaviate Cloud Console, you can create a free sandbox to play around with.

If you are itching to get started with WCS, just skip to the WCS hands-on section.

Running Weaviate yourself

Alternatively, if you prefer to install and deploy Weaviate yourself, then you can work with either Docker or Kubernetes.

Docker

Working with Docker is great if you are building an application around Weaviate and want to run Weaviate on your local machine or in the cloud. If you have Docker already installed, you could have it all up and running in seconds (minutes if you use a prepackaged transformers module).

We even have a handy step-by-step configurator, which lets you pick your configuration, and as a result you will receive a command to spin up your docker setup.

You can find the installation instructions for Docker here.

Kubernetes

Generally, we recommend using Kubernetes to deploy Weaviate for any long-running deployments or those with specific availability expectations, such as production use cases.

For local development or personal evaluation, using Docker Compose will most likely be sufficient.

Using Weaviate with Kubernetes is out of scope for this tutorial. You can find more info on Kubernetes here.

Self-deployment instructions

The installation and configuration with Docker and Kubernetes is out of scope for this tutorial, as all code examples include references to a WCS instance. To learn about deploying Weaviate locally, follow the installation documentation page.

If you feel comfortable making a few changes to the code examples in the tutorial and you prefer to run Weaviate locally, you can set up Weaviate with Docker in two steps:

  1. Get docker-compose.yml configuration file by calling:
     curl -o docker-compose.yml "https://configuration.semi.technology/v2/docker-compose/docker-compose.yml?enterprise_usage_collector=false&modules=standalone&runtime=docker-compose&weaviate_version=v1.16.5"
    
  2. Sping up docker
     docker-compose up -d
    

Then you can continue with the tutorial and skip to the Schema page.

WCS hands-on

To create a new Weaviate instance on the Weaviate Cloud Service, we need to follow these steps:

  1. Sign in to WCS
  2. Create a Weaviate Cluster
  3. Test the connection

Sign in to WCS

In order to access WCS, navigate to the Weaviate Cloud Console and “Sign in with the Weaviate Cloud Service”, where you will be able to create and manage your Weaviate Clusters.

No account, no problem

If you don’t have an account with WCS yet, click the “Don’t have an account? Sign Up” link and create an account.

Register link

Create a Weaviate Cluster

To create a new Weaviate Cluster:

  1. Press the “Create a Weaviate Cluster” button
  2. Configure the cluster:
    1. Set the name for your cluster – note: The name will become part of the URL we will use to access this instance. Please use a different name than “getting-started”.
    2. Leave the Subscription Tier as Sandbox - note: The sandbox is free, but it will expire after 30 days
    3. Leave the Weaviate Version as the latest
    4. Leave the Standalone Or Modules as Standalone, no Modules
    5. change the OIDC Authentication to Disabled

    Cluster Configuration

  3. Finally, press Create.

This will start the process to create a new cluster. The status indicator on the left will show the progress (in %); after a few minutes, you should see a green tick ✔️ - indicating that the cluster is ready.

Test the connection

To test the connection, click on the Cluster Id link, which will open a new page in your browser and display all the available endpoints. Weaviate Cluster

💡 Note: For every endpoint, there is a documentationHref link, which points us to relevant documentation pages.

Now, we are ready to start working with Weaviate. 🎉

Recapitulation

  • You can run Weaviate with Weaviate Cloud Service, Docker or Kubernetes.
  • Weaviate Cloud Service is a managed Weaviate SaaS - great for development and production.
  • Docker alows you to set up Weaviate on your machine or in the cloud – great for development and production.
  • Kubernetes is great for long-running Weaviate deployments
  • You have a working instance of Weaviate in WCS.

Next Steps

Next, learn about the Weaviate Schema.

Alternatively, you can:

More Resources

If you can’t find the answer to your question here, please look at the:

  1. Frequently Asked Questions. Or,
  2. Knowledge base of old issues. Or,
  3. For questions: Stackoverflow. Or,
  4. For issues: Github. Or,
  5. Ask your question in the Slack channel: Slack.