@ -1,13 +1,15 @@ 
				
			 
			
		
	
		
		
			
				
					 
					 
					// install.sh is generated by ./extra/install.batsh, do not modify it directly. 
					 
					 
					// install.sh is generated by ./extra/install.batsh, do not modify it directly. 
				
			 
			
		
	
		
		
			
				
					 
					 
					// "npm run compile-install-script" to compile install.sh 
					 
					 
					// "npm run compile-install-script" to compile install.sh 
				
			 
			
		
	
		
		
			
				
					 
					 
					// The command is working on Windows PowerShell and Docker for Windows only. 
					 
					 
					// The command is working on Windows PowerShell and Docker for Windows only. 
				
			 
			
		
	
		
		
			
				
					 
					 
					 
					 
					 
					
 
				
			 
			
		
	
		
		
			
				
					 
					 
					 
					 
					 
					
 
				
			 
			
		
	
		
		
			
				
					 
					 
					 
					 
					 
					// curl -o kuma_install.sh https://raw.githubusercontent.com/louislam/uptime-kuma/master/install.sh && sudo bash kuma_install.sh 
				
			 
			
		
	
		
		
			
				
					 
					 
					println("====================="); 
					 
					 
					println("====================="); 
				
			 
			
		
	
		
		
			
				
					 
					 
					println("Uptime Kuma Installer"); 
					 
					 
					println("Uptime Kuma Installer"); 
				
			 
			
		
	
		
		
			
				
					 
					 
					println("====================="); 
					 
					 
					println("====================="); 
				
			 
			
		
	
		
		
			
				
					
					 
					 
					println(""); 
					 
					 
					println("Supported OS: CentOS 7/8, Ubuntu >= 16.04 and Debian "); 
				
			 
			
				
				
			
		
	
		
		
	
		
		
			
				
					 
					 
					println("---------------------------------------"); 
					 
					 
					println("---------------------------------------"); 
				
			 
			
		
	
		
		
			
				
					 
					 
					println("This script is designed for Linux and basic usage."); 
					 
					 
					println("This script is designed for Linux and basic usage."); 
				
			 
			
		
	
		
		
			
				
					 
					 
					println("Tested with CentOS 7/8"); 
					 
					 
					 
				
			 
			
		
	
		
		
			
				
					 
					 
					println("For advanced usage, please go to https://github.com/louislam/uptime-kuma/wiki/Installation"); 
					 
					 
					println("For advanced usage, please go to https://github.com/louislam/uptime-kuma/wiki/Installation"); 
				
			 
			
		
	
		
		
			
				
					 
					 
					println("---------------------------------------"); 
					 
					 
					println("---------------------------------------"); 
				
			 
			
		
	
		
		
			
				
					 
					 
					println(""); 
					 
					 
					println(""); 
				
			 
			
		
	
	
		
		
			
				
					
						
						
						
							
								 
							 
						
					 
					@ -21,8 +23,64 @@ if ("$1" != "") { 
				
			 
			
		
	
		
		
			
				
					 
					 
					    call("read", "-p", "Which installation method do you prefer? [DOCKER/local]: ", "type"); 
					 
					 
					    call("read", "-p", "Which installation method do you prefer? [DOCKER/local]: ", "type"); 
				
			 
			
		
	
		
		
			
				
					 
					 
					} 
					 
					 
					} 
				
			 
			
		
	
		
		
			
				
					 
					 
					
 
					 
					 
					
 
				
			 
			
		
	
		
		
			
				
					 
					 
					 
					 
					 
					defaultPort = "3001"; 
				
			 
			
		
	
		
		
			
				
					 
					 
					 
					 
					 
					
 
				
			 
			
		
	
		
		
			
				
					 
					 
					 
					 
					 
					function checkNode() { 
				
			 
			
		
	
		
		
			
				
					 
					 
					 
					 
					 
					    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"); 
				
			 
			
		
	
		
		
			
				
					 
					 
					 
					 
					 
					    } 
				
			 
			
		
	
		
		
			
				
					 
					 
					 
					 
					 
					
 
				
			 
			
		
	
		
		
			
				
					 
					 
					 
					 
					 
					    if (nodeVersion == "12") { 
				
			 
			
		
	
		
		
			
				
					 
					 
					 
					 
					 
					        println("Warning: NodeJS " ++ nodeVersion ++ " is not tested."); 
				
			 
			
		
	
		
		
			
				
					 
					 
					 
					 
					 
					    } 
				
			 
			
		
	
		
		
			
				
					 
					 
					 
					 
					 
					} 
				
			 
			
		
	
		
		
			
				
					 
					 
					 
					 
					 
					
 
				
			 
			
		
	
		
		
			
				
					 
					 
					 
					 
					 
					function deb() { 
				
			 
			
		
	
		
		
			
				
					 
					 
					 
					 
					 
					    bash("nodeCheck=$(node -v)"); 
				
			 
			
		
	
		
		
			
				
					 
					 
					 
					 
					 
					    bash("apt --yes update"); 
				
			 
			
		
	
		
		
			
				
					 
					 
					 
					 
					 
					
 
				
			 
			
		
	
		
		
			
				
					 
					 
					 
					 
					 
					    if (nodeCheck != "") { 
				
			 
			
		
	
		
		
			
				
					 
					 
					 
					 
					 
					        checkNode(); 
				
			 
			
		
	
		
		
			
				
					 
					 
					 
					 
					 
					    } else { 
				
			 
			
		
	
		
		
			
				
					 
					 
					 
					 
					 
					
 
				
			 
			
		
	
		
		
			
				
					 
					 
					 
					 
					 
					        // Old nodejs binary name is "nodejs" 
				
			 
			
		
	
		
		
			
				
					 
					 
					 
					 
					 
					        bash("check=$(nodejs --version)"); 
				
			 
			
		
	
		
		
			
				
					 
					 
					 
					 
					 
					        if (check != "") { 
				
			 
			
		
	
		
		
			
				
					 
					 
					 
					 
					 
					            println("Error: 'node' command is not found, but 'nodejs' command is found. Your NodeJS should be too old."); 
				
			 
			
		
	
		
		
			
				
					 
					 
					 
					 
					 
					            bash("exit 1"); 
				
			 
			
		
	
		
		
			
				
					 
					 
					 
					 
					 
					        } 
				
			 
			
		
	
		
		
			
				
					 
					 
					 
					 
					 
					
 
				
			 
			
		
	
		
		
			
				
					 
					 
					 
					 
					 
					        bash("curlCheck=$(curl --version)"); 
				
			 
			
		
	
		
		
			
				
					 
					 
					 
					 
					 
					        if (curlCheck == "") { 
				
			 
			
		
	
		
		
			
				
					 
					 
					 
					 
					 
					            println("Installing Curl"); 
				
			 
			
		
	
		
		
			
				
					 
					 
					 
					 
					 
					            bash("apt --yes install curl"); 
				
			 
			
		
	
		
		
			
				
					 
					 
					 
					 
					 
					        } 
				
			 
			
		
	
		
		
			
				
					 
					 
					 
					 
					 
					
 
				
			 
			
		
	
		
		
			
				
					 
					 
					 
					 
					 
					        println("Installing Node.js 14"); 
				
			 
			
		
	
		
		
			
				
					 
					 
					 
					 
					 
					        bash("curl -sL https://deb.nodesource.com/setup_14.x | bash - > log.txt"); 
				
			 
			
		
	
		
		
			
				
					 
					 
					 
					 
					 
					        bash("apt --yes install nodejs"); 
				
			 
			
		
	
		
		
			
				
					 
					 
					 
					 
					 
					        bash("node -v"); 
				
			 
			
		
	
		
		
			
				
					 
					 
					 
					 
					 
					
 
				
			 
			
		
	
		
		
			
				
					 
					 
					 
					 
					 
					        bash("nodeCheckAgain=$(node -v)"); 
				
			 
			
		
	
		
		
			
				
					 
					 
					 
					 
					 
					
 
				
			 
			
		
	
		
		
			
				
					 
					 
					 
					 
					 
					        if (nodeCheckAgain == "") { 
				
			 
			
		
	
		
		
			
				
					 
					 
					 
					 
					 
					            println("Error during Node.js installation"); 
				
			 
			
		
	
		
		
			
				
					 
					 
					 
					 
					 
					            bash("exit 1"); 
				
			 
			
		
	
		
		
			
				
					 
					 
					 
					 
					 
					        } 
				
			 
			
		
	
		
		
			
				
					 
					 
					 
					 
					 
					    } 
				
			 
			
		
	
		
		
			
				
					 
					 
					 
					 
					 
					
 
				
			 
			
		
	
		
		
			
				
					 
					 
					 
					 
					 
					    bash("check=$(git --version)"); 
				
			 
			
		
	
		
		
			
				
					 
					 
					 
					 
					 
					    if (check == "") { 
				
			 
			
		
	
		
		
			
				
					 
					 
					 
					 
					 
					        println("Installing Git"); 
				
			 
			
		
	
		
		
			
				
					 
					 
					 
					 
					 
					        bash("apt --yes install git"); 
				
			 
			
		
	
		
		
			
				
					 
					 
					 
					 
					 
					    } 
				
			 
			
		
	
		
		
			
				
					 
					 
					 
					 
					 
					} 
				
			 
			
		
	
		
		
			
				
					 
					 
					 
					 
					 
					
 
				
			 
			
		
	
		
		
			
				
					 
					 
					if (type == "local") { 
					 
					 
					if (type == "local") { 
				
			 
			
		
	
		
		
			
				
					 
					 
					    defaultPort = "3001"; 
					 
					 
					 
				
			 
			
		
	
		
		
			
				
					 
					 
					    defaultInstallPath = "/opt/uptime-kuma"; 
					 
					 
					    defaultInstallPath = "/opt/uptime-kuma"; 
				
			 
			
		
	
		
		
			
				
					 
					 
					
 
					 
					 
					
 
				
			 
			
		
	
		
		
			
				
					 
					 
					    if (exists("/etc/redhat-release")) { 
					 
					 
					    if (exists("/etc/redhat-release")) { 
				
			 
			
		
	
	
		
		
			
				
					
						
						
						
							
								 
							 
						
					 
					@ -34,7 +92,9 @@ if (type == "local") { 
				
			 
			
		
	
		
		
			
				
					 
					 
					        if (os == "Ubuntu") { 
					 
					 
					        if (os == "Ubuntu") { 
				
			 
			
		
	
		
		
			
				
					 
					 
					            distribution = "ubuntu"; 
					 
					 
					            distribution = "ubuntu"; 
				
			 
			
		
	
		
		
			
				
					 
					 
					        } 
					 
					 
					        } 
				
			 
			
		
	
		
		
			
				
					
					 
					 
					
 
					 
					 
					        if (os == "Debian") { 
				
			 
			
				
				
			
		
	
		
		
	
		
		
			
				
					 
					 
					 
					 
					 
					            distribution = "debian"; 
				
			 
			
		
	
		
		
			
				
					 
					 
					 
					 
					 
					        } 
				
			 
			
		
	
		
		
			
				
					 
					 
					    } 
					 
					 
					    } 
				
			 
			
		
	
		
		
			
				
					 
					 
					
 
					 
					 
					
 
				
			 
			
		
	
		
		
			
				
					 
					 
					    bash("arch=$(uname -i)"); 
					 
					 
					    bash("arch=$(uname -i)"); 
				
			 
			
		
	
	
		
		
			
				
					
						
						
						
							
								 
							 
						
					 
					@ -46,7 +106,7 @@ if (type == "local") { 
				
			 
			
		
	
		
		
			
				
					 
					 
					    if ("$3" != "") { 
					 
					 
					    if ("$3" != "") { 
				
			 
			
		
	
		
		
			
				
					 
					 
					        port = "$3"; 
					 
					 
					        port = "$3"; 
				
			 
			
		
	
		
		
			
				
					 
					 
					    } else { 
					 
					 
					    } else { 
				
			 
			
		
	
		
		
			
				
					
					 
					 
					        call("read", "-p", "Listening Port [$p ort]: ", "port"); 
					 
					 
					        call("read", "-p", "Listening Port [$defaultP ort]: ", "port"); 
				
			 
			
				
				
			
		
	
		
		
	
		
		
			
				
					 
					 
					
 
					 
					 
					
 
				
			 
			
		
	
		
		
			
				
					 
					 
					        if (port == "") { 
					 
					 
					        if (port == "") { 
				
			 
			
		
	
		
		
			
				
					 
					 
					            port = defaultPort; 
					 
					 
					            port = defaultPort; 
				
			 
			
		
	
	
		
		
			
				
					
						
						
						
							
								 
							 
						
					 
					@ -56,28 +116,19 @@ if (type == "local") { 
				
			 
			
		
	
		
		
			
				
					 
					 
					    if ("$2" != "") { 
					 
					 
					    if ("$2" != "") { 
				
			 
			
		
	
		
		
			
				
					 
					 
					        installPath = "$2"; 
					 
					 
					        installPath = "$2"; 
				
			 
			
		
	
		
		
			
				
					 
					 
					    } else { 
					 
					 
					    } else { 
				
			 
			
		
	
		
		
			
				
					
					 
					 
					        call("read", "-p", "Installation Path [$i nstallPath]: ", "installPath"); 
					 
					 
					        call("read", "-p", "Installation Path [$defaultI nstallPath]: ", "installPath"); 
				
			 
			
				
				
			
		
	
		
		
	
		
		
			
				
					 
					 
					
 
					 
					 
					
 
				
			 
			
		
	
		
		
			
				
					 
					 
					        if (installPath == "") { 
					 
					 
					        if (installPath == "") { 
				
			 
			
		
	
		
		
			
				
					 
					 
					            installPath = defaultInstallPath; 
					 
					 
					            installPath = defaultInstallPath; 
				
			 
			
		
	
		
		
			
				
					 
					 
					        } 
					 
					 
					        } 
				
			 
			
		
	
		
		
			
				
					 
					 
					    } 
					 
					 
					    } 
				
			 
			
		
	
		
		
			
				
					 
					 
					
 
					 
					 
					
 
				
			 
			
		
	
		
		
			
				
					 
					 
					 
					 
					 
					    // CentOS 
				
			 
			
		
	
		
		
			
				
					 
					 
					    if (distribution == "rhel") { 
					 
					 
					    if (distribution == "rhel") { 
				
			 
			
		
	
		
		
			
				
					 
					 
					        bash("nodeCheck=$(node -v)"); 
					 
					 
					        bash("nodeCheck=$(node -v)"); 
				
			 
			
		
	
		
		
			
				
					 
					 
					
 
					 
					 
					
 
				
			 
			
		
	
		
		
			
				
					 
					 
					        if (nodeCheck != "") { 
					 
					 
					        if (nodeCheck != "") { 
				
			 
			
		
	
		
		
			
				
					
					 
					 
					            bash("nodeVersion=$(node -e 'console.log(process.versions.node.split(`.`)[0])')"); 
					 
					 
					            checkNode(); 
				
			 
			
				
				
			
		
	
		
		
			
				
					 
					 
					            println("Node Version: " ++ nodeVersion); 
					 
					 
					 
				
			 
			
		
	
		
		
			
				
					 
					 
					
 
					 
					 
					 
				
			 
			
		
	
		
		
			
				
					 
					 
					            if (nodeVersion < "12") { 
					 
					 
					 
				
			 
			
		
	
		
		
			
				
					 
					 
					                println("Error: Required Node.js 14"); 
					 
					 
					 
				
			 
			
		
	
		
		
			
				
					 
					 
					                call("exit", "1"); 
					 
					 
					 
				
			 
			
		
	
		
		
			
				
					 
					 
					            } 
					 
					 
					 
				
			 
			
		
	
		
		
			
				
					 
					 
					
 
					 
					 
					 
				
			 
			
		
	
		
		
			
				
					 
					 
					            if (nodeVersion == "12") { 
					 
					 
					 
				
			 
			
		
	
		
		
			
				
					 
					 
					                println("Warning: NodeJS " ++ nodeVersion ++ " is not tested."); 
					 
					 
					 
				
			 
			
		
	
		
		
			
				
					 
					 
					            } 
					 
					 
					 
				
			 
			
		
	
		
		
	
		
		
			
				
					 
					 
					        } else { 
					 
					 
					        } else { 
				
			 
			
		
	
		
		
			
				
					 
					 
					
 
					 
					 
					
 
				
			 
			
		
	
		
		
			
				
					 
					 
					            bash("curlCheck=$(curl --version)"); 
					 
					 
					            bash("curlCheck=$(curl --version)"); 
				
			 
			
		
	
	
		
		
			
				
					
						
							
								 
							 
						
						
							
								 
							 
						
						
					 
					@ -105,6 +156,36 @@ if (type == "local") { 
				
			 
			
		
	
		
		
			
				
					 
					 
					            bash("yum -y -q install git"); 
					 
					 
					            bash("yum -y -q install git"); 
				
			 
			
		
	
		
		
			
				
					 
					 
					        } 
					 
					 
					        } 
				
			 
			
		
	
		
		
			
				
					 
					 
					
 
					 
					 
					
 
				
			 
			
		
	
		
		
			
				
					 
					 
					 
					 
					 
					    // Ubuntu 
				
			 
			
		
	
		
		
			
				
					 
					 
					 
					 
					 
					    } else if (distribution == "ubuntu") { 
				
			 
			
		
	
		
		
			
				
					 
					 
					 
					 
					 
					        deb(); 
				
			 
			
		
	
		
		
			
				
					 
					 
					 
					 
					 
					
 
				
			 
			
		
	
		
		
			
				
					 
					 
					 
					 
					 
					    // Debian 
				
			 
			
		
	
		
		
			
				
					 
					 
					 
					 
					 
					    } else if (distribution == "debian") { 
				
			 
			
		
	
		
		
			
				
					 
					 
					 
					 
					 
					        deb(); 
				
			 
			
		
	
		
		
			
				
					 
					 
					 
					 
					 
					
 
				
			 
			
		
	
		
		
			
				
					 
					 
					 
					 
					 
					    } else { 
				
			 
			
		
	
		
		
			
				
					 
					 
					 
					 
					 
					        // Unknown distribution 
				
			 
			
		
	
		
		
			
				
					 
					 
					 
					 
					 
					        error = 0; 
				
			 
			
		
	
		
		
			
				
					 
					 
					 
					 
					 
					
 
				
			 
			
		
	
		
		
			
				
					 
					 
					 
					 
					 
					        bash("check=$(git --version)"); 
				
			 
			
		
	
		
		
			
				
					 
					 
					 
					 
					 
					        if (check == "") { 
				
			 
			
		
	
		
		
			
				
					 
					 
					 
					 
					 
					            error = 1; 
				
			 
			
		
	
		
		
			
				
					 
					 
					 
					 
					 
					            println("Error: git is missing"); 
				
			 
			
		
	
		
		
			
				
					 
					 
					 
					 
					 
					        } 
				
			 
			
		
	
		
		
			
				
					 
					 
					 
					 
					 
					
 
				
			 
			
		
	
		
		
			
				
					 
					 
					 
					 
					 
					        bash("check=$(node -v)"); 
				
			 
			
		
	
		
		
			
				
					 
					 
					 
					 
					 
					        if (check == "") { 
				
			 
			
		
	
		
		
			
				
					 
					 
					 
					 
					 
					            error = 1; 
				
			 
			
		
	
		
		
			
				
					 
					 
					 
					 
					 
					            println("Error: node is missing"); 
				
			 
			
		
	
		
		
			
				
					 
					 
					 
					 
					 
					        } 
				
			 
			
		
	
		
		
			
				
					 
					 
					 
					 
					 
					
 
				
			 
			
		
	
		
		
			
				
					 
					 
					 
					 
					 
					        if (error > 0) { 
				
			 
			
		
	
		
		
			
				
					 
					 
					 
					 
					 
					            println("Please install above missing software"); 
				
			 
			
		
	
		
		
			
				
					 
					 
					 
					 
					 
					            bash("exit 1"); 
				
			 
			
		
	
		
		
			
				
					 
					 
					 
					 
					 
					        } 
				
			 
			
		
	
		
		
			
				
					 
					 
					 
					 
					 
					   } 
				
			 
			
		
	
		
		
			
				
					 
					 
					 
					 
					 
					
 
				
			 
			
		
	
		
		
			
				
					 
					 
					   bash("check=$(pm2 --version)"); 
					 
					 
					   bash("check=$(pm2 --version)"); 
				
			 
			
		
	
		
		
			
				
					 
					 
					   if (check == "") { 
					 
					 
					   if (check == "") { 
				
			 
			
		
	
		
		
			
				
					 
					 
					       println("Installing PM2"); 
					 
					 
					       println("Installing PM2"); 
				
			 
			
		
	
	
		
		
			
				
					
						
						
						
							
								 
							 
						
					 
					@ -118,15 +199,47 @@ if (type == "local") { 
				
			 
			
		
	
		
		
			
				
					 
					 
					   bash("npm run setup"); 
					 
					 
					   bash("npm run setup"); 
				
			 
			
		
	
		
		
			
				
					 
					 
					
 
					 
					 
					
 
				
			 
			
		
	
		
		
			
				
					 
					 
					   bash("pm2 start npm --name uptime-kuma -- run start-server -- --port=$port"); 
					 
					 
					   bash("pm2 start npm --name uptime-kuma -- run start-server -- --port=$port"); 
				
			 
			
		
	
		
		
			
				
					
					 
					 
					        bash("pm2 list"); 
					 
					 
					
 
				
			 
			
				
				
			
		
	
		
		
	
		
		
			
				
					 
					 
					 
					 
					 
					} else { 
				
			 
			
		
	
		
		
			
				
					 
					 
					 
					 
					 
					    defaultVolume = "uptime-kuma"; 
				
			 
			
		
	
		
		
			
				
					 
					 
					 
					 
					 
					
 
				
			 
			
		
	
		
		
			
				
					 
					 
					 
					 
					 
					    bash("check=$(docker -v)"); 
				
			 
			
		
	
		
		
			
				
					 
					 
					 
					 
					 
					    if (check == "") { 
				
			 
			
		
	
		
		
			
				
					 
					 
					 
					 
					 
					        println("Error: docker is not found!"); 
				
			 
			
		
	
		
		
			
				
					 
					 
					 
					 
					 
					        bash("exit 1"); 
				
			 
			
		
	
		
		
			
				
					 
					 
					 
					 
					 
					    } 
				
			 
			
		
	
		
		
			
				
					 
					 
					 
					 
					 
					
 
				
			 
			
		
	
		
		
			
				
					 
					 
					 
					 
					 
					    bash("check=$(docker info)"); 
				
			 
			
		
	
		
		
			
				
					 
					 
					 
					 
					 
					
 
				
			 
			
		
	
		
		
			
				
					 
					 
					 
					 
					 
					    bash("if [[ \"$check\" == *\"Is the docker daemon running\"* ]]; then 
				
			 
			
		
	
		
		
			
				
					 
					 
					 
					 
					 
					      echo \"Error: docker is not running\" 
				
			 
			
		
	
		
		
			
				
					 
					 
					 
					 
					 
					      exit 1 
				
			 
			
		
	
		
		
			
				
					 
					 
					 
					 
					 
					    fi"); 
				
			 
			
		
	
		
		
			
				
					 
					 
					 
					 
					 
					
 
				
			 
			
		
	
		
		
			
				
					 
					 
					 
					 
					 
					    if ("$3" != "") { 
				
			 
			
		
	
		
		
			
				
					 
					 
					 
					 
					 
					        port = "$3"; 
				
			 
			
		
	
		
		
			
				
					 
					 
					 
					 
					 
					    } else { 
				
			 
			
		
	
		
		
			
				
					 
					 
					 
					 
					 
					        call("read", "-p", "Expose Port [$defaultPort]: ", "port"); 
				
			 
			
		
	
		
		
			
				
					 
					 
					 
					 
					 
					
 
				
			 
			
		
	
		
		
			
				
					 
					 
					 
					 
					 
					        if (port == "") { 
				
			 
			
		
	
		
		
			
				
					 
					 
					 
					 
					 
					            port = defaultPort; 
				
			 
			
		
	
		
		
			
				
					 
					 
					 
					 
					 
					        } 
				
			 
			
		
	
		
		
			
				
					 
					 
					    } 
					 
					 
					    } 
				
			 
			
		
	
		
		
			
				
					 
					 
					
 
					 
					 
					
 
				
			 
			
		
	
		
		
			
				
					
					 
					 
					   if (distribution == "ubuntu") { 
					 
					 
					    if ("$2" != "") { 
				
			 
			
				
				
			
		
	
		
		
			
				
					
					 
					 
					        println("TODO"); 
					 
					 
					        volume = "$2"; 
				
			 
			
				
				
			
		
	
		
		
			
				
					
					 
					 
					        // TODO 
					 
					 
					    } else { 
				
			 
			
				
				
			
		
	
		
		
	
		
		
	
		
		
	
		
		
			
				
					 
					 
					 
					 
					 
					        call("read", "-p", "Volume Name [$defaultVolume]: ", "volume"); 
				
			 
			
		
	
		
		
			
				
					 
					 
					 
					 
					 
					
 
				
			 
			
		
	
		
		
			
				
					 
					 
					 
					 
					 
					        if (volume == "") { 
				
			 
			
		
	
		
		
			
				
					 
					 
					 
					 
					 
					            volume = defaultVolume; 
				
			 
			
		
	
		
		
			
				
					 
					 
					 
					 
					 
					        } 
				
			 
			
		
	
		
		
			
				
					 
					 
					    } 
					 
					 
					    } 
				
			 
			
		
	
		
		
			
				
					 
					 
					
 
					 
					 
					
 
				
			 
			
		
	
		
		
			
				
					
					 
					 
					} else { 
					 
					 
					    println("Port: $port"); 
				
			 
			
				
				
			
		
	
		
		
			
				
					
					 
					 
					    call("read", "-p", "Expose Port [3001]: ", "port"); 
					 
					 
					    println("Volume: $volume"); 
				
			 
			
				
				
			
		
	
		
		
			
				
					
					 
					 
					    call("read", "-p", "Volume Name [uptime-kuma]: ", "volume"); 
					 
					 
					    bash("docker volume create $volume"); 
				
			 
			
				
				
			
		
	
		
		
	
		
		
	
		
		
	
		
		
			
				
					 
					 
					 
					 
					 
					    bash("docker run -d --restart=always -p $port:3001 -v $volume:/app/data --name uptime-kuma louislam/uptime-kuma:1"); 
				
			 
			
		
	
		
		
			
				
					 
					 
					} 
					 
					 
					} 
				
			 
			
		
	
		
		
			
				
					 
					 
					 
					 
					 
					
 
				
			 
			
		
	
		
		
			
				
					 
					 
					 
					 
					 
					println("http://localhost:$port");