Newer
Older
noctua / start.sh
@agalyaramadoss agalyaramadoss on 13 Feb 1 KB first commit
#!/bin/bash

# Cube Database Startup Script

echo "==================================="
echo "   Cube Database - Starting...    "
echo "==================================="
echo ""

# Check if Java is installed
if ! command -v java &> /dev/null; then
    echo "❌ Java is not installed. Please install Java 21 or later."
    exit 1
fi

# Check Java version
JAVA_VERSION=$(java -version 2>&1 | head -1 | cut -d'"' -f2 | cut -d'.' -f1)
if [ "$JAVA_VERSION" -lt 21 ]; then
    echo "❌ Java 21 or later is required. Found Java $JAVA_VERSION"
    exit 1
fi

echo "✓ Java version: $(java -version 2>&1 | head -1)"
echo ""

# Build if JAR doesn't exist
if [ ! -f "target/cube-db-1.0.0.jar" ]; then
    echo "📦 Building Cube database..."
    mvn clean package -DskipTests
    if [ $? -ne 0 ]; then
        echo "❌ Build failed"
        exit 1
    fi
    echo "✓ Build successful"
    echo ""
fi

# Configuration
DATA_DIR="${CUBE_DATA_DIR:-/tmp/cube-data}"
SERVER_PORT="${CUBE_PORT:-8080}"
HEAP_SIZE="${CUBE_HEAP:-1G}"

echo "Configuration:"
echo "  Data Directory: $DATA_DIR"
echo "  Server Port: $SERVER_PORT"
echo "  Heap Size: $HEAP_SIZE"
echo ""

# Create data directory
mkdir -p "$DATA_DIR"

# Start server
echo "🚀 Starting Cube database server..."
echo ""

java -Xmx"$HEAP_SIZE" \
     -Dcube.datadir="$DATA_DIR" \
     -Dserver.port="$SERVER_PORT" \
     -jar target/cube-db-1.0.0.jar

# Exit code
if [ $? -eq 0 ]; then
    echo ""
    echo "✓ Cube database stopped gracefully"
else
    echo ""
    echo "❌ Cube database stopped with errors"
    exit 1
fi