You cannot select more than 25 topics
			Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
		
		
		
		
		
			
		
			
				
	
	
		
			69 lines
		
	
	
		
			2.1 KiB
		
	
	
	
		
			Bash
		
	
			
		
		
	
	
			69 lines
		
	
	
		
			2.1 KiB
		
	
	
	
		
			Bash
		
	
| #!/bin/bash
 | |
| 
 | |
| # Check if running on a supported system
 | |
| case "$(uname -s)" in
 | |
|   Linux)
 | |
|     if [[ -f "/etc/lsb-release" ]]; then
 | |
|       . /etc/lsb-release
 | |
|       if [[ "$DISTRIB_ID" != "Ubuntu" ]]; then
 | |
|         echo "This script only works on Ubuntu, not $DISTRIB_ID."
 | |
|         exit 1
 | |
|       fi
 | |
|     else
 | |
|       if [[ !"$(cat /etc/*-release | grep '^ID=')" =~ ^(ID=\"ubuntu\")|(ID=\"centos\")|(ID=\"arch\")|(ID=\"debian\")$ ]]; then
 | |
|         echo "Unsupported Linux distribution."
 | |
|         exit 1
 | |
|       fi
 | |
|     fi
 | |
|     ;;
 | |
|   Darwin)
 | |
|     echo "Running on MacOS."
 | |
|     ;;
 | |
|   *)
 | |
|     echo "Unsupported operating system."
 | |
|     exit 1
 | |
|     ;;
 | |
| esac
 | |
| 
 | |
| # Check if needed dependencies are installed and install if necessary
 | |
| if ! command -v node >/dev/null || ! command -v git >/dev/null || ! command -v yarn >/dev/null; then
 | |
|   case "$(uname -s)" in
 | |
|     Linux)
 | |
|       if [[ "$(cat /etc/*-release | grep '^ID=')" = "ID=ubuntu" ]]; then
 | |
|         sudo apt-get update
 | |
|         sudo apt-get -y install nodejs git yarn
 | |
|       elif [[ "$(cat /etc/*-release | grep '^ID=')" = "ID=debian" ]]; then
 | |
|         sudo apt-get update
 | |
|         sudo apt-get -y install nodejs git yarn
 | |
|       elif [[ "$(cat /etc/*-release | grep '^ID=')" = "ID=centos" ]]; then
 | |
|         sudo yum -y install epel-release
 | |
|         sudo yum -y install nodejs git yarn
 | |
|       elif [[ "$(cat /etc/*-release | grep '^ID=')" = "ID=arch" ]]; then
 | |
|         sudo pacman -Syu -y
 | |
|         sudo pacman -S -y nodejs git yarn
 | |
|       else
 | |
|         echo "Unsupported Linux distribution"
 | |
|         exit 1
 | |
|       fi
 | |
|       ;;
 | |
|     Darwin)
 | |
|       /usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"
 | |
|       brew install node git yarn
 | |
|       ;;
 | |
|   esac
 | |
| fi
 | |
| 
 | |
| # Clone the repository and install dependencies
 | |
| git clone https://github.com/ChatGPTNextWeb/ChatGPT-Next-Web
 | |
| cd ChatGPT-Next-Web
 | |
| yarn install
 | |
| 
 | |
| # Prompt user for environment variables
 | |
| read -p "Enter OPENAI_API_KEY: " OPENAI_API_KEY
 | |
| read -p "Enter CODE: " CODE
 | |
| read -p "Enter PORT: " PORT
 | |
| 
 | |
| # Build and run the project using the environment variables
 | |
| OPENAI_API_KEY=$OPENAI_API_KEY CODE=$CODE PORT=$PORT yarn build
 | |
| OPENAI_API_KEY=$OPENAI_API_KEY CODE=$CODE PORT=$PORT yarn start
 |