Complete installation and configuration guide for ShibuDB
Before installing ShibuDB, ensure your system meets the following requirements:
Choose the installation method that best fits your environment:
# Download and install
# Option A: download from the latest GitHub release page
open https://github.com/shibudb-org/shibudb-server/releases/latest
# Option B: download the latest release asset via GitHub CLI (recommended for scripting)
# (install `gh` first: https://cli.github.com/)
gh release download --repo shibudb-org/shibudb-server --pattern "*apple_silicon.pkg" --clobber
sudo installer -pkg ./*.pkg -target /
# Verify installation
shibudb --version
# Add ShibuDB tap
brew tap shibudb-org/shibudb
# Install ShibuDB
brew install shibudb
# Link if upgrading
brew link shibudb
Pre-built packages are the fastest option for current Linux distributions such as Debian 12, Ubuntu 22.04 or newer, Rocky/AlmaLinux 9, Amazon Linux 2023, and Fedora. If a package is not compatible with your distribution, use the source installer below.
# Download and install
gh release download --repo shibudb-org/shibudb-server --pattern "*amd64.deb" --clobber
sudo dpkg -i ./*.deb
# Download and install
gh release download --repo shibudb-org/shibudb-server --pattern "*arm64.deb" --clobber
sudo dpkg -i ./*.deb
# Download and install
gh release download --repo shibudb-org/shibudb-server --pattern "*x86_64.rpm" --clobber
sudo rpm -i ./*.rpm
# Download and install
gh release download --repo shibudb-org/shibudb-server --pattern "*aarch64.rpm" --clobber
sudo rpm -i ./*.rpm
Use the source installer for older Linux distributions, minimal server images, or any Linux system where the pre-built package is not compatible. It builds the shibudb binary on the target machine while using the bundled FAISS libraries from the ShibuDB source tree.
The installer supports Linux amd64 and arm64. It can install dependencies through apt, dnf, or yum, and downloads a temporary Go toolchain if Go 1.23 or later is not already installed.
# Install the latest release
curl -fsSL https://raw.githubusercontent.com/shibudb-org/shibudb-server/main/scripts/install-linux.sh | bash
# Install a specific release
curl -fsSL https://raw.githubusercontent.com/shibudb-org/shibudb-server/main/scripts/install-linux.sh | bash -s -- --version {version}
The source installer installs the ShibuDB binary, FAISS libraries, and shared resources:
/usr/local/bin/shibudb
/usr/local/lib/libfaiss.so
/usr/local/lib/libfaiss_c.so
/usr/local/share/shibudb/
# Install to a custom prefix
curl -fsSL https://raw.githubusercontent.com/shibudb-org/shibudb-server/main/scripts/install-linux.sh | bash -s -- --prefix /opt/shibudb
# Build from an existing checkout
./scripts/install-linux.sh --source /path/to/shibudb-server
# If dependencies are already installed
./scripts/install-linux.sh --skip-deps
ShibuDB automatically creates the required directory structure and can be configured for your needs:
ShibuDB automatically creates the following directory structure:
~/.shibudb/lib/ # Database + config files
~/.shibudb/log/shibudb.log # Log file
~/.shibudb/run/shibudb.pid # PID file
By default, ShibuDB allows up to 1000 concurrent connections. You can modify this:
# Start with custom connection limit
sudo shibudb start 9090 2000
# Or update at runtime
shibudb manager 9090 limit 2000
Now let's start ShibuDB and verify it's working correctly:
# Start with default settings (port 9090, 1000 connections)
# First time start will ask for new admin credentials
shibudb start 9090
# Start with admin credentials (non-interactive)
shibudb start --admin-user admin --admin-password admin 9090
# Start with custom connection limit
shibudb start 9090 500
# Connect to the server (will prompt for credentials)
shibudb connect 9090
# You'll be prompted for credentials:
Username: {admin username}
Password: {admin password}
# Connect with credentials (non-interactive)
shibudb connect --admin-user admin --admin-password admin 9090
# Create a key-value space
CREATE-SPACE my_data --engine key-value
# Create a vector space for similarity search
CREATE-SPACE my_vectors --engine vector --dimension 128 --index-type Flat --metric L2
# Use the space
USE my_data
# Store and retrieve data
PUT user:1 "John Doe"
GET user:1
DELETE user:1
# Vector operations (in vector space)
USE my_vectors
INSERT-VECTOR 1 1.0,2.0,3.0,4.0
SEARCH-TOPK 1.1,2.1,3.1,4.1 5
RANGE-SEARCH 1.0,2.0,3.0,4.0 0.5
Verify that ShibuDB is running correctly:
# Check if server is running
ps aux | grep shibudb
# Check server logs
tail -f ~/.shibudb/log/shibudb.log
# Test basic connectivity
telnet localhost 9090
# Test management API
curl http://localhost:10090/health
# Get connection statistics
curl http://localhost:10090/stats
# Get current connection limit
curl http://localhost:10090/limit
After successful setup, explore these guides: