From 06ea0964c4462b30b23c12019f6eee51dc739bb2 Mon Sep 17 00:00:00 2001 From: tteckster Date: Sun, 17 Apr 2022 17:44:50 -0400 Subject: [PATCH 01/12] Create podman-homeassistant-v3.sh --- ct/podman-homeassistant-v3.sh | 307 ++++++++++++++++++++++++++++++++++ 1 file changed, 307 insertions(+) create mode 100644 ct/podman-homeassistant-v3.sh diff --git a/ct/podman-homeassistant-v3.sh b/ct/podman-homeassistant-v3.sh new file mode 100644 index 00000000..927c9183 --- /dev/null +++ b/ct/podman-homeassistant-v3.sh @@ -0,0 +1,307 @@ +#!/usr/bin/env bash -ex +set -euo pipefail +shopt -s inherit_errexit nullglob +NEXTID=$(pvesh get /cluster/nextid) +INTEGER='^[0-9]+$' +YW=`echo "\033[33m"` +BL=`echo "\033[36m"` +RD=`echo "\033[01;31m"` +BGN=`echo "\033[4;92m"` +GN=`echo "\033[1;92m"` +DGN=`echo "\033[32m"` +CL=`echo "\033[m"` +BFR="\\r\\033[K" +HOLD="-" +CM="${GN}✓${CL}" +APP="PHome Assistant" +NSAPP=$(echo ${APP,,} | tr -d ' ') +while true; do + read -p "This will create a New ${APP} LXC. Proceed(y/n)?" yn + case $yn in + [Yy]* ) break;; + [Nn]* ) exit;; + * ) echo "Please answer yes or no.";; + esac +done +clear +function header_info { +echo -e "${BL} + _____ _ + | __ \ | | + | |__) |__ __| |_ __ ___ __ _ _ __ + | ___/ _ \ / _ | _ _ \ / _ | _ \ + | | | (_) | (_| | | | | | | (_| | | | | + |_| \___/ \__,_|_| |_| |_|\__,_|_| |_| _ _ _ + | | v3 (_) | | | | + | |__ ___ _ __ ___ ___ __ _ ___ ___ _ ___| |_ __ _ _ __ | |_ + | _ \ / _ \| _ _ \ / _ \/ _ / __/ __| / __| __/ _ | _ \| __| + | | | | (_) | | | | | | __/ (_| \__ \__ \ \__ \ || (_| | | | | |_ + |_| |_|\___/|_| |_| |_|\___|\__,_|___/___/_|___/\__\__,_|_| |_|\__| + +${CL}" +} + +header_info + +function msg_info() { + local msg="$1" + echo -ne " ${HOLD} ${YW}${msg}..." +} + +function msg_ok() { + local msg="$1" + echo -e "${BFR} ${CM} ${GN}${msg}${CL}" +} + +function PVE_CHECK() { + PVE=$(pveversion | grep "pve-manager/7" | wc -l) + + if [[ $PVE != 1 ]]; then + echo -e "${RD}This script requires Proxmox Virtual Environment 7.0 or greater${CL}" + echo -e "Exiting..." + sleep 2 + exit + fi +} + +function default_settings() { + clear + header_info + echo -e "${BL}Using Default Settings${CL}" + echo -e "${DGN}Using CT Type ${BGN}Privileged${CL}" + CT_TYPE="0" + echo -e "${DGN}Using CT Password ${BGN}Automatic Login${CL}" + PW=" " + echo -e "${DGN}Using ID ${BGN}$NEXTID${CL}" + CT_ID=$NEXTID + echo -e "${DGN}Using CT Name ${BGN}$NSAPP${CL}" + HN=$NSAPP + echo -e "${DGN}Using Disk Size ${BGN}16GB${CL}" + DISK_SIZE="16" + echo -e "${DGN}Using ${BGN}2vCPU${CL}" + CORE_COUNT="2" + echo -e "${DGN}Using ${BGN}2048MiB${CL}${DGN} RAM${CL}" + RAM_SIZE="2048" + echo -e "${DGN}Using IP Address ${BGN}DHCP${CL}" + NET=dhcp + echo -e "${DGN}Using VLAN Tag ${BGN}NONE${CL}" + VLAN=" " +} + +function advanced_settings() { + clear + header_info + echo -e "${RD}Using Advanced Settings${CL}" + echo -e "${YW}Type Unprivileged, or Press [ENTER] for Default: Privileged" + read CT_TYPE1 + if [ -z $CT_TYPE1 ]; then CT_TYPE1="Privileged" CT_TYPE="0"; + echo -en "${DGN}Set CT Type ${BL}$CT_TYPE1${CL}" + else + CT_TYPE1="Unprivileged" + CT_TYPE="1" + echo -en "${DGN}Set CT Type ${BL}Unprivileged${CL}" + fi; +echo -e " ${CM}${CL} \r" +sleep 1 +clear +header_info + echo -e "${RD}Using Advanced Settings${CL}" + echo -e "${DGN}Using CT Type ${BGN}$CT_TYPE1${CL}" + echo -e "${YW}Set Password, or Press [ENTER] for Default: Automatic Login " + read PW1 + if [ -z $PW1 ]; then PW1="Automatic Login" PW=" "; + echo -en "${DGN}Set CT ${BL}$PW1${CL}" + else + PW="-password $PW1" + echo -en "${DGN}Set CT Password ${BL}$PW1${CL}" + fi; +echo -e " ${CM}${CL} \r" +sleep 1 +clear +header_info + echo -e "${RD}Using Advanced Settings${CL}" + echo -e "${DGN}Using CT Type ${BGN}$CT_TYPE1${CL}" + echo -e "${DGN}Using CT Password ${BGN}$PW1${CL}" + echo -e "${YW}Enter the CT ID, or Press [ENTER] to automatically generate (${NEXTID}) " + read CT_ID + if [ -z $CT_ID ]; then CT_ID=$NEXTID; fi; + echo -en "${DGN}Set CT ID To ${BL}$CT_ID${CL}" +echo -e " ${CM}${CL} \r" +sleep 1 +clear +header_info + echo -e "${RD}Using Advanced Settings${CL}" + echo -e "${DGN}Using CT Type ${BGN}$CT_TYPE1${CL}" + echo -e "${DGN}Using CT Password ${BGN}$PW1${CL}" + echo -e "${DGN}Using ID ${BGN}$CT_ID${CL}" + echo -e "${YW}Enter CT Name (no-spaces), or Press [ENTER] for Default: $NSAPP " + read CT_NAME + if [ -z $CT_NAME ]; then + HN=$NSAPP + else + HN=$(echo ${CT_NAME,,} | tr -d ' ') + fi + echo -en "${DGN}Set CT Name To ${BL}$HN${CL}" +echo -e " ${CM}${CL} \r" +sleep 1 +clear +header_info + echo -e "${RD}Using Advanced Settings${CL}" + echo -e "${DGN}Using CT Type ${BGN}$CT_TYPE1${CL}" + echo -e "${DGN}Using CT Password ${BGN}$PW1${CL}" + echo -e "${DGN}Using ID ${BGN}$CT_ID${CL}" + echo -e "${DGN}Using CT Name ${BGN}$HN${CL}" + echo -e "${YW}Enter a Disk Size, or Press [ENTER] for Default: 16Gb " + read DISK_SIZE + if [ -z $DISK_SIZE ]; then DISK_SIZE="16"; fi; + if ! [[ $DISK_SIZE =~ $INTEGER ]] ; then echo "ERROR! DISK SIZE MUST HAVE INTEGER NUMBER!"; exit; fi; + echo -en "${DGN}Set Disk Size To ${BL}$DISK_SIZE${CL}" +echo -e " ${CM}${CL} \r" +sleep 1 +clear +header_info + echo -e "${RD}Using Advanced Settings${CL}" + echo -e "${DGN}Using CT Type ${BGN}$CT_TYPE1${CL}" + echo -e "${DGN}Using CT Password ${BGN}$PW1${CL}" + echo -e "${DGN}Using ID ${BGN}$CT_ID${CL}" + echo -e "${DGN}Using CT Name ${BGN}$HN${CL}" + echo -e "${DGN}Using Disk Size ${BGN}$DISK_SIZE${CL}" + echo -e "${YW}Allocate CPU cores, or Press [ENTER] for Default: 2 " + read CORE_COUNT + if [ -z $CORE_COUNT ]; then CORE_COUNT="2"; fi; + echo -en "${DGN}Set Cores To ${BL}$CORE_COUNT${CL}" +echo -e " ${CM}${CL} \r" +sleep 1 +clear +header_info + echo -e "${RD}Using Advanced Settings${CL}" + echo -e "${DGN}Using CT Type ${BGN}$CT_TYPE1${CL}" + echo -e "${DGN}Using CT Password ${BGN}$PW1${CL}" + echo -e "${DGN}Using ID ${BGN}$CT_ID${CL}" + echo -e "${DGN}Using CT Name ${BGN}$HN${CL}" + echo -e "${DGN}Using Disk Size ${BGN}$DISK_SIZE${CL}" + echo -e "${DGN}Using ${BGN}${CORE_COUNT}vCPU${CL}" + echo -e "${YW}Allocate RAM in MiB, or Press [ENTER] for Default: 2048 " + read RAM_SIZE + if [ -z $RAM_SIZE ]; then RAM_SIZE="2048"; fi; + echo -en "${DGN}Set RAM To ${BL}$RAM_SIZE${CL}" +echo -e " ${CM}${CL} \n" +sleep 1 +clear +header_info + echo -e "${RD}Using Advanced Settings${CL}" + echo -e "${DGN}Using CT Type ${BGN}$CT_TYPE1${CL}" + echo -e "${DGN}Using CT Password ${BGN}$PW1${CL}" + echo -e "${DGN}Using ID ${BGN}$CT_ID${CL}" + echo -e "${DGN}Using CT Name ${BGN}$HN${CL}" + echo -e "${DGN}Using Disk Size ${BGN}$DISK_SIZE${CL}" + echo -e "${DGN}Using ${BGN}${CORE_COUNT}vCPU${CL}" + echo -e "${DGN}Using ${BGN}${RAM_SIZE}MiB${CL}${DGN} RAM${CL}" + echo -e "${YW}Enter a IP Address, or Press [ENTER] for Default: DHCP " + read NET + if [ -z $NET ]; then NET="dhcp"; fi; + echo -en "${DGN}Set IP Address To ${BL}$NET${CL}" +echo -e " ${CM}${CL} \n" +sleep 1 +clear +header_info + echo -e "${RD}Using Advanced Settings${CL}" + echo -e "${DGN}Using CT Type ${BGN}$CT_TYPE1${CL}" + echo -e "${DGN}Using CT Password ${BGN}$PW1${CL}" + echo -e "${DGN}Using ID ${BGN}$CT_ID${CL}" + echo -e "${DGN}Using CT Name ${BGN}$HN${CL}" + echo -e "${DGN}Using Disk Size ${BGN}$DISK_SIZE${CL}" + echo -e "${DGN}Using ${BGN}${CORE_COUNT}vCPU${CL}" + echo -e "${DGN}Using ${BGN}${RAM_SIZE}MiB${CL}${DGN} RAM${CL}" + echo -e "${DGN}Using IP Address ${BGN}$NET${CL}" + echo -e "${YW}Enter a VLAN Tag, or Press [ENTER] for Default: NONE " + read VLAN1 + if [ -z $VLAN1 ]; then VLAN1="NONE" VLAN=" "; + echo -en "${DGN}Set VLAN Tag To ${BL}$VLAN1${CL}" + else + VLAN="-tag $VLAN1" + echo -en "${DGN}Set VLAN Tag To ${BL}$VLAN1${CL}" + fi; +echo -e " ${CM}${CL} \n" +sleep 1 +clear +header_info + echo -e "${RD}Using Advanced Settings${CL}" + echo -e "${DGN}Using CT Type ${BGN}$CT_TYPE1${CL}" + echo -e "${DGN}Using CT Password ${BGN}$PW1${CL}" + echo -e "${DGN}Using ID ${BGN}$CT_ID${CL}" + echo -e "${DGN}Using CT Name ${BGN}$HN${CL}" + echo -e "${DGN}Using Disk Size ${BGN}$DISK_SIZE${CL}" + echo -e "${DGN}Using ${BGN}${CORE_COUNT}vCPU${CL}" + echo -e "${DGN}Using ${BGN}${RAM_SIZE}MiB${CL}${DGN} RAM${CL}" + echo -e "${DGN}Using IP Address ${BGN}$NET${CL}" + echo -e "${DGN}Using VLAN Tag ${BGN}$VLAN1${CL}" + +read -p "Are these settings correct(y/n)? " -n 1 -r +echo +if [[ ! $REPLY =~ ^[Yy]$ ]] +then + advanced_settings +fi +} + +function start_script() { + echo -e "${YW}Type Advanced, or Press [ENTER] for Default Settings " + read SETTINGS + if [ -z $SETTINGS ]; then default_settings; + else + advanced_settings + fi; +} +PVE_CHECK +start_script + +if [ "$CT_TYPE" == "1" ]; then + FEATURES="nesting=1,keyctl=1" + else + FEATURES="nesting=1" + fi + +TEMP_DIR=$(mktemp -d) +pushd $TEMP_DIR >/dev/null + +export CTID=$CT_ID +export PCT_OSTYPE=debian +export PCT_OSVERSION=11 +export PCT_DISK_SIZE=$DISK_SIZE +export PCT_OPTIONS=" + -features $FEATURES + -hostname $HN + -net0 name=eth0,bridge=vmbr0,ip=$NET + $VLAN + -onboot 1 + -cores $CORE_COUNT + -memory $RAM_SIZE + -unprivileged $CT_TYPE + $PW +" +bash -c "$(wget -qLO - https://raw.githubusercontent.com/tteck/Proxmox/main/ct/create_lxc.sh)" || exit + +STORAGE_TYPE=$(pvesm status -storage $(pct config $CTID | grep rootfs | awk -F ":" '{print $2}') | awk 'NR>1 {print $2}') +if [ "$STORAGE_TYPE" == "zfspool" ]; then + echo -e "${RD}Some applications may not work properly due to ZFS not supporting 'fallocate'.${CL}" +fi +LXC_CONFIG=/etc/pve/lxc/${CTID}.conf +cat <> $LXC_CONFIG +lxc.cgroup2.devices.allow: a +lxc.cap.drop: +EOF + +msg_info "Starting LXC Container" +pct start $CTID +msg_ok "Started LXC Container" + +lxc-attach -n $CTID -- bash -c "$(wget -qLO - https://raw.githubusercontent.com/tteck/Proxmox/main/setup/podman-homeassistant-install.sh)" || exit + +IP=$(pct exec $CTID ip a s dev eth0 | sed -n '/inet / s/\// /p' | awk '{print $2}') + +msg_ok "Completed Successfully!\n" +echo -e "${APP} should be reachable by going to the following URL. + ${BL}http://${IP}:8123${CL} +Yacht should be reachable by going to the following URL. + ${BL}http://${IP}:8000${CL}\n" From e8ee4849520940906ddc5f0a1ef0f1331bbb2ba4 Mon Sep 17 00:00:00 2001 From: tteckster Date: Sun, 17 Apr 2022 17:45:39 -0400 Subject: [PATCH 02/12] Update homeassistant-v3.sh --- ct/homeassistant-v3.sh | 1 + 1 file changed, 1 insertion(+) diff --git a/ct/homeassistant-v3.sh b/ct/homeassistant-v3.sh index 0d6e482c..72bae187 100644 --- a/ct/homeassistant-v3.sh +++ b/ct/homeassistant-v3.sh @@ -248,6 +248,7 @@ function start_script() { fi; } +PVE_CHECK start_script if [ "$CT_TYPE" == "1" ]; then From b8353e346cdebb85cfde40cfff54622926040123 Mon Sep 17 00:00:00 2001 From: tteckster Date: Sun, 17 Apr 2022 18:00:51 -0400 Subject: [PATCH 03/12] Create podman-homeassistant-install.sh --- setup/podman-homeassistant-install.sh | 124 ++++++++++++++++++++++++++ 1 file changed, 124 insertions(+) create mode 100644 setup/podman-homeassistant-install.sh diff --git a/setup/podman-homeassistant-install.sh b/setup/podman-homeassistant-install.sh new file mode 100644 index 00000000..da39c87d --- /dev/null +++ b/setup/podman-homeassistant-install.sh @@ -0,0 +1,124 @@ +#!/usr/bin/env bash -ex +set -euo pipefail +shopt -s inherit_errexit nullglob + +YW=`echo "\033[33m"` +RD=`echo "\033[01;31m"` +BL=`echo "\033[36m"` +GN=`echo "\033[1;92m"` +CL=`echo "\033[m"` +RETRY_NUM=10 +RETRY_EVERY=3 +NUM=$RETRY_NUM +CM="${GN}✓${CL}" +CROSS="${RD}✗${CL}" +BFR="\\r\\033[K" +HOLD="-" + +function msg_info() { + local msg="$1" + echo -ne " ${HOLD} ${YW}${msg}..." +} + +function msg_ok() { + local msg="$1" + echo -e "${BFR} ${CM} ${GN}${msg}${CL}" +} + +msg_info "Setting up Container OS " +sed -i "/$LANG/ s/\(^# \)//" /etc/locale.gen +locale-gen >/dev/null +while [ "$(hostname -I)" = "" ]; do + 1>&2 echo -en "${CROSS}${RD} No Network! " + sleep $RETRY_EVERY + ((NUM--)) + if [ $NUM -eq 0 ] + then + 1>&2 echo -e "${CROSS}${RD} No Network After $RETRY_NUM Tries${CL}" + exit 1 + fi +done +msg_ok "Set up Container OS" +msg_ok "Network Connected: ${BL}$(hostname -I)" + +msg_info "Updating Container OS" +apt update &>/dev/null +apt-get -qqy upgrade &>/dev/null +msg_ok "Updated Container OS" + +msg_info "Installing Dependencies" +apt-get install -y curl &>/dev/null +apt-get install -y sudo &>/dev/null +apt-get install -y runc &>/dev/null +msg_ok "Installed Dependencies" + +get_latest_release() { + curl -sL https://api.github.com/repos/$1/releases/latest | grep '"tag_name":' | cut -d'"' -f4 +} + +CORE_LATEST_VERSION=$(get_latest_release "home-assistant/core") +YACHT_LATEST_VERSION=$(get_latest_release "selfhostedpro/yacht") + +msg_info "Installing Podman" +apt-get -y install podman &>/dev/null +msg_ok "Installed Podman" + +msg_info "Pulling Yacht $YACHT_LATEST_VERSION Image" +podman pull docker.io/selfhostedpro/yacht:latest &>/dev/null +msg_ok "Pulled Yacht $YACHT_LATEST_VERSION Image" + +msg_info "Installing Yacht $YACHT_LATEST_VERSION" +podman volume create yacht >/dev/null +podman run -d \ + --privileged \ + --name yacht \ + --restart always \ + -v /var/run/podman/podman.sock:/var/run/docker.sock \ + -v yacht:/config \ + -v /etc/localtime:/etc/localtime:ro \ + -v /etc/timezone:/etc/timezone:ro \ + -p 8000:8000 \ + selfhostedpro/yacht:latest &>/dev/null +msg_ok "Installed Yacht $YACHT_LATEST_VERSION" + +msg_info "Pulling Home Assistant $CORE_LATEST_VERSION Image" +podman pull docker.io/homeassistant/home-assistant:stable &>/dev/null +msg_ok "Pulled Home Assistant $CORE_LATEST_VERSION Image" + +msg_info "Installing Home Assistant $CORE_LATEST_VERSION" +podman volume create hass_config >/dev/null +podman run -d \ + --privileged \ + --name homeassistant \ + --restart unless-stopped \ + -v /dev:/dev \ + -v hass_config:/config \ + -v /etc/localtime:/etc/localtime:ro \ + -v /etc/timezone:/etc/timezone:ro \ + --net=host \ + homeassistant/home-assistant:stable &>/dev/null +msg_ok "Installed Home Assistant $CORE_LATEST_VERSION" + +PASS=$(grep -w "root" /etc/shadow | cut -b6); + if [[ $PASS != $ ]]; then +msg_info "Customizing Container" +rm /etc/motd +rm /etc/update-motd.d/10-uname +touch ~/.hushlogin +GETTY_OVERRIDE="/etc/systemd/system/container-getty@1.service.d/override.conf" +mkdir -p $(dirname $GETTY_OVERRIDE) +cat << EOF > $GETTY_OVERRIDE +[Service] +ExecStart= +ExecStart=-/sbin/agetty --autologin root --noclear --keep-baud tty%I 115200,38400,9600 \$TERM +EOF +systemctl daemon-reload +systemctl restart $(basename $(dirname $GETTY_OVERRIDE) | sed 's/\.d//') +msg_ok "Customized Container" + fi + +msg_info "Cleaning up" +apt-get autoremove >/dev/null +apt-get autoclean >/dev/null +rm -rf /var/{cache,log}/* /var/lib/apt/lists/* +msg_ok "Cleaned" From 6972e77617e84c44b58f8b8ae9207dbe20dbf736 Mon Sep 17 00:00:00 2001 From: tteckster Date: Sun, 17 Apr 2022 18:02:26 -0400 Subject: [PATCH 04/12] Update podman-homeassistant-v3.sh --- ct/podman-homeassistant-v3.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/ct/podman-homeassistant-v3.sh b/ct/podman-homeassistant-v3.sh index 927c9183..dab3ca05 100644 --- a/ct/podman-homeassistant-v3.sh +++ b/ct/podman-homeassistant-v3.sh @@ -296,7 +296,7 @@ msg_info "Starting LXC Container" pct start $CTID msg_ok "Started LXC Container" -lxc-attach -n $CTID -- bash -c "$(wget -qLO - https://raw.githubusercontent.com/tteck/Proxmox/main/setup/podman-homeassistant-install.sh)" || exit +lxc-attach -n $CTID -- bash -c "$(wget -qLO - https://raw.githubusercontent.com/tteck/Proxmox/v3/setup/podman-homeassistant-install.sh)" || exit IP=$(pct exec $CTID ip a s dev eth0 | sed -n '/inet / s/\// /p' | awk '{print $2}') From 40102d1c7968730f737f2a9d4f6267e13aa9812c Mon Sep 17 00:00:00 2001 From: tteckster Date: Sun, 17 Apr 2022 18:09:53 -0400 Subject: [PATCH 05/12] Update podman-homeassistant-install.sh --- setup/podman-homeassistant-install.sh | 17 +++++------------ 1 file changed, 5 insertions(+), 12 deletions(-) diff --git a/setup/podman-homeassistant-install.sh b/setup/podman-homeassistant-install.sh index da39c87d..3e80c9e2 100644 --- a/setup/podman-homeassistant-install.sh +++ b/setup/podman-homeassistant-install.sh @@ -52,22 +52,15 @@ apt-get install -y sudo &>/dev/null apt-get install -y runc &>/dev/null msg_ok "Installed Dependencies" -get_latest_release() { - curl -sL https://api.github.com/repos/$1/releases/latest | grep '"tag_name":' | cut -d'"' -f4 -} - -CORE_LATEST_VERSION=$(get_latest_release "home-assistant/core") -YACHT_LATEST_VERSION=$(get_latest_release "selfhostedpro/yacht") - msg_info "Installing Podman" apt-get -y install podman &>/dev/null msg_ok "Installed Podman" -msg_info "Pulling Yacht $YACHT_LATEST_VERSION Image" +msg_info "Pulling Yacht Image" podman pull docker.io/selfhostedpro/yacht:latest &>/dev/null msg_ok "Pulled Yacht $YACHT_LATEST_VERSION Image" -msg_info "Installing Yacht $YACHT_LATEST_VERSION" +msg_info "Installing Yacht" podman volume create yacht >/dev/null podman run -d \ --privileged \ @@ -81,11 +74,11 @@ podman run -d \ selfhostedpro/yacht:latest &>/dev/null msg_ok "Installed Yacht $YACHT_LATEST_VERSION" -msg_info "Pulling Home Assistant $CORE_LATEST_VERSION Image" +msg_info "Pulling Home Assistant Image" podman pull docker.io/homeassistant/home-assistant:stable &>/dev/null -msg_ok "Pulled Home Assistant $CORE_LATEST_VERSION Image" +msg_ok "Pulled Home Assistant Image" -msg_info "Installing Home Assistant $CORE_LATEST_VERSION" +msg_info "Installing Home Assistant" podman volume create hass_config >/dev/null podman run -d \ --privileged \ From 5b4b6fc1bfca695fa245788a448451af5dfbba7a Mon Sep 17 00:00:00 2001 From: tteckster Date: Sun, 17 Apr 2022 18:17:25 -0400 Subject: [PATCH 06/12] Update podman-homeassistant-install.sh --- setup/podman-homeassistant-install.sh | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/setup/podman-homeassistant-install.sh b/setup/podman-homeassistant-install.sh index 3e80c9e2..e2b1108e 100644 --- a/setup/podman-homeassistant-install.sh +++ b/setup/podman-homeassistant-install.sh @@ -58,7 +58,7 @@ msg_ok "Installed Podman" msg_info "Pulling Yacht Image" podman pull docker.io/selfhostedpro/yacht:latest &>/dev/null -msg_ok "Pulled Yacht $YACHT_LATEST_VERSION Image" +msg_ok "Pulled Yacht Image" msg_info "Installing Yacht" podman volume create yacht >/dev/null @@ -72,7 +72,7 @@ podman run -d \ -v /etc/timezone:/etc/timezone:ro \ -p 8000:8000 \ selfhostedpro/yacht:latest &>/dev/null -msg_ok "Installed Yacht $YACHT_LATEST_VERSION" +msg_ok "Installed Yacht" msg_info "Pulling Home Assistant Image" podman pull docker.io/homeassistant/home-assistant:stable &>/dev/null @@ -90,7 +90,7 @@ podman run -d \ -v /etc/timezone:/etc/timezone:ro \ --net=host \ homeassistant/home-assistant:stable &>/dev/null -msg_ok "Installed Home Assistant $CORE_LATEST_VERSION" +msg_ok "Installed Home Assistant" PASS=$(grep -w "root" /etc/shadow | cut -b6); if [[ $PASS != $ ]]; then From d3bc24699493727f0aecdaf7b96249fd579d8a98 Mon Sep 17 00:00:00 2001 From: tteckster Date: Sun, 17 Apr 2022 18:37:19 -0400 Subject: [PATCH 07/12] Update podman-homeassistant-install.sh --- setup/podman-homeassistant-install.sh | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/setup/podman-homeassistant-install.sh b/setup/podman-homeassistant-install.sh index e2b1108e..9cb2ad86 100644 --- a/setup/podman-homeassistant-install.sh +++ b/setup/podman-homeassistant-install.sh @@ -110,6 +110,16 @@ systemctl restart $(basename $(dirname $GETTY_OVERRIDE) | sed 's/\.d//') msg_ok "Customized Container" fi +podman generate systemd \ + --new --name homeassistant \ + > /etc/systemd/system/homeassistant.service +systemctl enable homeassistant &>/dev/null + +podman generate systemd \ + --new --name yacht \ + > /etc/systemd/system/yacht.service +systemctl enable yacht &>/dev/null + msg_info "Cleaning up" apt-get autoremove >/dev/null apt-get autoclean >/dev/null From 6685ba3676136d4883fd5ad5c874663b6efdfd83 Mon Sep 17 00:00:00 2001 From: tteckster Date: Sun, 17 Apr 2022 18:38:02 -0400 Subject: [PATCH 08/12] Update podman-homeassistant-v3.sh --- ct/podman-homeassistant-v3.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/ct/podman-homeassistant-v3.sh b/ct/podman-homeassistant-v3.sh index dab3ca05..c3e459d4 100644 --- a/ct/podman-homeassistant-v3.sh +++ b/ct/podman-homeassistant-v3.sh @@ -13,7 +13,7 @@ CL=`echo "\033[m"` BFR="\\r\\033[K" HOLD="-" CM="${GN}✓${CL}" -APP="PHome Assistant" +APP="P-Home Assistant" NSAPP=$(echo ${APP,,} | tr -d ' ') while true; do read -p "This will create a New ${APP} LXC. Proceed(y/n)?" yn From d2cbc9f725284be9d0bf6894539a0d58d458ecdc Mon Sep 17 00:00:00 2001 From: tteckster Date: Sun, 17 Apr 2022 18:41:52 -0400 Subject: [PATCH 09/12] Update README.md --- README.md | 12 ++---------- 1 file changed, 2 insertions(+), 10 deletions(-) diff --git a/README.md b/README.md index 3a32393d..4d099718 100644 --- a/README.md +++ b/README.md @@ -201,7 +201,7 @@ ________________________________________________________________________________
- Home Assistant Container LXC (Podman) + 🔸Home Assistant Container LXC (Podman)

