docker-idrac6/startapp.sh
2018-10-25 13:30:06 +02:00

70 lines
1.7 KiB
Bash

#!/bin/sh
RED='\033[0;31m'
NC='\033[0m'
download() {
jar=$1
path=$2
if [ ! -f "${path}/${jar}" ]; then
if [ "${IDRAC_VERSION}" -eq 5 ]; then
URI="Java/release"
elif [ "${IDRAC_VERSION}" -eq 6 ]; then
URI="software"
fi
wget --load-cookies=cookies -O "${path}/${jar}" https://${IDRAC_HOST}/${URI}/${jar} --no-check-certificate
if [ ! $? -eq 0 ]; then
echo -e "${RED}Failed to download ${jar}, please check your settings${NC}"
sleep 2
exit 2
fi
fi
}
echo "Starting"
if [ -z "${IDRAC_HOST}" ]; then
echo -e "${RED}Please set a proper idrac host with IDRAC_HOST${NC}"
sleep 2
exit 1
fi
if [ -z "${IDRAC_USER}" ]; then
echo -e "${RED}Please set a proper idrac user with IDRAC_USER${NC}"
sleep 2
exit 1
fi
if [ -z "${IDRAC_PASSWORD}" ]; then
echo -e "${RED}Please set a proper idrac password with IDRAC_PASSWORD${NC}"
sleep 2
exit 1
fi
echo "Environment ok"
echo "Creating library folder"
cd /app
mkdir lib
touch cookies
IDRAC_VERSION=5
echo "iDRAC version 5 detected"
COOKIE=$(curl -k --data "WEBVAR_USERNAME=${IDRAC_USER}&WEBVAR_PASSWORD=${IDRAC_PASSWORD}" https://${IDRAC_HOST}/rpc/WEBSES/create.asp 2> /dev/null | grep SESSION_COOKIE | cut -d\' -f 4)
echo "Cookie=SessionCookie=${COOKIE}" > cookies
echo "Downloading required files"
download JViewer.jar .
# download Win64.jar lib
# download Win32.jar lib
download Linux_x86_32.jar lib
download Linux_x86_64.jar lib
# download Mac32.jar lib
args=$(curl -k --cookie Cookie=SessionCookie=${COOKIE} https://${IDRAC_HOST}/Java/jviewer.jnlp | awk -F '[<>]' '/argument/ { print $3 }')
exec java -Djava.library.path="lib" -jar JViewer.jar $args