Install on Linux

One-line installation for Ubuntu, Debian, Fedora, Arch Linux, and more

⚡ One-Line Install

curl -fsSL https://raw.githubusercontent.com/krishcdbry/nexadb/main/install.sh | bash

This script automatically detects your distribution, installs dependencies, and sets up both the nexadb server and nexa CLI.

Supported Distributions

Ubuntu / Debian

  • • Ubuntu 18.04+
  • • Ubuntu 20.04, 22.04, 24.04
  • • Debian 10+
  • • Linux Mint
  • • Pop!_OS

Fedora / RHEL / Amazon Linux

  • • Fedora 30+
  • • RHEL 8+
  • • CentOS 8+
  • • Amazon Linux 2023
  • • Rocky Linux
  • • AlmaLinux

Arch Linux

  • • Arch Linux
  • • Manjaro
  • • EndeavourOS
  • • ArcoLinux
  • • Garuda Linux

Supported Architectures

x86_64 (64-bit Intel/AMD)

Standard desktop and server CPUs

  • • Intel Core series
  • • AMD Ryzen
  • • Xeon servers

aarch64 (ARM64)

ARM-based processors

  • • Raspberry Pi 3/4/5
  • • AWS Graviton
  • • Oracle Cloud ARM

Installation Steps

Step 1: Run Install Script

$ curl -fsSL https://raw.githubusercontent.com/krishcdbry/nexadb/main/install.sh | bash

The script will:

  • • Detect your Linux distribution automatically
  • • Install Python 3 and pip if not present
  • • Install all required dependencies (msgpack, sortedcontainers, numpy, etc.)
  • • Download NexaDB server files to ~/.nexadb
  • • Download nexa CLI binary (architecture-specific)
  • • Add commands to your PATH

Step 2: Reload Your Shell

$ source ~/.bashrc # or ~/.zshrc

This reloads your shell configuration to include the new PATH with nexadb and nexa commands.

Step 3: Start NexaDB

$ nexadb start
✓ Binary Protocol on port 6970 (10x faster!)
✓ JSON REST API on port 6969 (REST fallback)
✓ Admin Web UI on port 9999 (Web interface)

Step 4: Use nexa CLI

$ nexa -u root -p
Password: ********
Connected to NexaDB v2.2.0 (Binary Protocol: localhost:6970)
nexa> collections
✓ Found 0 collection(s)

What Gets Installed

Commands

nexadb
Server management (start/stop/reset-password)
nexa
Interactive CLI terminal (Rust, zero dependencies)

Files & Services

Python server files (~/.nexadb)
Admin panel web interface
Python dependencies (msgpack, numpy, etc.)
Data directory (~/.local/share/nexadb)

🦀 Nexa CLI - Zero Dependencies

The nexa command is a standalone Rust binary with zero runtime dependencies. No Python, Node.js, or any other runtime required!

Features
  • • All CRUD operations (insert, read, update, delete)
  • • Vector search support
  • • Query with filters
  • • Command history & readline support
  • • Collection management
Commands
  • • collections - List all
  • • use <name> - Switch collection
  • • insert {...} - Create document
  • • query {...} - Search documents
  • • vector_search [...] - Semantic search
  • • count - Count documents

Troubleshooting

Command not found: nexadb

If commands aren't found after installation:

# Reload shell
$ source ~/.bashrc # or ~/.zshrc
# Or check if PATH is correct
$ echo $PATH | grep .local/bin

Permission denied errors

If you get permission errors:

# Fix permissions on .local/bin
$ chmod +x ~/.local/bin/nexadb ~/.local/bin/nexa

Port already in use

If ports 6970, 6969, or 9999 are already in use:

# Find process using port
$ sudo lsof -i :6970
# Kill the process
$ sudo kill -9 <PID>

Uninstall

Remove NexaDB

To completely remove NexaDB:

$ rm -rf ~/.nexadb
$ rm ~/.local/bin/nexadb ~/.local/bin/nexa
# Optional: Remove data
$ rm -rf ~/.local/share/nexadb