@home-assistant

@@ -212,12 +212,10 @@ To create a new Proxmox Podman Home Assistant Container, run the following in th ([What is Podman?](https://youtu.be/lkg5QJsoCCQ)) ```yaml -bash -c "$(wget -qLO - https://github.com/tteck/Proxmox/raw/main/ct/podman_ha_container.sh)" +bash -c "$(wget -qLO - https://github.com/tteck/Proxmox/raw/main/ct/podman-homeassistant-v3.sh)" ```

⚡ Default Settings: 2GB RAM - 16GB Storage - 2vCPU ⚡

-After the script completes, If you're dissatisfied with the default settings, click on the LXC, then on the **_Resources_** tab and change the settings to what you desire. Changes are immediate. - **Home Assistant Interface - IP:8123** **Yacht Interface - IP:8000** @@ -258,12 +256,6 @@ bash -c "$(wget -qLO - https://github.com/tteck/Proxmox/raw/main/misc/podman_hac ``` After install, reboot Home Assistant and **clear browser cache** then Add HACS integration. -⚙️ **To Update Home Assistant:** - -Run in the LXC console -```yaml -./update.sh -``` ⚙️ **Initial Yacht Login** **username** From 4b00d1fcb14fd39b70ebbd5918243da8443a5711 Mon Sep 17 00:00:00 2001 From: tteckster Date: Sun, 17 Apr 2022 18:43:08 -0400 Subject: [PATCH 10/12] Update CHANGELOG.MD --- CHANGELOG.MD | 2 ++ 1 file changed, 2 insertions(+) diff --git a/CHANGELOG.MD b/CHANGELOG.MD index ad0fcada..4a1f8abb 100644 --- a/CHANGELOG.MD +++ b/CHANGELOG.MD @@ -17,6 +17,8 @@ All notable changes to this project will be documented in this file. - New V3 Install Script - **Technitium DNS LXC** - New V3 Install Script +- **Podman Home Assistant LXC** + - New V3 Install Script ## 2022-04-16 From 24e5fd667ae04f227146b297d9dc6f7cd02fbd55 Mon Sep 17 00:00:00 2001 From: tteckster Date: Sun, 17 Apr 2022 18:46:05 -0400 Subject: [PATCH 11/12] Update README.md --- README.md | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/README.md b/README.md index 4d099718..b6a785c2 100644 --- a/README.md +++ b/README.md @@ -134,7 +134,7 @@ ________________________________________________________________________________

Home Assistant Container LXC

-To create a new Proxmox Home Assistant Container, run the following in the Proxmox Shell. +To create a new Proxmox Home Assistant Container LXC, run the following in the Proxmox Shell. ```yaml bash -c "$(wget -qLO - https://github.com/tteck/Proxmox/raw/main/ct/homeassistant-v3.sh)" @@ -201,13 +201,13 @@ ________________________________________________________________________________
- 🔸Home Assistant Container LXC (Podman) + 🔸Podman Home Assistant Container LXC

@home-assistant

Podman Home Assistant Container LXC

-To create a new Proxmox Podman Home Assistant Container, run the following in the Proxmox Shell. +To create a new Proxmox Podman Home Assistant Container LXC, run the following in the Proxmox Shell. ([What is Podman?](https://youtu.be/lkg5QJsoCCQ)) From 56dfc4cf27fbdc8b05052c8a43558bf41e9578fc Mon Sep 17 00:00:00 2001 From: tteckster Date: Sun, 17 Apr 2022 18:48:30 -0400 Subject: [PATCH 12/12] Update podman-homeassistant-v3.sh --- ct/podman-homeassistant-v3.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/ct/podman-homeassistant-v3.sh b/ct/podman-homeassistant-v3.sh index c3e459d4..c92ac739 100644 --- a/ct/podman-homeassistant-v3.sh +++ b/ct/podman-homeassistant-v3.sh @@ -296,7 +296,7 @@ msg_info "Starting LXC Container" pct start $CTID msg_ok "Started LXC Container" -lxc-attach -n $CTID -- bash -c "$(wget -qLO - https://raw.githubusercontent.com/tteck/Proxmox/v3/setup/podman-homeassistant-install.sh)" || exit +lxc-attach -n $CTID -- bash -c "$(wget -qLO - https://raw.githubusercontent.com/tteck/Proxmox/main/setup/podman-homeassistant-install.sh)" || exit IP=$(pct exec $CTID ip a s dev eth0 | sed -n '/inet / s/\// /p' | awk '{print $2}')