ChatGPT-Next-Web/scripts/setup.sh

69 lines
2.1 KiB
Bash
Raw Normal View History

2023-03-28 08:51:23 +00:00
#!/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
2023-08-24 15:24:26 +00:00
if [[ !"$(cat /etc/*-release | grep '^ID=')" =~ ^(ID=\"ubuntu\")|(ID=\"centos\")|(ID=\"arch\")|(ID=\"debian\")$ ]]; then
2023-03-28 08:51:23 +00:00
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)
2023-04-21 09:26:40 +00:00
if [[ "$(cat /etc/*-release | grep '^ID=')" = "ID=ubuntu" ]]; then
2023-03-28 08:51:23 +00:00
sudo apt-get update
sudo apt-get -y install nodejs git yarn
2023-08-24 14:04:42 +00:00
elif [[ "$(cat /etc/*-release | grep '^ID=')" = "ID=debian" ]]; then
sudo apt-get update
sudo apt-get -y install nodejs git yarn
2023-04-21 09:26:40 +00:00
elif [[ "$(cat /etc/*-release | grep '^ID=')" = "ID=centos" ]]; then
2023-03-28 08:51:23 +00:00
sudo yum -y install epel-release
sudo yum -y install nodejs git yarn
2023-04-21 09:26:40 +00:00
elif [[ "$(cat /etc/*-release | grep '^ID=')" = "ID=arch" ]]; then
2023-03-28 08:51:23 +00:00
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
2023-03-28 08:51:23 +00:00
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
2023-04-05 19:19:33 +00:00
OPENAI_API_KEY=$OPENAI_API_KEY CODE=$CODE PORT=$PORT yarn build
OPENAI_API_KEY=$OPENAI_API_KEY CODE=$CODE PORT=$PORT yarn start