diff --git a/pve6_ha_setup.sh b/pve6_ha_setup.sh deleted file mode 100644 index 451fd81b..00000000 --- a/pve6_ha_setup.sh +++ /dev/null @@ -1,100 +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 -qqy install \ - curl &>/dev/null - -# Customize Docker configuration -msg "Customizing Docker..." -DOCKER_CONFIG_PATH='/etc/docker/daemon.json' -mkdir -p $(dirname $DOCKER_CONFIG_PATH) -cat >$DOCKER_CONFIG_PATH <<'EOF' -{ - "log-driver": "journald" -} -EOF - -# Install Docker -msg "Installing Docker..." -sh <(curl -sSL https://get.docker.com) &>/dev/null - -# Install Portainer -msg "Installing Portainer..." -docker volume create portainer_data >/dev/null -docker run -d \ - -p 8000:8000 \ - -p 9000:9000 \ - --name=portainer \ - --restart=always \ - -v /var/run/docker.sock:/var/run/docker.sock \ - -v portainer_data:/data \ - portainer/portainer-ce:latest &>/dev/null - -# Install Home Assistant -msg "Installing Home Assistant..." -docker volume create hass_config >/dev/null -docker run -d \ - --name homeassistant \ - --privileged \ - --restart unless-stopped \ - -v /var/run/docker.sock:/var/run/docker.sock \ - -v /dev:/dev \ - -v hass_config:/config \ - -v /etc/localtime:/etc/localtime:ro \ - --net=host \ - homeassistant/home-assistant:stable &>/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 /pve6_ha_setup.sh /var/{cache,log}/* /var/lib/apt/lists/*