Skip to Content
Quick Start

Quick Start

Get up and running with Endee Vector Database in minutes. This guide will walk you through setting up Endee locally and connecting your first application.

Prerequisites

Before you begin, ensure you have:

To verify Docker is installed:

docker --version docker compose version

Getting Started

Choose your preferred method to get Endee running locally:

The fastest way to get started is using Docker Compose.

Create Project Directory

mkdir endee && cd endee

Create docker-compose.yml

Create a file named docker-compose.yml with the following content:

services: endee: image: endeeio/endee-server:latest container_name: endee-server ports: - "8080:8080" ulimits: nofile: 100000 logging: driver: "json-file" options: max-size: "200m" max-file: "5" environment: NDD_NUM_THREADS: 0 # Automatic thread detection NDD_AUTH_TOKEN: "" # Authentication token (optional) volumes: - endee-data:/data restart: unless-stopped volumes: endee-data:

Start Endee

docker compose up -d

Verify the Server is Running

docker ps

You should see a container named endee-server.

Access the Dashboard

Once the server is running, access the Endee Dashboard at:

http://localhost:8080 

The dashboard allows you to:

  • Create and manage indexes
  • View index statistics and metrics
  • Monitor query performance

By default, you can connect without authentication for development purposes.

Connect Your Application

Install the Python SDK

pip install endee

Create and Query an Index

from endee import Endee, Precision # Connect to local Endee server client = Endee() # Create an index client.create_index( name="my_index", dimension=384, space_type="cosine", precision=Precision.INT8D ) # Get the index index = client.get_index(name="my_index") # Add vectors index.upsert([ { "id": "doc1", "vector": [...], "meta": {"title": "First Document"} } ]) # Query results = index.query(vector=[...], top_k=5)

Custom Domain & Port: If your Endee server runs on a different port, configure the base URL:

client = Endee() client.set_base_url('http://0.0.0.0:8081/api/v1')

Direct API Access

Refer to http://localhost:8080/tutorials  for API references.

Managing the Service

Docker Compose Commands

# Stop the service docker compose down # Stop and remove data docker compose down -v # View logs docker logs -f endee-server # Upgrade to latest docker compose pull docker compose up -d

Configuration

VariableDescriptionDefault
NDD_NUM_THREADSNumber of threads (0 = auto)0
NDD_DATA_DIRData storage directory/data
NDD_AUTH_TOKENAuthentication token""

Authentication Required: If you set NDD_AUTH_TOKEN, you must:

  1. Enter the same token in the dashboard to access it
  2. Pass the same token when initializing the Python client: Endee("<your-token>")

All API requests will fail without the matching token. See Authentication for details.

Data Persistence

Your index data is stored in the Docker volume endee-data (or NDD_DATA_DIR for source builds). This ensures data persists across restarts.

To back up your data:

# Create a backup docker run --rm \ -v endee-data:/data \ -v $(pwd):/backup \ alpine tar czf /backup/endee-backup.tar.gz /data # Restore from backup docker run --rm \ -v endee-data:/data \ -v $(pwd):/backup \ alpine tar xzf /backup/endee-backup.tar.gz -C /

Next Steps