HEX
Server: LiteSpeed
System: Linux houston.panomity.com 6.8.0-100-generic #100-Ubuntu SMP PREEMPT_DYNAMIC Tue Jan 13 16:40:06 UTC 2026 x86_64
User: nudepix (1011)
PHP: 7.4.33
Disabled: pcntl_alarm,pcntl_fork,pcntl_waitpid,pcntl_wait,pcntl_wifexited,pcntl_wifstopped,pcntl_wifsignaled,pcntl_wifcontinued,pcntl_wexitstatus,pcntl_wtermsig,pcntl_wstopsig,pcntl_signal,pcntl_signal_get_handler,pcntl_signal_dispatch,pcntl_get_last_error,pcntl_strerror,pcntl_sigprocmask,pcntl_sigwaitinfo,pcntl_sigtimedwait,pcntl_exec,pcntl_getpriority,pcntl_setpriority,pcntl_async_signals,pcntl_unshare,
Upload Files
File: //opt/SuperAGI/run_gui.sh
#!/bin/bash

api_process=""
ui_process=""

function check_command() {
  command -v "$1" >/dev/null 2>&1
  if [ $? -ne 0 ]; then
    echo "$1 is not installed. Please install $1 to proceed."
    exit 1
  fi
}

function run_npm_commands() {
  cd gui
  npm install
  if [ $? -ne 0 ]; then
    echo "Error during 'npm install'. Exiting."
    exit 1
  fi

  npm run build
  if [ $? -ne 0 ]; then
    echo "Error during 'npm run build'. Exiting."
    exit 1
  fi

  cd ..
}

function run_server() {
  uvicorn main:app --host 0.0.0.0 --port 8000 &
  api_process=$!
  cd gui && npm run dev &
  ui_process=$!
}

function cleanup() {
  echo "Shutting down processes..."
  kill $api_process
  kill $ui_process
  echo "Processes terminated. Exiting."
  exit 1
}

trap cleanup SIGINT

check_command "node"
check_command "npm"
check_command "uvicorn"

run_npm_commands
run_server

wait $api_process