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
		
	
| 
											9 months ago
										 | #!/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 |