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() { | 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 | ||||||
|  | |||||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user