Files
operating-system/buildroot-external/rootfs-overlay/usr/sbin/hassio-supervisor
2018-05-06 22:30:01 +02:00

37 lines
1.2 KiB
Bash
Executable File

#!/bin/sh
set -e
# Load configs
CONFIG_FILE=/mnt/data/hassio.json
SUPERVISOR="$(jq --raw-output '.supervisor' ${CONFIG_FILE})"
DOCKER_ARGS="$(jq --raw-output '.supervisor_args // empty' ${CONFIG_FILE})"
APPARMOR="$(jq --raw-output '.supervisor_apparmor // "docker-default"' ${CONFIG_FILE})"
# Init supervisor
HASSIO_DATA=/mnt/data/supervisor
HASSIO_IMAGE_ID=$(docker inspect --format='{{.Id}}' ${SUPERVISOR})
HASSIO_CONTAINER_ID=$(docker inspect --format='{{.Image}}' hassio_supervisor || echo "")
# Fix wrong AppArmor profiles
if ! grep ${APPARMOR} /sys/kernel/security/apparmor/profiles > /dev/null; then
APPARMOR=docker-default
if
runSupervisor() {
docker rm --force hassio_supervisor || true
docker run --name hassio_supervisor \
--security-opt apparmor="${APPARMOR}" \
-v /var/run/docker.sock:/var/run/docker.sock \
-v /var/run/dbus:/var/run/dbus \
-v ${HASSIO_DATA}:/data \
-e SUPERVISOR_SHARE=${HASSIO_DATA} \
-e SUPERVISOR_NAME=hassio_supervisor \
$DOCKER_ARGS \
${SUPERVISOR}
}
# Run supervisor
mkdir -p ${HASSIO_DATA}
([ "${HASSIO_IMAGE_ID}" = "${HASSIO_CONTAINER_ID}" ] && docker start --attach hassio_supervisor) || runSupervisor