Files
explorer-monorepo/scripts/start-backend-final.sh

62 lines
1.4 KiB
Bash
Executable File

#!/bin/bash
# Start Backend API Server - Final Version
# This script properly builds and starts the backend server
set -euo pipefail
cd "$(dirname "$0")/.."
# Default configuration
export CHAIN_ID="${CHAIN_ID:-138}"
export PORT="${PORT:-8080}"
export DB_HOST="${DB_HOST:-localhost}"
export DB_PORT="${DB_PORT:-5432}"
export DB_USER="${DB_USER:-explorer}"
export DB_PASSWORD="${DB_PASSWORD:-changeme}"
export DB_NAME="${DB_NAME:-explorer}"
export DB_SSLMODE="${DB_SSLMODE:-disable}"
echo "=========================================="
echo "Explorer Backend API Server"
echo "=========================================="
echo ""
echo "Configuration:"
echo " Chain ID: $CHAIN_ID"
echo " Port: $PORT"
echo " Database: $DB_USER@$DB_HOST:$DB_PORT/$DB_NAME"
echo ""
# Check if Go is installed
if ! command -v go &> /dev/null; then
echo "❌ Error: Go is not installed"
exit 1
fi
# Check if port is available
if lsof -Pi :$PORT -sTCP:LISTEN -t >/dev/null 2>&1 ; then
echo "⚠️ Port $PORT is already in use"
echo "To stop existing process: kill \$(lsof -t -i:$PORT)"
exit 1
fi
# Change to backend directory
cd backend/api/rest/cmd
# Build the server
echo "Building backend server..."
if go build -o api-server main.go 2>&1; then
echo "✅ Build successful"
else
echo "❌ Build failed"
exit 1
fi
# Start the server
echo ""
echo "Starting server on port $PORT..."
echo "Press Ctrl+C to stop"
echo ""
exec ./api-server