Files

89 lines
2.3 KiB
Bash
Raw Permalink Normal View History

#!/bin/bash
# Setup script for CVE Dashboard environment configuration
# Creates .env files from .env.example templates with proper IP configuration
set -e
SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
PROJECT_ROOT="$(dirname "$SCRIPT_DIR")"
echo "CVE Dashboard Environment Setup"
echo "================================"
echo ""
# Detect current IP address
DETECTED_IP=$(hostname -I | awk '{print $1}')
# Prompt for IP address
read -p "Enter server IP address [$DETECTED_IP]: " INPUT_IP
SERVER_IP="${INPUT_IP:-$DETECTED_IP}"
if [ -z "$SERVER_IP" ]; then
echo "ERROR: No IP address provided and auto-detection failed."
exit 1
fi
echo ""
echo "Using IP: $SERVER_IP"
echo ""
# Setup backend .env
BACKEND_ENV="$PROJECT_ROOT/backend/.env"
if [ -f "$BACKEND_ENV" ]; then
read -p "backend/.env exists. Overwrite? [y/N]: " OVERWRITE
if [[ ! "$OVERWRITE" =~ ^[Yy]$ ]]; then
echo "Skipping backend/.env"
else
cat > "$BACKEND_ENV" << ENVFILE
# Backend Configuration
PORT=3001
API_HOST=$SERVER_IP
CORS_ORIGINS=http://$SERVER_IP:3000
ENVFILE
echo "Created backend/.env"
fi
else
cat > "$BACKEND_ENV" << ENVFILE
# Backend Configuration
PORT=3001
API_HOST=$SERVER_IP
CORS_ORIGINS=http://$SERVER_IP:3000
ENVFILE
echo "Created backend/.env"
fi
# Setup frontend .env
FRONTEND_ENV="$PROJECT_ROOT/frontend/.env"
if [ -f "$FRONTEND_ENV" ]; then
read -p "frontend/.env exists. Overwrite? [y/N]: " OVERWRITE
if [[ ! "$OVERWRITE" =~ ^[Yy]$ ]]; then
echo "Skipping frontend/.env"
else
cat > "$FRONTEND_ENV" << ENVFILE
# Frontend Configuration
# API_BASE should include the /api path
REACT_APP_API_BASE=http://$SERVER_IP:3001/api
# API_HOST is used for direct file URLs (no /api)
REACT_APP_API_HOST=http://$SERVER_IP:3001
ENVFILE
echo "Created frontend/.env"
fi
else
cat > "$FRONTEND_ENV" << ENVFILE
# Frontend Configuration
# API_BASE should include the /api path
REACT_APP_API_BASE=http://$SERVER_IP:3001/api
# API_HOST is used for direct file URLs (no /api)
REACT_APP_API_HOST=http://$SERVER_IP:3001
ENVFILE
echo "Created frontend/.env"
fi
echo ""
echo "Setup complete!"
echo ""
echo "Next steps:"
echo " 1. If servers are running, restart them to apply changes"
echo " 2. Run: ./start-servers.sh"
echo ""