@ -57,58 +57,80 @@ function default_settings() {
function update_script( ) {
function update_script( ) {
if [ [ ! -f /etc/systemd/system/homeassistant.service ] ] ; then msg_error " No ${ APP } Installation Found! " ; exit; fi
if [ [ ! -f /etc/systemd/system/homeassistant.service ] ] ; then msg_error " No ${ APP } Installation Found! " ; exit; fi
UPD = $( whiptail --title "UPDATE" --radiolist --cancel-button Exit-Script "Spacebar = Select" 11 58 4 \
UPD = $( whiptail --title "UPDATE" --radiolist --cancel-button Exit-Script "Spacebar = Select" 11 58 4 \
"1" "Update Podman " ON \
"1" "Update system and containers " ON \
"2" "Install HACS" OFF \
"2" "Install HACS" OFF \
"3" "Install FileBrowser" OFF \
"3" "Install FileBrowser" OFF \
"4" "Remove ALL Unused Images" OFF \
3>& 1 1>& 2 2>& 3)
3>& 1 1>& 2 2>& 3)
header_info
header_info
if [ " $UPD " = = "1" ] ; then
if [ " $UPD " = = "1" ] ; then
msg_info " Updating ${ APP } LXC "
msg_info " Updating ${ APP } LXC "
apt-get update & >/dev/null
apt-get update & >/dev/null
apt-get -y upgrade & >/dev/null
apt-get -y upgrade & >/dev/null
msg_ok " Updated ${ APP } LXC "
msg_ok " Updated ${ APP } LXC "
msg_ok "Update Successfull"
msg_ok "Update os system Successfull"
exit
msg_info "Updating All Containers\n"
CONTAINER_LIST = " ${ 1 :- $( podman ps -q) } "
for container in ${ CONTAINER_LIST } ; do
CONTAINER_IMAGE = " $( podman inspect --format "{{.Config.Image}}" --type container ${ container } ) "
RUNNING_IMAGE = " $( podman inspect --format "{{.Image}}" --type container " ${ container } " ) "
podman pull " docker.io/ ${ CONTAINER_IMAGE } "
LATEST_IMAGE = " $( podman inspect --format "{{.Id}}" --type image " ${ CONTAINER_IMAGE } " ) "
if [ [ " ${ RUNNING_IMAGE } " != " ${ LATEST_IMAGE } " ] ] ; then
echo " Updating ${ container } image ${ CONTAINER_IMAGE } "
systemctl restart homeassistant
fi
done
msg_ok "All containers updated."
exit
fi
fi
if [ " $UPD " = = "2" ] ; then
if [ " $UPD " = = "2" ] ; then
msg_info "Installing Home Assistant Comunity Store (HACS)"
msg_info "Installing Home Assistant Comunity Store (HACS)"
apt update & >/dev/null
apt update & >/dev/null
apt install unzip & >/dev/null
apt install unzip & >/dev/null
cd /var/lib/containers/storage/volumes/hass_config/_data
cd /var/lib/containers/storage/volumes/hass_config/_data
bash <( curl -fsSL https://get.hacs.xyz) & >/dev/null
bash <( curl -fsSL https://get.hacs.xyz) & >/dev/null
msg_ok "Installed Home Assistant Comunity Store (HACS)"
msg_ok "Installed Home Assistant Comunity Store (HACS)"
echo -e "\n Reboot Home Assistant and clear browser cache then Add HACS integration.\n"
echo -e "\n Reboot Home Assistant and clear browser cache then Add HACS integration.\n"
exit
exit
fi
fi
if [ " $UPD " = = "3" ] ; then
if [ " $UPD " = = "3" ] ; then
IP = $( hostname -I | awk '{print $1}' )
IP = $( hostname -I | awk '{print $1}' )
msg_info "Installing FileBrowser"
msg_info "Installing FileBrowser"
curl -fsSL https://raw.githubusercontent.com/filebrowser/get/master/get.sh | bash & >/dev/null
curl -fsSL https://raw.githubusercontent.com/filebrowser/get/master/get.sh | bash & >/dev/null
filebrowser config init -a '0.0.0.0' & >/dev/null
filebrowser config init -a '0.0.0.0' & >/dev/null
filebrowser config set -a '0.0.0.0' & >/dev/null
filebrowser config set -a '0.0.0.0' & >/dev/null
filebrowser users add admin changeme --perm.admin & >/dev/null
filebrowser users add admin changeme --perm.admin & >/dev/null
msg_ok "Installed FileBrowser"
msg_ok "Installed FileBrowser"
msg_info "Creating Service"
msg_info "Creating Service"
service_path = "/etc/systemd/system/filebrowser.service"
service_path = "/etc/systemd/system/filebrowser.service"
echo " [Unit]
echo " [Unit]
Description = Filebrowser
Description = Filebrowser
After = network-online.target
After = network-online.target
[ Service]
[ Service]
User = root
User = root
WorkingDirectory = /root/
WorkingDirectory = /root/
ExecStart = /usr/local/bin/filebrowser -r /
ExecStart = /usr/local/bin/filebrowser -r /
[ Install]
[ Install]
WantedBy = default.target" > $service_path
WantedBy = default.target" > $service_path
systemctl enable --now filebrowser.service & >/dev/null
systemctl enable --now filebrowser.service & >/dev/null
msg_ok "Created Service"
msg_ok "Created Service"
msg_ok "Completed Successfully!\n"
msg_ok "Completed Successfully!\n"
echo -e " FileBrowser should be reachable by going to the following URL.
echo -e " FileBrowser should be reachable by going to the following URL.
${ BL } http://$IP :8080${ CL } admin| changeme\n "
${ BL } http://$IP :8080${ CL } admin| changeme\n "
exit
exit
fi
fi
if [ " $UPD " = = "4" ] ; then
msg_info "Removing ALL Unused Images"
podman image prune -a -f
msg_ok "Removed ALL Unused Images"
exit
fi
}
}
start
start