diff --git a/core_setup.sh b/core_setup.sh deleted file mode 100644 index eced7597..00000000 --- a/core_setup.sh +++ /dev/null @@ -1,74 +0,0 @@ -#!/usr/bin/env bash - -# Setup script environment -set -o errexit #Exit immediately if a pipeline returns a non-zero status -set -o errtrace #Trap ERR from shell functions, command substitutions, and commands from subshell -set -o nounset #Treat unset variables as an error -set -o pipefail #Pipe will exit with last non-zero status if applicable -shopt -s expand_aliases -alias die='EXIT=$? LINE=$LINENO error_exit' -trap die ERR -trap 'die "Script interrupted."' INT - -function error_exit() { - trap - ERR - local DEFAULT='Unknown failure occured.' - local REASON="\e[97m${1:-$DEFAULT}\e[39m" - local FLAG="\e[91m[ERROR:LXC] \e[93m$EXIT@$LINE" - msg "$FLAG $REASON" - exit $EXIT -} -function msg() { - local TEXT="$1" - echo -e "$TEXT" -} - -# Prepare container OS -msg "Setting up container OS..." -sed -i "/$LANG/ s/\(^# \)//" /etc/locale.gen -locale-gen >/dev/null -apt-get -y purge openssh-{client,server} >/dev/null -apt-get autoremove >/dev/null - -# Update container OS -msg "Updating container OS..." -apt update &>/dev/null -apt-get -qqy upgrade &>/dev/null - -# Install prerequisites -msg "Installing prerequisites..." -apt-get install -y curl sudo python3 python3-dev python3-venv python3-pip libffi-dev libssl-dev libjpeg-dev zlib1g-dev autoconf build-essential libopenjp2-7 libtiff5 libturbojpeg0 tzdata &>/dev/null - -msg "Installing Home Assistant Core..." -sudo useradd -rm homeassistant &>/dev/null - -sudo mkdir /srv/homeassistant &>/dev/null -sudo chown homeassistant:homeassistant /srv/homeassistant &>/dev/null - -sudo -u homeassistant -H -s \ -cd /srv/homeassistant \ -python3.9 -m venv . \ -source bin/activate &>/dev/null - -python3 -m pip install wheel &>/dev/null - -pip3 install homeassistant &>/dev/null - -# Customize container -msg "Customizing container..." -rm /etc/motd # Remove message of the day after login -rm /etc/update-motd.d/10-uname # Remove kernel information after login -touch ~/.hushlogin # Remove 'Last login: ' and mail notification after login -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//') - -# Cleanup container -msg "Cleanup..." -rm -rf /core_setup.sh /var/{cache,log}/* /var/lib/apt/lists/* \ No newline at end of file