Attu is designed to manage and interact with Milvus, offering features such as:
<h4>Home View</h4>
<img src="./.github/images/connect.png" width="100%" alt="attu home view" />
<h4>Data Explorer</h4>
<img src="./.github/images/screenshot.png" width="100%" alt="attu data explorer" />
<h4>Collection Management</h4>
<img src="./.github/images/data_explorer.png" width="100%" alt="attu data explorer" />
<h4>Create Collection</h4>
<img src="./.github/images/create_collection.png" width="100%" alt="attu create collection dialog" />
<h4>Collection Tree</h4>
<img src="./.github/images/collections.png" width="100%" alt="attu collections" />
<h4>Collection Overview</h4>
<img src="./.github/images/collection_overview.png" width="100%" alt="attu collection view" />
<h4>Data View</h4>
<img src="./.github/images/data_preview.png" width="100%" alt="attu data view" />
<h4>Vector Search</h4>
<img src="./.github/images/vector_search.png" width="100%" alt="attu vector search" />
<h4>System View</h4>
<img src="./.github/images/system_view.png" width="100%" alt="attu system view" />
<h4>Role Chart (Light)</h4>
<img src="./.github/images/role_chart.png" width="100%" alt="attu role chart" />
<h4>Role Chart (Dark)</h4>
<img src="./.github/images/role_chart_night.png" width="100%" alt="attu role chart" />
Start Milvus server (if not already running):
docker run -d --name milvus_standalone -p 19530:19530 -p 9091:9091 milvusdb/milvus:latest
Start Attu:
docker run -p 8000:3000 -e MILVUS_URL=localhost:19530 zilliz/attu:v2.5
Open your browser and navigate to http://localhost:8000
Before you begin, make sure that you have Milvus installed on either Zilliz Cloud or your own server.
Milvus Version | Recommended Attu Version |
---|---|
2.5.x | v2.5.10 |
2.4.x | v2.4.12 |
2.3.x | v2.3.5 |
2.2.x | v2.2.8 |
2.1.x | v2.2.2 |
Here are the steps to start a container for running Attu:
docker run -p 8000:3000 -e MILVUS_URL={milvus server IP}:19530 zilliz/attu:v2.5
Make sure that the Attu container can access the Milvus IP address. After starting the container, open your web browser and enter http://{ Attu IP }:8000
to view the Attu GUI.
Parameter | Example | Required | Description |
---|---|---|---|
MILVUS_URL | 192.168.0.1:19530 | false | Optional, Milvus server URL |
DATABASE | your database | false | Optional, default database name |
ATTU_LOG_LEVEL | info | false | Optional, sets the log level for Attu |
ROOT_CERT_PATH | /path/to/root/cert | false | Optional, path to the root certificate |
PRIVATE_KEY_PATH | /path/to/private/key | false | Optional, path to the private key |
CERT_CHAIN_PATH | /path/to/cert/chain | false | Optional, path to the certificate chain |
SERVER_NAME | your_server_name | false | Optional, name of your server |
SERVER_PORT | Server listen port | false | Optional, 3000 by default if unset |
Please note that the
MILVUS_URL
should be an address that the Attu Docker container can access. Therefore, "127.0.0.1" or "localhost" will not work.
To run the Docker container with these environment variables, use the following command:
docker run -p 8000:3000 \
-v /your-tls-file-path:/app/tls \
-e ATTU_LOG_LEVEL=info \
-e ROOT_CERT_PATH=/app/tls/ca.pem \
-e PRIVATE_KEY_PATH=/app/tls/client.key \
-e CERT_CHAIN_PATH=/app/tls/client.pem \
-e SERVER_NAME=your_server_name \
zilliz/attu:v2.5
This command lets you run the docker container with host networking, specifying a custom port for the server to listen on
docker run --network host \
-v /your-tls-file-path:/app/tls \
-e ATTU_LOG_LEVEL=info \
-e SERVER_NAME=your_server_name \
-e SERVER_PORT=8080 \
zilliz/attu:v2.5
Before you begin, make sure that you have Milvus installed and running within your K8's Cluster. Note that Attu only supports Milvus 2.x.
Here are the steps to start a container for running Attu:
kubectl apply -f https://raw.githubusercontent.com/zilliztech/attu/main/attu-k8s-deploy.yaml
Make sure that the Attu pod can access the Milvus service. In the example provided this connects directly to my-release-milvus:19530
. Change this based on the Milvus service name. A more flexible way to achieve this would be to introduce a ConfigMap
. See this [example]("https://raw.githubusercontent.com/zilliztech/attu/main/examples/attu-k8s-deploy-ConfigMap.yaml") for details.
Running Attu behind a nginx proxy
If you prefer to use a desktop application, you can download the desktop version of Attu.
Note:
- Mac M chip install app failed: attu.app is damaged and cannot be opened.
sudo xattr -rd com.apple.quarantine /Applications/attu.app
Clone the repository:
git clone https://github.com/zilliztech/attu.git
cd attu
Install dependencies:
yarn install
Start development server:
yarn start
yarn run build:dev
yarn run build:release
yarn test
We welcome contributions from the community! Please read our Contributing Guidelines before submitting pull requests.
Please read our Code of Conduct to keep our community approachable and respectable.
create collection | collection tree |
---|---|
![]() |
![]() |
collection overview | data view |
---|---|
![]() |
![]() |
vector search | system view |
---|---|
![]() |
![]() |
role chart | |
![]() |
![]() |
Milvus Typescript Examples:This repo provides some simple React apps based on Next.js.
Name | Demo | Model |
---|---|---|
semantic-search-example | https://zilliz-semantic-search-example.vercel.app | all-MiniLM-L6-v2 |
semantic-image-search | clip-vit-base-patch16 | |
semantic-image-search-client | https://zilliz-semantic-image-search-client.vercel.app | clip-vit-base-patch16 |
Here are some helpful resources to get you started with Milvus:
💬 Join our vibrant community on the Milvus Discord where you can share your knowledge, ask questions and engage in meaningful conversations. It's not just about coding, it's about connecting with other like-minded individuals. Click the link below to join now!
Attu is licensed under the Apache License 2.0. See the LICENSE file for details.
See our CHANGELOG.md for a list of changes between versions.