113 lines
3.4 KiB
Bash
Executable File
113 lines
3.4 KiB
Bash
Executable File
#! /bin/bash
|
|
set -euo pipefail
|
|
|
|
RED='\033[0;31m'
|
|
YELLOW='\033[1;33m'
|
|
CYAN='\033[0;36m'
|
|
GREEN='\033[0;32m'
|
|
NC='\033[0m' # No Color
|
|
|
|
# Ask for version
|
|
read -p "Do you want to install the latest version? (yes/no): " latest_choice
|
|
|
|
if [[ "$latest_choice" =~ ^[Yy][Ee][Ss]$ ]]; then
|
|
version="latest"
|
|
else
|
|
read -p "Enter version number: " version
|
|
fi
|
|
|
|
echo -e "${GREEN}Selected version: $version${NC}"
|
|
|
|
# Check if OpenEMS is already installed
|
|
if [ -f "/usr/lib/openems/openems.jar" ] || [ -d "/var/www/openems/html" ]; then
|
|
echo -e "${YELLOW}Existing OpenEMS installation detected. Performing update...${NC}"
|
|
|
|
echo -e "${GREEN}Updating OpenEMS JAR...${NC}"
|
|
# Update JAR file
|
|
sudo wget -O /usr/lib/openems/openems.jar https://git.mumme-it.de/Mumme-IT/openems-build/raw/branch/main/build/$version/openems-edge.jar
|
|
|
|
echo -e "${GREEN}Updating UI files...${NC}"
|
|
# Update UI files
|
|
wget -O ~/openems-ui.zip https://git.mumme-it.de/Mumme-IT/openems-build/raw/main/build/$version/ui.zip
|
|
sudo unzip -o ~/openems-ui.zip -d /var/www/openems/html
|
|
sudo rm ~/openems-ui.zip
|
|
|
|
sudo systemctl restart openems
|
|
echo -e "${GREEN}Update completed successfully!${NC}"
|
|
exit 0
|
|
fi
|
|
|
|
# Original installation code continues below for new installations
|
|
host=$(hostname)
|
|
|
|
read -p "Please enter the host (default: $host): " host_input
|
|
host=${host_input:-$host}
|
|
|
|
read -p "Do you want to set the UI as the default for this server? (yes/no): " ui_default
|
|
|
|
if [[ "$ui_default" =~ ^[Yy][Ee][Ss]$ ]]; then
|
|
echo -e "${YELLOW}WARNING: This will override the default nginx configuration.${NC}"
|
|
ui_default=true
|
|
else
|
|
ui_default=false
|
|
fi
|
|
|
|
echo -e "${GREEN}Summary of Configuration:${NC}"
|
|
echo -e "${CYAN}Host: $host${NC}"
|
|
echo -e "${CYAN}Set UI as default: ${ui_default}${NC}"
|
|
|
|
echo -e "${YELLOW}Do you want to proceed with the installation? (yes/no): ${NC}"
|
|
read proceed
|
|
|
|
if [[ ! "$proceed" =~ ^[Yy][Ee][Ss]$ ]]; then
|
|
echo -e "${RED}Installation aborted.${NC}"
|
|
exit 1
|
|
fi
|
|
|
|
echo -e "${GREEN}installing required packages...${NC}"
|
|
sudo apt-get update
|
|
sudo apt-get install -y openjdk-17-jdk
|
|
sudo apt-get install -y nginx
|
|
sudo apt-get install -y wget
|
|
|
|
echo -e "${GREEN}done${NC}"
|
|
|
|
echo -e "${GREEN}setting up openems system service...${NC}"
|
|
|
|
# setup openems service
|
|
sudo wget -O /etc/systemd/system/openems.service https://git.mumme-it.de/Mumme-IT/openems-build/raw/branch/main/installation/openems.service
|
|
|
|
# setup openems config dir
|
|
sudo mkdir -p /etc/openems.d
|
|
|
|
#fetch openems jar
|
|
sudo mkdir -p /usr/lib/openems
|
|
sudo wget -O /usr/lib/openems/openems.jar https://git.mumme-it.de/Mumme-IT/openems-build/raw/branch/main/build/$version/openems-edge.jar
|
|
|
|
# reload systemd and start service
|
|
sudo systemctl daemon-reload
|
|
sudo systemctl enable openems
|
|
sudo systemctl start openems
|
|
|
|
echo -e "${GREEN}done${NC}"
|
|
|
|
echo -e "${GREEN}setting up ui as default nginx site...${NC}"
|
|
|
|
sudo mkdir -p /var/www/openems/html
|
|
|
|
wget -O ~/openems-ui.zip https://git.mumme-it.de/Mumme-IT/openems-build/raw/main/build/$version/ui.zip
|
|
|
|
sudo unzip -o ~/openems-ui.zip -d /var/www/openems/html
|
|
sudo rm ~/openems-ui.zip
|
|
|
|
sudo wget -O /etc/nginx/sites-available/openems https://git.mumme-it.de/Mumme-IT/openems-build/raw/branch/main/installation/nginx-config
|
|
sudo ln -sf /etc/nginx/sites-available/openems "/etc/nginx/sites-enabled/$host"
|
|
|
|
if $ui_default; then
|
|
sudo ln -sf /etc/nginx/sites-available/openems /etc/nginx/sites-enabled/default
|
|
fi
|
|
|
|
sudo systemctl restart nginx
|
|
|
|
echo -e "${GREEN}done${NC}"
|