oneuptime/Home/Scripts/Install.sh

69 lines
1.7 KiB
Bash

#!/bin/bash
set -e
# Colors for output
RED='\033[0;31m'
GREEN='\033[0;32m'
YELLOW='\033[1;33m'
BLUE='\033[0;34m'
NC='\033[0m' # No Color
echo -e "${BLUE}"
echo " ___ _ _ _ _ "
echo " / _ \ _ __ ___ | | | |_ __ | |_(_)_ __ ___ ___ "
echo "| | | | '_ \ / _ \| | | | '_ \| __| | '_ \` _ \ / _ \\"
echo "| |_| | | | | __/| |_| | |_) | |_| | | | | | | __/"
echo " \___/|_| |_|\___| \___/| .__/ \__|_|_| |_| |_|\___|"
echo " |_| "
echo -e "${NC}"
echo -e "${GREEN}OneUptime Installation Script${NC}"
echo ""
# Check for required dependencies
echo -e "${YELLOW}Checking dependencies...${NC}"
if ! command -v git &> /dev/null; then
echo -e "${RED}Error: git is not installed. Please install git first.${NC}"
exit 1
fi
if ! command -v npm &> /dev/null; then
echo -e "${RED}Error: npm is not installed. Please install Node.js and npm first.${NC}"
exit 1
fi
if ! command -v docker &> /dev/null; then
echo -e "${RED}Error: docker is not installed. Please install Docker first.${NC}"
exit 1
fi
echo -e "${GREEN}All dependencies are installed.${NC}"
echo ""
# Clone the repository
echo -e "${YELLOW}Cloning OneUptime repository...${NC}"
if [ -d "oneuptime" ]; then
echo -e "${YELLOW}Directory 'oneuptime' already exists. Pulling latest changes...${NC}"
cd oneuptime
git pull
else
git clone https://github.com/OneUptime/oneuptime.git
cd oneuptime
fi
echo ""
echo -e "${GREEN}Repository cloned successfully.${NC}"
echo ""
# Start OneUptime
echo -e "${YELLOW}Starting OneUptime...${NC}"
echo ""
npm run start
echo ""
echo -e "${GREEN}OneUptime is now running!${NC}"
echo -e "${BLUE}Access the dashboard at: http://localhost${NC}"
echo ""