How to Create Weaviate Clusterspublic
Last verified 1 Jul 2026
DigitalOcean Managed Weaviate is a fully managed Weaviate vector database for retrieval-augmented generation, semantic search, and similarity-based AI workloads. Clusters are provisioned, secured, backed up, and patched by DigitalOcean.
You can create a Weaviate cluster using the API or from the Control Panel.
We currently support Weaviate version 1.37.4. To view available plans and regions for new clusters, use the List plans endpoint.
Create a Cluster Using the Control Panel
The steps below walk through creating a cluster in the Control Panel on the Vector Databases page.
Create a Vector Database Cluster Using the Control Panel
To create a vector database cluster, go to the Vector Databases page, and then click Create Vector Database. Or click Create at the top of any page and choose Vector Database from the Data Services section of the menu.
Choose a Database Engine
On the Create a Vector Database page, under the Choose a database engine section, select Weaviate. The database engine can’t be changed after creation.
Choose a Database Plan
In the Choose a database plan section, select one of the following options:
| Size | vCPU | RAM | Disk | Typical use |
|---|---|---|---|---|
| Small | 1 vCPU | 2 GB | 3 GiB | Development, testing, under 100k vectors |
| Medium | 2 vCPU | 4 GB | 11 GiB | Production RAG, moderate data volumes |
| Large | 8 vCPU | 32 GB | 230 GiB | Large corpora, latency-sensitive workloads |
Each option shows its combined monthly cost and included resources, such as vCPUs and memory.
After creation, you can increase your cluster’s compute size at any time.
Choose a Datacenter Region
In the Choose a datacenter region section, select a datacenter for your cluster.
Finalize and Create
In the Finalize and Create section, enter a unique name for the cluster and select a project to add it to. After creation, you can move the cluster to another project, but its name can’t be changed.
Managed Weaviate clusters are labeled Public Preview. Review the disclaimer and Managed Weaviate public preview terms before you create the cluster.
Optionally, add tags to organize your cluster for billing and reporting.
When finished, click Create Vector Database.
Clusters typically take five minutes or more to provision. After provisioning, you can connect to your cluster.
Create a Cluster Using the API
The examples below use https://api.digitalocean.com/v2/vector-databases. Authenticate each request with a DigitalOcean API token in the request headers.
Set environment variables before you run the examples:
export DIGITALOCEAN_TOKEN="<your-do-api-token>"
export PROJECT_ID="<your-project-uuid>"List Available Plans
Send a GET request to the plans endpoint to confirm sizing options and the regions enabled for your account:
curl -X GET "https://api.digitalocean.com/v2/vector-databases/plans" \
-H "Authorization: Bearer $DIGITALOCEAN_TOKEN" \
-H "Content-Type: application/json"The response lists each plan along with its vcpu, usable_memory_mib, disk_mib, pricing, and enabled_regions array.
{
"plans": [
{
"size": "small",
"vcpu": 1,
"disk_mib": 3072,
"usable_memory_mib": 2048,
"deprecated": false,
"enabled_regions": ["ams3", "atl1", "ric1", "tor1"]
}
]
}Create a Cluster
Send a POST request with the cluster name, region, plan size, and project ID:
curl -X POST "https://api.digitalocean.com/v2/vector-databases" \
-H "Authorization: Bearer $DIGITALOCEAN_TOKEN" \
-H "Content-Type: application/json" \
-d '{
"name": "my-vector-db",
"region": "tor1",
"size": "small",
"project_id": "'"$PROJECT_ID"'",
"tags": ["production", "ml-team"]
}'| Parameter | Required | Description |
|---|---|---|
name |
Yes | 3-30 characters. Lowercase letters, numbers, and hyphens. Must start with a letter and not begin or end with a hyphen, and cannot contain consecutive hyphens. Must be unique within your account. |
region |
Yes | A region slug returned by the plans endpoint, for example tor1. |
size |
Yes | small, medium, or large. |
project_id |
Yes | UUID of the project that will own the cluster. |
tags |
No | Array of strings used to organize resources for billing and reporting. |
A successful response returns the cluster object with status: "pending" and a null endpoints field. Provisioning typically completes in about 5 minutes.
{
"vector_db": {
"id": "a1b2c3d4-e5f6-7890-abcd-ef1234567890",
"name": "my-vector-db",
"region": "tor1",
"status": "pending",
"size": "small",
"config": {
"default_quantization": "rq",
"enable_auto_schema": true
},
"endpoints": null,
"tags": ["production", "ml-team"]
}
}The status field moves through this lifecycle:
| Status | Description |
|---|---|
pending |
Request received, queued for provisioning. |
creating |
Cluster is being provisioned. |
active |
Ready to accept connections. |
errored |
Provisioning failed. Open a support ticket with the ID. |
deleting |
Cluster is being torn down. |
Wait for the Cluster to Become Active
Poll the cluster until status is active and endpoints contains the HTTP and gRPC hosts.
curl -X GET "https://api.digitalocean.com/v2/vector-databases/$CLUSTER_ID" \
-H "Authorization: Bearer $DIGITALOCEAN_TOKEN"{
"vector_db": {
"id": "a1b2c3d4-e5f6-7890-abcd-ef1234567890",
"status": "active",
"endpoints": {
"http": "https://my-vector-db-abc123.weaviate.digitalocean.com",
"grpc": "my-vector-db-abc123-grpc.weaviate.digitalocean.com:443"
}
}
}Always read the hostname from the endpoints object instead of constructing it. Hostnames are not stable across cluster recreation.
After the cluster is active, retrieve credentials and connect. See How to Connect to Weaviate Clusters.
For the full API reference, see Vector Databases API.