mirror of
https://github.com/home-assistant/supervisor.git
synced 2025-04-21 19:57:15 +00:00
59 lines
1.6 KiB
Bash
59 lines
1.6 KiB
Bash
#!/bin/bash
|
|
|
|
function start_docker() {
|
|
local starttime
|
|
local endtime
|
|
|
|
echo "Starting docker."
|
|
dockerd 2> /dev/null &
|
|
DOCKER_PID=$!
|
|
|
|
echo "Waiting for docker to initialize..."
|
|
starttime="$(date +%s)"
|
|
endtime="$(date +%s)"
|
|
until docker info >/dev/null 2>&1; do
|
|
if [ $((endtime - starttime)) -le $DOCKER_TIMEOUT ]; then
|
|
sleep 1
|
|
endtime=$(date +%s)
|
|
else
|
|
echo "Timeout while waiting for docker to come up"
|
|
exit 1
|
|
fi
|
|
done
|
|
echo "Docker was initialized"
|
|
}
|
|
|
|
function stop_docker() {
|
|
local starttime
|
|
local endtime
|
|
|
|
echo "Stopping in container docker..."
|
|
if [ "$DOCKER_PID" -gt 0 ] && kill -0 "$DOCKER_PID" 2> /dev/null; then
|
|
starttime="$(date +%s)"
|
|
endtime="$(date +%s)"
|
|
|
|
# Now wait for it to die
|
|
kill "$DOCKER_PID"
|
|
while kill -0 "$DOCKER_PID" 2> /dev/null; do
|
|
if [ $((endtime - starttime)) -le $DOCKER_TIMEOUT ]; then
|
|
sleep 1
|
|
endtime=$(date +%s)
|
|
else
|
|
echo "Timeout while waiting for container docker to die"
|
|
exit 1
|
|
fi
|
|
done
|
|
else
|
|
echo "Your host might have been left with unreleased resources"
|
|
fi
|
|
}
|
|
|
|
function cleanup_lastboot() {
|
|
if [[ -f /workspaces/test_supervisor/config.json ]]; then
|
|
echo "Cleaning up last boot"
|
|
cp /workspaces/test_supervisor/config.json /tmp/config.json
|
|
jq -rM 'del(.last_boot)' /tmp/config.json > /workspaces/test_supervisor/config.json
|
|
rm /tmp/config.json
|
|
fi
|
|
}
|