diff --git a/homeassistant-supervised/DEBIAN/postinst b/homeassistant-supervised/DEBIAN/postinst new file mode 100755 index 0000000..828a236 --- /dev/null +++ b/homeassistant-supervised/DEBIAN/postinst @@ -0,0 +1,85 @@ +#!/usr/bin/env bash +set -e +ARCH=$(uname -m) + +BINARY_DOCKER=/usr/bin/docker + +DOCKER_REPO=homeassistant + +SERVICE_DOCKER="docker.service" +SERVICE_NM="NetworkManager.service" + +case $ARCH in + "i386" | "i686") + MACHINE=${MACHINE:=qemux86} + HASSIO_DOCKER="$DOCKER_REPO/i386-hassio-supervisor" + ;; + "x86_64") + MACHINE=${MACHINE:=qemux86-64} + HASSIO_DOCKER="$DOCKER_REPO/amd64-hassio-supervisor" + ;; + "arm" |"armv6l") + if [ -z $MACHINE ]; then + error "Please set machine for $ARCH" + fi + HASSIO_DOCKER="$DOCKER_REPO/armhf-hassio-supervisor" + ;; + "armv7l") + if [ -z $MACHINE ]; then + error "Please set machine for $ARCH" + fi + HASSIO_DOCKER="$DOCKER_REPO/armv7-hassio-supervisor" + ;; + "aarch64") + if [ -z $MACHINE ]; then + error "Please set machine for $ARCH" + fi + HASSIO_DOCKER="$DOCKER_REPO/aarch64-hassio-supervisor" + ;; + *) + error "$ARCH unknown!" + ;; +esac +PREFIX=${PREFIX:-/usr} +SYSCONFDIR=${SYSCONFDIR:-/etc} +DATA_SHARE=${DATA_SHARE:-$PREFIX/share/hassio} +CONFIG=$SYSCONFDIR/hassio.json +cat > "$CONFIG" <<- EOF +{ + "supervisor": "${HASSIO_DOCKER}", + "machine": "${MACHINE}", + "data": "${DATA_SHARE}" +} +EOF + +# Pull Supervisor image +docker pull "$HASSIO_DOCKER:$HASSIO_VERSION" > /dev/null +docker tag "$HASSIO_DOCKER:$HASSIO_VERSION" "$HASSIO_DOCKER:latest" > /dev/null + +# Install Supervisor +sed -i "s,%%HASSIO_CONFIG%%,${CONFIG},g" "${PREFIX}"/sbin/hassio-supervisor +sed -i -e "s,%%BINARY_DOCKER%%,${BINARY_DOCKER},g" \ + -e "s,%%SERVICE_DOCKER%%,${SERVICE_DOCKER},g" \ + -e "s,%%BINARY_HASSIO%%,${PREFIX}/sbin/hassio-supervisor,g" \ + "${SYSCONFDIR}/systemd/system/hassio-supervisor.service" + +chmod a+x "${PREFIX}/sbin/hassio-supervisor" +systemctl enable hassio-supervisor.service > /dev/null 2>&1; + +# Install AppArmor +sed -i "s,%%HASSIO_CONFIG%%,${CONFIG},g" "${PREFIX}/sbin/hassio-apparmor" +sed -i -e "s,%%SERVICE_DOCKER%%,${SERVICE_DOCKER},g" \ + -e "s,%%HASSIO_APPARMOR_BINARY%%,${PREFIX}/sbin/hassio-apparmor,g" \ + "${SYSCONFDIR}/systemd/system/hassio-apparmor.service" + +chmod a+x "${PREFIX}/sbin/hassio-apparmor" +systemctl enable hassio-apparmor.service > /dev/null 2>&1; +systemctl start hassio-apparmor.service + +# Start Supervisor +systemctl start hassio-supervisor.service + + +# Install HA CLI +chmod a+x "${PREFIX}/bin/ha" + diff --git a/homeassistant-supervised/DEBIAN/preinst b/homeassistant-supervised/DEBIAN/preinst new file mode 100755 index 0000000..e69de29