mirror of
				https://github.com/tteck/Proxmox.git
				synced 2025-10-30 18:39:10 +00:00 
			
		
		
		
	ct/podman-homeassistant.sh - added container update and purge images (#1304)
Added podman container(s) update. Added removing unused images.
This commit is contained in:
		
							parent
							
								
									6d644b35d7
								
							
						
					
					
						commit
						1b0ec6b87d
					
				| @ -57,58 +57,80 @@ function default_settings() { | ||||
| function update_script() { | ||||
|   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 \ | ||||
|   "1" "Update Podman" ON \ | ||||
|   "1" "Update system and containers" ON \ | ||||
|   "2" "Install HACS" OFF \ | ||||
|   "3" "Install FileBrowser" OFF \ | ||||
|   "4" "Remove ALL Unused Images" OFF \ | ||||
|   3>&1 1>&2 2>&3) | ||||
| header_info | ||||
| if [ "$UPD" == "1" ]; then | ||||
| msg_info "Updating ${APP} LXC" | ||||
| apt-get update &>/dev/null | ||||
| apt-get -y upgrade &>/dev/null | ||||
| msg_ok "Updated ${APP} LXC" | ||||
| msg_ok "Update Successfull" | ||||
| exit | ||||
|   msg_info "Updating ${APP} LXC" | ||||
|   apt-get update &>/dev/null | ||||
|   apt-get -y upgrade &>/dev/null | ||||
|   msg_ok "Updated ${APP} LXC" | ||||
|   msg_ok "Update os system Successfull" | ||||
| 
 | ||||
|   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 | ||||
| if [ "$UPD" == "2" ]; then | ||||
| msg_info "Installing Home Assistant Comunity Store (HACS)" | ||||
| apt update &>/dev/null | ||||
| apt install unzip &>/dev/null | ||||
| cd /var/lib/containers/storage/volumes/hass_config/_data | ||||
| bash <(curl -fsSL https://get.hacs.xyz) &>/dev/null | ||||
| msg_ok "Installed Home Assistant Comunity Store (HACS)" | ||||
| echo -e "\n Reboot Home Assistant and clear browser cache then Add HACS integration.\n" | ||||
| exit | ||||
|   msg_info "Installing Home Assistant Comunity Store (HACS)" | ||||
|   apt update &>/dev/null | ||||
|   apt install unzip &>/dev/null | ||||
|   cd /var/lib/containers/storage/volumes/hass_config/_data | ||||
|   bash <(curl -fsSL https://get.hacs.xyz) &>/dev/null | ||||
|   msg_ok "Installed Home Assistant Comunity Store (HACS)" | ||||
|   echo -e "\n Reboot Home Assistant and clear browser cache then Add HACS integration.\n" | ||||
|   exit | ||||
| fi | ||||
| if [ "$UPD" == "3" ]; then | ||||
| IP=$(hostname -I | awk '{print $1}')  | ||||
| msg_info "Installing FileBrowser" | ||||
| 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 set -a '0.0.0.0' &>/dev/null | ||||
| filebrowser users add admin changeme --perm.admin &>/dev/null | ||||
| msg_ok "Installed FileBrowser" | ||||
|   IP=$(hostname -I | awk '{print $1}')  | ||||
|   msg_info "Installing FileBrowser" | ||||
|   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 set -a '0.0.0.0' &>/dev/null | ||||
|   filebrowser users add admin changeme --perm.admin &>/dev/null | ||||
|   msg_ok "Installed FileBrowser" | ||||
| 
 | ||||
| msg_info "Creating Service" | ||||
| service_path="/etc/systemd/system/filebrowser.service" | ||||
| echo "[Unit] | ||||
| Description=Filebrowser | ||||
| After=network-online.target | ||||
| [Service] | ||||
| User=root | ||||
| WorkingDirectory=/root/ | ||||
| ExecStart=/usr/local/bin/filebrowser -r / | ||||
| [Install] | ||||
| WantedBy=default.target" >$service_path | ||||
|   msg_info "Creating Service" | ||||
|   service_path="/etc/systemd/system/filebrowser.service" | ||||
|   echo "[Unit] | ||||
|   Description=Filebrowser | ||||
|   After=network-online.target | ||||
|   [Service] | ||||
|     User=root | ||||
|     WorkingDirectory=/root/ | ||||
|     ExecStart=/usr/local/bin/filebrowser -r / | ||||
|   [Install] | ||||
|     WantedBy=default.target" >$service_path | ||||
| 
 | ||||
| systemctl enable --now filebrowser.service &>/dev/null | ||||
| msg_ok "Created Service" | ||||
|     systemctl enable --now filebrowser.service &>/dev/null | ||||
|     msg_ok "Created Service" | ||||
| 
 | ||||
| msg_ok "Completed Successfully!\n" | ||||
| echo -e "FileBrowser should be reachable by going to the following URL. | ||||
|     msg_ok "Completed Successfully!\n" | ||||
|     echo -e "FileBrowser should be reachable by going to the following URL. | ||||
|          ${BL}http://$IP:8080${CL}   admin|changeme\n" | ||||
| exit | ||||
|   exit | ||||
| 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 | ||||
|  | ||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user