Add an install scritp

pull/465/head
micziz 3 years ago
parent 41ebf3b5e5
commit b87f2694dc

@ -0,0 +1,189 @@
function install_fail() {
echo "Installation failed"
exit 1
}
function Help(){
echo "Usage: install.sh [option]"
echo "Options:"
echo " -h: Show this help message and exit"
echo " -d: Install only dependencies"
echo " -p: Install only python dependencies (including playwright)"
}
while getopts ":hydp" option; do
case $option in
h)
Help
exit 0;;
y)
ASSUME_YES=1;;
d)
DEPS_ONLY=1;;
p)
PYTHON_ONLY=1;;
\?)
echo "Invalid option: -$OPTARG" >&2
Help
exit 1;;
:)
echo "Option -$OPTARG requires an argument." >&2
Help
exit 1;;
esac
done
function install_macos(){
if [ ! command -v brew &> /dev/null ]; then
NONINTERACTIVE=1 /bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/uninstall.sh)"
else
echo "Homebrew is already installed"
fi
echo "Installing python"
if [ ! command -v python3 &> /dev/null ]; then
brew install python@3.10
else
echo "Python is already installed"
fi
}
function install_arch(){
echo "Installing python"
if [ ! command -v python3 &> /dev/null ]; then
sudo pacman -S python-pip
else
echo "Python is already installed"
fi
if [ ! command -v git &> /dev/null ]; then
sudo pacman -S git
else
echo "Git is already installed"
fi
}
function install_deb(){
echo "Installing python"
if [ ! command -v python3 &> /dev/null ]; then
sudo apt-get install python3
else
echo "Python is already installed"
fi
if [ ! command -v pip3 &> /dev/null ]; then
sudo apt-get install python3-pip
else
echo "pip is already installed"
fi
if [ ! command -v git &> /dev/null ]; then
sudo apt-get install git
else
echo "git is already installed"
fi
}
function install_fedora(){
echo "Installing python"
if [ ! command -v python3 &> /dev/null ]; then
sudo dnf install python3
else
echo "Python is already installed"
fi
if [ ! command -v pip3 &> /dev/null ]; then
sudo dnf install python3-pip
else
echo "pip is already installed"
fi
if [ ! command -v git &> /dev/null ]; then
sudo dnf install git
else
echo "git is already installed"
fi
}
function install_centos(){
echo "Installing python"
if [ ! command -v python3 &> /dev/null ]; then
sudo yum install python3
else
echo "Python is already installed"
fi
if [ ! command -v pip3 &> /dev/null ]; then
sudo yum install python3-pip
else
echo "pip is already installed"
fi
if [ ! command -v git &> /dev/null ]; then
sudo yum install git
else
echo "git is already installed"
fi
}
function get_the_bot(){
echo "Downloading the bot"
git clone https://github.com/elebumm/RedditVideoMakerBot.git
}
function install_python_dep(){
echo "Installing python dependencies"
cd RedditVideoMakerBot
pip3 install -r requirements.txt
}
function install_playwright(){
echo "Installing playwright"
cd RedditVideoMakerBot
playwright install
playwright install-deps
}
install_deps(){
if [ "$(uname)" == "Darwin" ]; then
install_macos || install_fail
elif [ "$(uname)" == "Linux" ]; then
if [ "$(cat /etc/os-release | grep -i "arch")" ]; then
install_arch || install_fail
elif [ "$(cat /etc/os-release | grep -i "debian")" ]; then
install_deb || install_fail
elif [ "$(cat /etc/os-release | grep -i "fedora")" ]; then
install_fedora || install_fail
elif [ "$(cat /etc/os-release | grep -i "centos")" ]; then
install_centos || install_fail
fi
fi
}
function install_main(){
echo "Installing dependencies..."
if [[ ASSUME_YES -eq 1 ]]; then
echo "Assuming yes"
else
echo "Continue? (y/n)"
read answer
if [ "$answer" != "y" ]; then
echo "Aborting"
exit 1
fi
fi
if [[ DEPS_ONLY -eq 1 ]]; then
echo "Installing only dependencies"
install_deps
elif [[ PYTHON_ONLY -eq 1 ]]; then
echo "Installing only python dependencies"
install_python_dep
install_playwright
else
echo "Installing dependencies and python dependencies"
install_deps
get_the_bot
install_python_dep
fi
}
install_main
Loading…
Cancel
Save