fleet-memory/scripts/dev/start-control-plane.sh
2025-11-11 12:35:20 +01:00

60 lines
1.4 KiB
Bash
Executable file

#!/bin/bash
set -e
cd "$(dirname "$0")/../../memora-control-plane"
# Parse arguments
PORT=3000
while [[ $# -gt 0 ]]; do
case $1 in
--port|-p)
PORT="$2"
shift 2
;;
--help|-h)
echo "Usage: $0 [options]"
echo ""
echo "Options:"
echo " --port, -p PORT Port to run on (default: 3000)"
echo " --help, -h Show this help message"
echo ""
echo "Example:"
echo " $0 --port 3001"
exit 0
;;
*)
echo "Unknown option: $1"
echo "Use --help for usage information"
exit 1
;;
esac
done
# Check if .env exists in workspace root
ROOT_DIR="$(dirname "$0")/../.."
if [ ! -f "$ROOT_DIR/.env" ]; then
echo "⚠️ Warning: .env not found in workspace root"
echo "📝 Please create a .env file if you need to set MEMORA_CP_DATAPLANE_API_URL"
echo " Default will use http://localhost:8080"
echo ""
fi
echo "🚀 Starting Control Plane (Next.js dev server)..."
if [ -f "$ROOT_DIR/.env" ]; then
echo "📄 Loading environment from $ROOT_DIR/.env"
# Load env vars from root .env file
set -a
source "$ROOT_DIR/.env"
set +a
fi
echo ""
echo "Control plane will be available at: http://localhost:${PORT}"
echo ""
# Map prefixed env vars to Next.js standard vars
export HOSTNAME="${MEMORA_CP_HOSTNAME:-0.0.0.0}"
export PORT="${MEMORA_CP_PORT:-$PORT}"
# Run dev server
npm run dev