1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465 |
- #!/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\")$ ]]; 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=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/Yidadaa/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
|