mirror of
https://github.com/mindverse/Second-Me.git
synced 2026-07-16 04:38:24 +00:00
* feat:remove conda from setup * cool. more code about removing conda & env * optimize script * add python check * optimize setup * optimize setup * add warning info * optimize check * add node check & npm check * add cmake install suggestion * add poetry suggestion * add python command check * add python tools * add poetry * add graphrag poetry install command optimization * active poetry shell * fix duplicated log * avoid poetry multipul active * add sqlite3 check * optimize sqlite3 setup suggestion * optimize * add gitignore * reverse compose detect
116 lines
3.3 KiB
Bash
Executable file
116 lines
3.3 KiB
Bash
Executable file
#!/bin/bash
|
|
|
|
# Source the logging utilities
|
|
SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
|
|
source "${SCRIPT_DIR}/utils/logging.sh"
|
|
|
|
# Load configuration from .env file
|
|
load_env() {
|
|
if [ -f .env ]; then
|
|
# Load necessary environment variables
|
|
export LOCAL_APP_PORT=$(grep '^LOCAL_APP_PORT=' .env | cut -d '=' -f2)
|
|
export LOCAL_FRONTEND_PORT=$(grep '^LOCAL_FRONTEND_PORT=' .env | cut -d '=' -f2)
|
|
else
|
|
# Use default ports if .env not found
|
|
export LOCAL_APP_PORT=8002
|
|
export LOCAL_FRONTEND_PORT=3000
|
|
log_warning "Using default ports: Backend=${LOCAL_APP_PORT}, Frontend=${LOCAL_FRONTEND_PORT}"
|
|
fi
|
|
}
|
|
|
|
# Check if a port is in use
|
|
check_port() {
|
|
local port=$1
|
|
local pid=$(lsof -ti:$port 2>/dev/null)
|
|
|
|
if [ -z "$pid" ]; then
|
|
echo -e "${RED}Not running${NC}"
|
|
return 1
|
|
else
|
|
local process_name=$(ps -p $pid -o comm= 2>/dev/null)
|
|
local process_cmd=$(ps -p $pid -o args= 2>/dev/null)
|
|
echo -e "${GREEN}Running${NC} (PID: $pid, Process: $process_name)"
|
|
echo " Command: $process_cmd"
|
|
return 0
|
|
fi
|
|
}
|
|
|
|
# Check if a process is running by PID
|
|
check_process() {
|
|
local pid_file=$1
|
|
local service_name=$2
|
|
|
|
if [ -f "$pid_file" ]; then
|
|
local pid=$(cat $pid_file)
|
|
if ps -p $pid > /dev/null 2>&1; then
|
|
local process_name=$(ps -p $pid -o comm= 2>/dev/null)
|
|
local process_cmd=$(ps -p $pid -o args= 2>/dev/null)
|
|
echo -e "${GREEN}Running${NC} (PID: $pid, Process: $process_name)"
|
|
echo " Command: $process_cmd"
|
|
return 0
|
|
else
|
|
echo -e "${RED}Not running${NC} (PID file exists but process is dead)"
|
|
return 1
|
|
fi
|
|
else
|
|
echo -e "${RED}Not running${NC} (No PID file found)"
|
|
return 1
|
|
fi
|
|
}
|
|
|
|
# Main function to check status
|
|
check_status() {
|
|
log_section "SERVICE STATUS"
|
|
|
|
# Load environment variables
|
|
load_env
|
|
|
|
# Check backend service status
|
|
echo -e "${BOLD}Backend Service:${NC}"
|
|
echo -n " PID File: "
|
|
check_process "run/.backend.pid" "Backend"
|
|
backend_pid_status=$?
|
|
|
|
echo -n " Port ${LOCAL_APP_PORT}: "
|
|
check_port ${LOCAL_APP_PORT}
|
|
backend_port_status=$?
|
|
|
|
# Check frontend service status
|
|
echo -e "\n${BOLD}Frontend Service:${NC}"
|
|
echo -n " PID File: "
|
|
check_process "run/.frontend.pid" "Frontend"
|
|
frontend_pid_status=$?
|
|
|
|
echo -n " Port ${LOCAL_FRONTEND_PORT}: "
|
|
check_port ${LOCAL_FRONTEND_PORT}
|
|
frontend_port_status=$?
|
|
|
|
# Check port 8080 status (additional port)
|
|
echo -e "\n${BOLD}Port 8080 Status:${NC}"
|
|
echo -n " Port 8080: "
|
|
check_port 8080
|
|
port_8080_status=$?
|
|
|
|
# Summary
|
|
echo -e "\n${BOLD}Summary:${NC}"
|
|
if [ $backend_pid_status -eq 0 ] || [ $backend_port_status -eq 0 ]; then
|
|
echo -e " Backend: ${GREEN}Active${NC}"
|
|
else
|
|
echo -e " Backend: ${RED}Inactive${NC}"
|
|
fi
|
|
|
|
if [ $frontend_pid_status -eq 0 ] || [ $frontend_port_status -eq 0 ]; then
|
|
echo -e " Frontend: ${GREEN}Active${NC}"
|
|
else
|
|
echo -e " Frontend: ${RED}Inactive${NC}"
|
|
fi
|
|
|
|
if [ $port_8080_status -eq 0 ]; then
|
|
echo -e " Port 8080: ${GREEN}In Use${NC}"
|
|
else
|
|
echo -e " Port 8080: ${RED}Not In Use${NC}"
|
|
fi
|
|
}
|
|
|
|
# Execute check status
|
|
check_status
|