Setup Guide

Complete installation and configuration guide for ShibuDB

Prerequisites

Before installing ShibuDB, ensure your system meets the following requirements:

System Requirements

  • Operating System: Linux (AMD64/ARM64) or macOS (Apple Silicon)
  • Go Version: 1.23.0 or later (for source builds)
  • Memory: Minimum 512MB RAM, recommended 2GB+
  • Disk Space: Minimum 1GB free space
  • Network: TCP port access for client connections

Dependencies

  • FAISS Libraries: Included in the package
  • System Libraries: Standard C libraries
  • Homebrew: Optional (for macOS installation)

Installation

Choose the installation method that best fits your environment:

macOS Installation

Apple Silicon
# Download and install
sudo installer -pkg shibudb-{version}-apple_silicon.pkg -target /

# Verify installation
shibudb --version
Using Homebrew
# Add ShibuDB tap
brew tap shibudb-org/shibudb

# Install ShibuDB
brew install shibudb

# Link if upgrading
brew link shibudb

Linux Installation

Debian/Ubuntu (AMD64)
# Download and install
wget https://github.com/Podcopic-Labs/ShibuDb/releases/download/v{version}/shibudb_{version}_amd64.deb
sudo dpkg -i shibudb_{version}_amd64.deb
Debian/Ubuntu (ARM64)
# Download and install
wget https://github.com/Podcopic-Labs/ShibuDb/releases/download/v{version}/shibudb_{version}_arm64.deb
sudo dpkg -i shibudb_{version}_arm64.deb
RHEL/CentOS/Fedora (AMD64)
# Download and install
wget https://github.com/Podcopic-Labs/ShibuDb/releases/download/v{version}/shibudb-{version}-1.x86_64.rpm
sudo rpm -i shibudb-{version}-1.x86_64.rpm
RHEL/CentOS/Fedora (ARM64)
# Download and install
wget https://github.com/Podcopic-Labs/ShibuDb/releases/download/v{version}/shibudb-{version}-1.aarch64.rpm
sudo rpm -i shibudb-{version}-1.aarch64.rpm

Initial Configuration

ShibuDB automatically creates the required directory structure and can be configured for your needs:

Directory Structure

ShibuDB automatically creates the following directory structure:

Default Directories
/usr/local/var/lib/shibudb/     # Database files
/usr/local/var/log/shibudb.log  # Log file
/usr/local/var/run/shibudb.pid  # PID file

Connection Limits

By default, ShibuDB allows up to 1000 concurrent connections. You can modify this:

Connection Configuration
# Start with custom connection limit
sudo shibudb start 9090 2000

# Or update at runtime
shibudb manager 9090 limit 2000

First Steps

Now let's start ShibuDB and verify it's working correctly:

1. Start the Server

Start Server
# Start with default settings (port 9090, 1000 connections)
sudo shibudb start 9090

# Start with custom connection limit
# If server is started for first time, it will ask for new admin credentials
sudo shibudb start 9090 500

2. Connect to the Database

Connect
# Connect to the server
shibudb connect 9090

# You'll be prompted for credentials:
Username: {admin username}
Password: {admin password}

3. Create Your First Space

Create Space
# 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

4. Basic Operations

Basic Operations
# 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

Verification

Verify that ShibuDB is running correctly:

1. Check Server Status

Server Status
# Check if server is running
ps aux | grep shibudb

# Check server logs
tail -f /usr/local/var/log/shibudb.log

2. Test Connection

Connection Test
# Test basic connectivity
telnet localhost 9090

# Test management API
curl http://localhost:10090/health

3. Verify Management API

Management API
# Get connection statistics
curl http://localhost:10090/stats

# Get current connection limit
curl http://localhost:10090/limit

4. Run Basic Tests

Tests
# Run unit tests
make test

# Run E2E tests (requires server running on port 4444 with admin credentials as admin:admin)
make e2e-test

Next Steps

After successful setup, explore these guides:

Quick Start

Learn the basics with our quick start guide

Get Started

Key-Value Engine

Master key-value operations and storage

Learn More

Vector Engine

Explore vector search capabilities

Explore