langbrain/Weaviate.md

84 lines
2.1 KiB
Markdown

---
collection: tech
type: database
---
## Intro
Weaviate is an open-source vector database. It allows you to store data objects and vector embeddings from your favorite ML-models, and scale seamlessly into billions of data objects.
## Docker install
### Prerequisite
You must have [[Docker]] installed on the server you're gonna run.
### Configuration
#### API key
```
services:
weaviate:
...
environment:
...
# Enables API key authentication.
AUTHENTICATION_APIKEY_ENABLED: 'true'
# List one or more keys, separated by commas.
# Each key corresponds to a specific user identity below.
AUTHENTICATION_APIKEY_ALLOWED_KEYS: 'jane-secret-key,anon-secret-key'
# List one or more user identities, separated by commas.
# Each identity corresponds to a specific key above.
AUTHENTICATION_APIKEY_USERS: 'jane,anon'
```
[source](https://weaviate.io/developers/weaviate/configuration/authentication)
#### Authorization
```
services:
weaviate:
...
environment:
...
# Enables API key authentication.
AUTHENTICATION_APIKEY_ENABLED: 'true'
# List one or more keys, separated by commas.
# Each key corresponds to a specific user identity below.
AUTHENTICATION_APIKEY_ALLOWED_KEYS: 'jane-secret-key,anon-secret-key'
# List one or more user identities, separated by commas.
# Each identity corresponds to a specific key above.
AUTHENTICATION_APIKEY_USERS: 'jane,anon'
AUTHORIZATION_ADMINLIST_ENABLED: 'true'
AUTHORIZATION_ADMINLIST_USERS: 'jane'
AUTHORIZATION_ADMINLIST_READONLY_USERS: 'anon'
```
[source](https://weaviate.io/developers/weaviate/configuration/authorization)
#### Persistence
```
services:
weaviate:
volumes:
- /path/to/weaviate/data:/var/lib/weaviate
```
Replace `/path/to/weaviate/data` to the path where you want to store the weaviate data on your server
### Running the Docker container
#### Manual start
Once the Weaviate docker-compose.yml is all set, you can simply start it by running `docker compose -f /path/to/weaviate/docker-compose.yml up`
#### Systemd service file