mirror of
https://github.com/louislam/uptime-kuma.git
synced 2024-11-09 23:24:07 -08:00
wip: implementing install script
This commit is contained in:
parent
29a89df524
commit
d218661f3d
|
@ -1 +1,2 @@
|
||||||
|
# Must enable File Sharing in Docker Desktop
|
||||||
docker run -it --rm -v ${pwd}:/app louislam/batsh /usr/bin/batsh bash --output ./install.sh ./extra/install.batsh
|
docker run -it --rm -v ${pwd}:/app louislam/batsh /usr/bin/batsh bash --output ./install.sh ./extra/install.batsh
|
69
extra/install.batsh
Normal file
69
extra/install.batsh
Normal file
|
@ -0,0 +1,69 @@
|
||||||
|
println("=====================");
|
||||||
|
println("Uptime Kuma Installer");
|
||||||
|
println("=====================");
|
||||||
|
println("");
|
||||||
|
println("---------------------------------------");
|
||||||
|
println("This script is designed for Linux and basic usage.");
|
||||||
|
println("For advanced usage, please go to https://github.com/louislam/uptime-kuma/wiki/Installation");
|
||||||
|
println("---------------------------------------");
|
||||||
|
println("");
|
||||||
|
println("Local - Install Uptime Kuma in your current machine with git, Node.js 14 and pm2");
|
||||||
|
println("Docker - Install Uptime Kuma Docker container");
|
||||||
|
println("");
|
||||||
|
|
||||||
|
if ("$1" != "") {
|
||||||
|
type = "$1";
|
||||||
|
} else {
|
||||||
|
call("read", "-p", "Which installation method do you prefer? [DOCKER/local]: ", "type");
|
||||||
|
}
|
||||||
|
|
||||||
|
if (type == "local") {
|
||||||
|
|
||||||
|
if ("$1" != "") {
|
||||||
|
port = "$3";
|
||||||
|
} else {
|
||||||
|
call("read", "-p", "Listening Port [3001]: ", "port");
|
||||||
|
}
|
||||||
|
|
||||||
|
if (exists("/etc/redhat-release")) {
|
||||||
|
os = call("cat", "/etc/redhat-release");
|
||||||
|
distribution = "rhel";
|
||||||
|
}
|
||||||
|
|
||||||
|
bash("arch=$(uname -i)");
|
||||||
|
|
||||||
|
println("Your OS: " ++ os);
|
||||||
|
println("Distribution: " ++ distribution);
|
||||||
|
println("Arch: " ++ arch);
|
||||||
|
|
||||||
|
if (distribution == "rhel") {
|
||||||
|
bash("nodePath=$(command -v node)");
|
||||||
|
|
||||||
|
if (nodePath != "") {
|
||||||
|
bash("nodeVersion=$(node -e 'console.log(process.versions.node.split(`.`)[0])')");
|
||||||
|
println("Node Version: " ++ nodeVersion);
|
||||||
|
|
||||||
|
if (nodeVersion < "12") {
|
||||||
|
println("Error: Required Node.js 14");
|
||||||
|
call("exit", "1");
|
||||||
|
|
||||||
|
} else {
|
||||||
|
if (nodeVersion == "12") {
|
||||||
|
println("Warning: NodeJS " ++ nodeVersion ++ " is not tested.");
|
||||||
|
}
|
||||||
|
println("OK");
|
||||||
|
}
|
||||||
|
|
||||||
|
} else {
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
call("yum", "install", "git", "-y");
|
||||||
|
}
|
||||||
|
|
||||||
|
} else {
|
||||||
|
call("read", "-p", "Expose Port [3001]: ", "port");
|
||||||
|
call("read", "-p", "Volume Name [uptime-kuma]: ", "volume");
|
||||||
|
}
|
52
install.sh
Normal file
52
install.sh
Normal file
|
@ -0,0 +1,52 @@
|
||||||
|
"echo" "-e" "====================="
|
||||||
|
"echo" "-e" "Uptime Kuma Installer"
|
||||||
|
"echo" "-e" "====================="
|
||||||
|
"echo" "-e" ""
|
||||||
|
"echo" "-e" "---------------------------------------"
|
||||||
|
"echo" "-e" "This script is designed for Linux and basic usage."
|
||||||
|
"echo" "-e" "For advanced usage, please go to https://github.com/louislam/uptime-kuma/wiki/Installation"
|
||||||
|
"echo" "-e" "---------------------------------------"
|
||||||
|
"echo" "-e" ""
|
||||||
|
"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" ""
|
||||||
|
"echo" "-e" "$1"
|
||||||
|
if [ "$1" != "" ]; then
|
||||||
|
type="$1"
|
||||||
|
else
|
||||||
|
"read" "-p" "Which installation method do you prefer? [DOCKER/local]: " "type"
|
||||||
|
fi
|
||||||
|
if [ "$type" == "local" ]; then
|
||||||
|
"read" "-p" "Listening Port [3001]: " "port"
|
||||||
|
if [ -e "/etc/redhat-release" ]; then
|
||||||
|
os=$("cat" "/etc/redhat-release")
|
||||||
|
distribution="rhel"
|
||||||
|
fi
|
||||||
|
arch=$(uname -i)
|
||||||
|
"echo" "-e" "Your OS: ""$os"
|
||||||
|
"echo" "-e" "Distribution: ""$distribution"
|
||||||
|
"echo" "-e" "Arch: ""$arch"
|
||||||
|
if [ "$distribution" == "rhel" ]; then
|
||||||
|
nodePath=$(command -v node)
|
||||||
|
if [ "$nodePath" != "" ]; then
|
||||||
|
nodeVersion=$(node -e 'console.log(process.versions.node.split(`.`)[0])')
|
||||||
|
"echo" "-e" "Node Version: ""$nodeVersion"
|
||||||
|
_0="12"
|
||||||
|
if [ $(($nodeVersion < $_0)) == 1 ]; then
|
||||||
|
"echo" "-e" "Error: Required Node.js 14"
|
||||||
|
"exit" "1"
|
||||||
|
else
|
||||||
|
if [ "$nodeVersion" == "12" ]; then
|
||||||
|
"echo" "-e" "Warning: NodeJS ""$nodeVersion"" is not tested."
|
||||||
|
fi
|
||||||
|
"echo" "-e" "OK"
|
||||||
|
fi
|
||||||
|
else
|
||||||
|
-
|
||||||
|
fi
|
||||||
|
"yum" "install" "git" "-y"
|
||||||
|
fi
|
||||||
|
else
|
||||||
|
"read" "-p" "Expose Port [3001]: " "port"
|
||||||
|
"read" "-p" "Volume Name [uptime-kuma]: " "volume"
|
||||||
|
fi
|
|
@ -24,7 +24,8 @@
|
||||||
"update-version": "node extra/update-version.js",
|
"update-version": "node extra/update-version.js",
|
||||||
"mark-as-nightly": "node extra/mark-as-nightly.js",
|
"mark-as-nightly": "node extra/mark-as-nightly.js",
|
||||||
"reset-password": "node extra/reset-password.js",
|
"reset-password": "node extra/reset-password.js",
|
||||||
"compile-install-script": "@powershell -NoProfile -ExecutionPolicy Unrestricted -Command ./extra/compile-install-script.ps1"
|
"compile-install-script": "@powershell -NoProfile -ExecutionPolicy Unrestricted -Command ./extra/compile-install-script.ps1",
|
||||||
|
"test-install-script": "docker build --no-cache -f test/test_install_script/centos7.dockerfile ."
|
||||||
},
|
},
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"@fortawesome/fontawesome-svg-core": "^1.2.36",
|
"@fortawesome/fontawesome-svg-core": "^1.2.36",
|
||||||
|
|
9
test/test_install_script/centos7.dockerfile
Normal file
9
test/test_install_script/centos7.dockerfile
Normal file
|
@ -0,0 +1,9 @@
|
||||||
|
FROM centos:7
|
||||||
|
|
||||||
|
RUN useradd -ms /bin/bash test_user
|
||||||
|
USER test_user
|
||||||
|
WORKDIR /home/test_user
|
||||||
|
|
||||||
|
COPY ./install.sh .
|
||||||
|
RUN ls
|
||||||
|
RUN bash install.sh local /opt/uptime-kuma 3000 0.0.0.0
|
Loading…
Reference in a new issue