Update install scripts

This commit is contained in:
Pascal Vizeli 2017-04-23 18:29:21 +02:00
parent d3ff3f35aa
commit 9890adc0dc
2 changed files with 66 additions and 0 deletions

View file

@ -1,7 +1,25 @@
#!/bin/bash
set -e
ARCH=$(uname -m)
DOCKER_REPO=pvizeli
URL_VERSION="https://raw.githubusercontent.com/pvizeli/hassio/master/version.json"
URL_START_HASSIO="https://raw.githubusercontent.com/pvizeli/hassio-build/master/install/scripts/start-hassio"
BIN_DIR=/usr/bin
DATA_SHARE=/usr/share/hassio
# Check env
command -v docker > /dev/null 2>&1 || echo "[ERROR] Please install docker first" && exit 1
command -v jq > /dev/null 2>&1 || echo "[ERROR] Please install jq first" && exit 1
command -v socat > /dev/null 2>&1 || echo "[ERROR] Please install socat first" && exit 1
# Check system options
if [ command -v systemctl > /dev/null 2>&1 ]; then
INIT_SYSTEM=systemd
else
INIT_SYSTEM=sysvinit
fi
# Parse command line parameters
while [[ $# > 0 ]]; do
@ -15,6 +33,13 @@ while [[ $# > 0 ]]; do
MACHINE=$2
shift
;;
-d|--data-share)
if [ -z "$2" ]; then
echo "[ERROR] \"$1\" argument needs a value"
fi
DATA_SHARE=$2
shift
;;
*)
echo "[ERROR] Unrecognized option $1"
;;
@ -55,3 +80,24 @@ case $ARCH in
exit 1
;;
esac
# Init folders
if [ ! -d "$DATA_SHARE" ]; then
mkdir -p "$DATA_SHARE"
fi
# Read infos from web
HASSIO_VERSION=$(curl -s $URL_VERSION | jq -e -r '.hassio_tag')
# Install supervisor
docker pull "$HASSIO_DOCKER:$HASSIO_VERSION"
docker tag "$HASSIO_DOCKER:$HASSIO_VERSION" "$HASSIO_DOCKER:latest"
# install start-hassio
curl -sL "$URL_START_HASSIO" > "$BIN_DIR/start-hassio"
sed -i "s/%%SUPERVISOR_IMAGE%%/$HASSIO_DOCKER/g" "$BIN_DIR/start-hassio"
sed -i "s/%%HOMEASSISTANT_IMAGE%%/$HOMEASSISTANT_DOCKER/g" "$BIN_DIR/start-hassio"
sed -i "s/%%DATA_SHARE%%/$DATA_SHARE/g" "$BIN_DIR/start-hassio"
chmod a+x "$BIN_DIR/start-hassio"

View file

@ -0,0 +1,20 @@
#!/bin/bash
set -e
HASSIO_IMAGE_ID=$(docker inspect --format='{{.Id}}' %%SUPERVISOR_IMAGE%%)
HASSIO_CONTAINER_IMAGE_ID=$(docker inspect --format='{{.Image}}' hassio_supervisor || echo "")
runSupervisor() {
docker rm --force hassio_supervisor || true
docker run --name hassio_supervisor \
-v /var/run/docker.sock:/var/run/docker.sock \
-v /var/run/hassio-hc.sock:/var/run/hassio-hc.sock \
-v %%DATA_SHARE%%:/data \
-v /var/log/supervisor-log:/var/log \
-e SUPERVISOR_SHARE=%%DATA_SHARE%% \
-e SUPERVISOR_NAME=hassio_supervisor \
-e HOMEASSISTANT_REPOSITORY=%%HOMEASSISTANT_IMAGE%% \
%%SUPERVISOR_IMAGE%%
}
([ "$HASSIO_IMAGE_ID" == "$HASSIO_CONTAINER_IMAGE_ID" ] && docker start --attach hassio_supervisor) || runSupervisor