30 lines
933 B
Bash
Executable File
30 lines
933 B
Bash
Executable File
#!/bin/sh
|
|
set -e
|
|
|
|
# Load configs
|
|
CONFIG_FILE=/mnt/data/supervisor.json
|
|
|
|
SUPERVISOR="$(jq --raw-output '.supervisor' $CONFIG_FILE)"
|
|
DOCKER_ARGS="$(jq --raw-output '.supervisor_args // empty' $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 "")
|
|
|
|
runSupervisor() {
|
|
docker rm --force hassio_supervisor || true
|
|
docker run --name hassio_supervisor \
|
|
-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
|