|
@ -1,50 +1,108 @@ |
|
|
|
|
|
# install.sh is generated by ./extra/install.batsh, do not modify it directly. |
|
|
|
|
|
# "npm run compile-install-script" to compile install.sh |
|
|
|
|
|
# The command is working on Windows PowerShell and Docker for Windows only. |
|
|
"echo" "-e" "=====================" |
|
|
"echo" "-e" "=====================" |
|
|
"echo" "-e" "Uptime Kuma Installer" |
|
|
"echo" "-e" "Uptime Kuma Installer" |
|
|
"echo" "-e" "=====================" |
|
|
"echo" "-e" "=====================" |
|
|
"echo" "-e" "" |
|
|
"echo" "-e" "" |
|
|
"echo" "-e" "---------------------------------------" |
|
|
"echo" "-e" "---------------------------------------" |
|
|
"echo" "-e" "This script is designed for Linux and basic usage." |
|
|
"echo" "-e" "This script is designed for Linux and basic usage." |
|
|
|
|
|
"echo" "-e" "Tested with CentOS 7/8" |
|
|
"echo" "-e" "For advanced usage, please go to https://github.com/louislam/uptime-kuma/wiki/Installation" |
|
|
"echo" "-e" "For advanced usage, please go to https://github.com/louislam/uptime-kuma/wiki/Installation" |
|
|
"echo" "-e" "---------------------------------------" |
|
|
"echo" "-e" "---------------------------------------" |
|
|
"echo" "-e" "" |
|
|
"echo" "-e" "" |
|
|
"echo" "-e" "Local - Install Uptime Kuma in your current machine with git, Node.js 14 and pm2" |
|
|
"echo" "-e" "Local - Install Uptime Kuma in your current machine with git, Node.js 14 and pm2" |
|
|
"echo" "-e" "Docker - Install Uptime Kuma Docker container" |
|
|
"echo" "-e" "Docker - Install Uptime Kuma Docker container" |
|
|
"echo" "-e" "" |
|
|
"echo" "-e" "" |
|
|
"echo" "-e" "$1" |
|
|
|
|
|
if [ "$1" != "" ]; then |
|
|
if [ "$1" != "" ]; then |
|
|
type="$1" |
|
|
type="$1" |
|
|
else |
|
|
else |
|
|
"read" "-p" "Which installation method do you prefer? [DOCKER/local]: " "type" |
|
|
"read" "-p" "Which installation method do you prefer? [DOCKER/local]: " "type" |
|
|
fi |
|
|
fi |
|
|
if [ "$type" == "local" ]; then |
|
|
if [ "$type" == "local" ]; then |
|
|
"read" "-p" "Listening Port [3001]: " "port" |
|
|
defaultPort="3001" |
|
|
|
|
|
defaultInstallPath="/opt/uptime-kuma" |
|
|
if [ -e "/etc/redhat-release" ]; then |
|
|
if [ -e "/etc/redhat-release" ]; then |
|
|
os=$("cat" "/etc/redhat-release") |
|
|
os=$("cat" "/etc/redhat-release") |
|
|
distribution="rhel" |
|
|
distribution="rhel" |
|
|
|
|
|
else |
|
|
|
|
|
if [ -e "/etc/issue" ]; then |
|
|
|
|
|
os=$(head -n1 /etc/issue | cut -f 1 -d ' ') |
|
|
|
|
|
if [ "$os" == "Ubuntu" ]; then |
|
|
|
|
|
distribution="ubuntu" |
|
|
|
|
|
fi |
|
|
fi |
|
|
fi |
|
|
|
|
|
fi |
|
|
arch=$(uname -i) |
|
|
arch=$(uname -i) |
|
|
"echo" "-e" "Your OS: ""$os" |
|
|
"echo" "-e" "Your OS: ""$os" |
|
|
"echo" "-e" "Distribution: ""$distribution" |
|
|
"echo" "-e" "Distribution: ""$distribution" |
|
|
"echo" "-e" "Arch: ""$arch" |
|
|
"echo" "-e" "Arch: ""$arch" |
|
|
|
|
|
if [ "$3" != "" ]; then |
|
|
|
|
|
port="$3" |
|
|
|
|
|
else |
|
|
|
|
|
"read" "-p" "Listening Port [$port]: " "port" |
|
|
|
|
|
if [ "$port" == "" ]; then |
|
|
|
|
|
port="$defaultPort" |
|
|
|
|
|
fi |
|
|
|
|
|
fi |
|
|
|
|
|
if [ "$2" != "" ]; then |
|
|
|
|
|
installPath="$2" |
|
|
|
|
|
else |
|
|
|
|
|
"read" "-p" "Installation Path [$installPath]: " "installPath" |
|
|
|
|
|
if [ "$installPath" == "" ]; then |
|
|
|
|
|
installPath="$defaultInstallPath" |
|
|
|
|
|
fi |
|
|
|
|
|
fi |
|
|
if [ "$distribution" == "rhel" ]; then |
|
|
if [ "$distribution" == "rhel" ]; then |
|
|
nodePath=$(command -v node) |
|
|
nodeCheck=$(node -v) |
|
|
if [ "$nodePath" != "" ]; then |
|
|
if [ "$nodeCheck" != "" ]; then |
|
|
nodeVersion=$(node -e 'console.log(process.versions.node.split(`.`)[0])') |
|
|
nodeVersion=$(node -e 'console.log(process.versions.node.split(`.`)[0])') |
|
|
"echo" "-e" "Node Version: ""$nodeVersion" |
|
|
"echo" "-e" "Node Version: ""$nodeVersion" |
|
|
_0="12" |
|
|
_0="12" |
|
|
if [ $(($nodeVersion < $_0)) == 1 ]; then |
|
|
if [ $(($nodeVersion < $_0)) == 1 ]; then |
|
|
"echo" "-e" "Error: Required Node.js 14" |
|
|
"echo" "-e" "Error: Required Node.js 14" |
|
|
"exit" "1" |
|
|
"exit" "1" |
|
|
else |
|
|
fi |
|
|
if [ "$nodeVersion" == "12" ]; then |
|
|
if [ "$nodeVersion" == "12" ]; then |
|
|
"echo" "-e" "Warning: NodeJS ""$nodeVersion"" is not tested." |
|
|
"echo" "-e" "Warning: NodeJS ""$nodeVersion"" is not tested." |
|
|
fi |
|
|
fi |
|
|
"echo" "-e" "OK" |
|
|
|
|
|
fi |
|
|
|
|
|
else |
|
|
else |
|
|
- |
|
|
curlCheck=$(curl --version) |
|
|
|
|
|
if [ "$curlCheck" == "" ]; then |
|
|
|
|
|
"echo" "-e" "Installing Curl" |
|
|
|
|
|
yum -y -q install curl |
|
|
|
|
|
fi |
|
|
|
|
|
"echo" "-e" "Installing Node.js 14" |
|
|
|
|
|
curl -sL https://rpm.nodesource.com/setup_14.x | bash - > log.txt |
|
|
|
|
|
yum install -y -q nodejs |
|
|
|
|
|
node -v |
|
|
|
|
|
nodeCheckAgain=$(node -v) |
|
|
|
|
|
if [ "$nodeCheckAgain" == "" ]; then |
|
|
|
|
|
"echo" "-e" "Error during Node.js installation" |
|
|
|
|
|
exit 1 |
|
|
|
|
|
fi |
|
|
fi |
|
|
fi |
|
|
"yum" "install" "git" "-y" |
|
|
check=$(git --version) |
|
|
|
|
|
if [ "$check" == "" ]; then |
|
|
|
|
|
"echo" "-e" "Installing Git" |
|
|
|
|
|
yum -y -q install git |
|
|
|
|
|
fi |
|
|
|
|
|
check=$(pm2 --version) |
|
|
|
|
|
if [ "$check" == "" ]; then |
|
|
|
|
|
"echo" "-e" "Installing PM2" |
|
|
|
|
|
npm install pm2 -g |
|
|
|
|
|
pm2 startup |
|
|
|
|
|
fi |
|
|
|
|
|
mkdir -p $installPath |
|
|
|
|
|
cd $installPath |
|
|
|
|
|
git clone https://github.com/louislam/uptime-kuma.git . |
|
|
|
|
|
npm run setup |
|
|
|
|
|
pm2 start npm --name uptime-kuma -- run start-server -- --port=$port |
|
|
|
|
|
pm2 list |
|
|
|
|
|
fi |
|
|
|
|
|
if [ "$distribution" == "ubuntu" ]; then |
|
|
|
|
|
"echo" "-e" "TODO" |
|
|
|
|
|
# TODO |
|
|
fi |
|
|
fi |
|
|
else |
|
|
else |
|
|
"read" "-p" "Expose Port [3001]: " "port" |
|
|
"read" "-p" "Expose Port [3001]: " "port" |
|
|