Weaviate development setup
This page describes how to run Weaviate from source (git checkout / tarball) locally.
You can find the source code at the Weaviate repo.
Prerequisites:
Running from source
The fastest way to run Weaviate from source is to issue the command below:
tools/dev/run_dev_server.sh <configuration>
Where <configuration>
is one of the server configuration ($CONFIG
) values in /tools/dev/run_dev_server.sh
. For example, you can run:
tools/dev/run_dev_server.sh local-openai
To run the server locally with the OpenAI module.
The default configuration is local-development
which will run the server locally with the text2vec-contextionary
and backup-filesystem
modules.
You can also create your own configuration. For instance, you can clone an entry (local-all-openai-cohere-google
is a good start) and add the required environment variables.
Running with Docker
To run with Docker, start up the Weaviate container and the container(s) for any additional services with
tools/dev/restart_dev_environment.sh [additional_services]
then run the development server as described in the section above.
For example, the setup below uses Docker Compose to spin up Prometheus and Grafana instances. Those are pre-configured to scrape metrics from Weaviate. Using this setup, you can:
- access Weaviate on port
8080
- access Grafana on port
3000
(Login:weaviate
/weaviate
) - if necessary for debugging - access prometheus directly on port
9090
tools/dev/restart_dev_environment.sh --prometheus && tools/dev/run_dev_server.sh local-no-modules
This setup is for contributors to the Weaviate code base. If you are an end-user of Weaviate looking for a Prometheus-enabled example, please see this documentation page or this example.
Below are more examples of running Weaviate with Docker.
Transformers t2v only
tools/dev/restart_dev_environment.sh --transformers && ./tools/dev/run_dev_server.sh local-transformers
Contextionary t2v & Transformers QnA
tools/dev/restart_dev_environment.sh --qna && ./tools/dev/run_dev_server.sh local-qna
The above commands are subject to change as we add more modules and require specific combinations for local testing. You can always inspect restart_dev_environment.sh and run_dev_server.sh to see which options are available. The first option without any arguments is always guaranteed to work.
To make queries from a web interface, use the WCD console to connect to localhost:8080
.
More Resources
For additional information, try these sources.
- Frequently Asked Questions
- Weaviate Community Forum
- Knowledge base of old issues
- Weaviate slack channel
Questions and feedback
If you have any questions or feedback, let us know in the user forum.