From 3255cb6901b97e4bf876bf3785c6b57ff8c0ae8f Mon Sep 17 00:00:00 2001 From: tteckster Date: Mon, 14 Feb 2022 17:34:05 -0500 Subject: [PATCH] Update ha_setup.sh --- setup/ha_setup.sh | 85 ++++++++++++++++++++++++++++++++++++++++++++++- 1 file changed, 84 insertions(+), 1 deletion(-) diff --git a/setup/ha_setup.sh b/setup/ha_setup.sh index 400f05cd..66d515e6 100644 --- a/setup/ha_setup.sh +++ b/setup/ha_setup.sh @@ -96,9 +96,92 @@ docker run -d \ --net=host \ homeassistant/home-assistant:stable &>/dev/null -echo -e "${CHECKMARK} \e[1;92m Creating Update-Containers Script... \e[0m" +echo -e "${CHECKMARK} \e[1;92m Creating Update Menu Script... \e[0m" pip3 install runlike &>/dev/null +UPDATE_PATH='/root/update' UPDATE_CONTAINERS_PATH='/root/update-containers.sh' +cat >$UPDATE_PATH <<'EOF' +#!/bin/sh +set -o errexit +show_menu(){ + normal=`echo "\033[m"` + safe=`echo "\033[32m"` + menu=`echo "\033[36m"` + number=`echo "\033[33m"` + bgred=`echo "\033[41m"` + fgred=`echo "\033[31m"` + printf "\n${menu}*********************************************${normal}\n" + printf "${menu}**${number} 1)${safe} Switch to Stable Branch ${normal}\n" + printf "${menu}**${number} 2)${number} Switch to Beta Branch ${normal}\n" + printf "${menu}**${number} 3)${fgred} Switch to Dev Branch ${normal}\n" + printf "${menu}**${number} 4)${safe} Just Update Containers ${normal}\n" + printf "${menu}*********************************************${normal}\n" + printf "Please choose an option from the menu and enter or ${fgred}x to exit. ${normal}" + read opt +} + +option_picked(){ + msgcolor=`echo "\033[01;31m"` + normal=`echo "\033[00;00m"` + message=${@:-"${normal}Error: No message passed"} + printf "${msgcolor}${message}${normal}\n" +} + +clear +show_menu +while [ $opt != '' ] + do + if [ $opt = '' ]; then + exit; + else + case $opt in + 1) clear; + option_picked "Switching to Stable Branch"; + TAG=stable + break; + ;; + 2) clear; + option_picked "Switching to Beta Branch"; + TAG=beta + break; + ;; + 3) clear; + option_picked "Switching to Dev Branch"; + TAG=dev + break; + ;; + 4) clear; + option_picked "Just Updating Containers"; + ./update-containers.sh; + exit; + ;; + x)exit; + ;; + \n)exit; + ;; + *)clear; + option_picked "Please choose an option from the menu"; + show_menu; + ;; + esac + fi + done +docker pull homeassistant/home-assistant:$TAG +docker rm --force homeassistant +docker run -d \ + --name homeassistant \ + --privileged \ + --restart unless-stopped \ + -v /var/run/docker.sock:/var/run/docker.sock \ + -v /dev:/dev \ + -v hass_config:/config \ + -v /etc/localtime:/etc/localtime:ro \ + -v /etc/timezone:/etc/timezone:ro \ + --net=host \ + homeassistant/home-assistant:$TAG + docker image prune -af +EOF +sudo chmod +x /root/update cat >$UPDATE_CONTAINERS_PATH <<'EOF' #!/bin/bash set -o errexit