Add machine build, cleanup old stuff
This commit is contained in:
parent
86abce4897
commit
3d92fc2375
10 changed files with 47 additions and 501 deletions
|
@ -1,34 +0,0 @@
|
|||
FROM ubuntu:16.04
|
||||
|
||||
# setup locals
|
||||
RUN apt-get update && apt-get install -y \
|
||||
locales \
|
||||
&& rm -rf /var/lib/apt/lists/*
|
||||
RUN locale-gen en_US.UTF-8
|
||||
ENV LANG en_US.UTF-8
|
||||
|
||||
# Install docker
|
||||
# https://docs.docker.com/engine/installation/linux/ubuntu/#install-using-the-repository
|
||||
RUN apt-get update && apt-get install -y \
|
||||
apt-transport-https \
|
||||
ca-certificates \
|
||||
curl \
|
||||
software-properties-common \
|
||||
&& rm -rf /var/lib/apt/lists/*
|
||||
VOLUME /var/lib/docker
|
||||
RUN curl -fsSL https://download.docker.com/linux/ubuntu/gpg | apt-key add -
|
||||
RUN add-apt-repository "deb [arch=amd64] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable"
|
||||
RUN apt-get update && apt-get install -y \
|
||||
docker-ce \
|
||||
&& rm -rf /var/lib/apt/lists/*
|
||||
|
||||
# setup arm binary support
|
||||
RUN apt-get update && apt-get install -y \
|
||||
qemu-user-static \
|
||||
binfmt-support \
|
||||
&& rm -rf /var/lib/apt/lists/*
|
||||
|
||||
COPY run-docker.sh /
|
||||
RUN chmod a+x /run-docker.sh
|
||||
|
||||
WORKDIR /docker
|
|
@ -1,54 +0,0 @@
|
|||
#!/bin/bash
|
||||
set -e
|
||||
|
||||
DOCKER_IMAGE=${DOCKER_IMAGE:="homeassistant/docker-build-env"}
|
||||
DOCKER_TAG="$(date +%Y%m%d)"
|
||||
DOCKER_PUSH="false"
|
||||
|
||||
# Get the absolute script location
|
||||
pushd "$(dirname "$0")" > /dev/null 2>&1
|
||||
SCRIPTPATH=$(pwd)
|
||||
popd > /dev/null 2>&1
|
||||
|
||||
help () {
|
||||
cat << EOF
|
||||
Script for hassio docker build environment
|
||||
create_build_env [options]
|
||||
|
||||
Options:
|
||||
-h, --help
|
||||
Display this help and exit.
|
||||
|
||||
-p, --push
|
||||
Upload the build to docker hub.
|
||||
EOF
|
||||
}
|
||||
|
||||
# Parse arguments
|
||||
while [[ $# -gt 0 ]]; do
|
||||
key=$1
|
||||
case $key in
|
||||
-h|--help)
|
||||
help
|
||||
exit 0
|
||||
;;
|
||||
-p|--push)
|
||||
DOCKER_PUSH="true"
|
||||
;;
|
||||
*)
|
||||
echo "[WARNING] $0 : Argument '$1' unknown. Ignoring."
|
||||
;;
|
||||
esac
|
||||
shift
|
||||
done
|
||||
|
||||
# Build
|
||||
docker build --pull --tag "$DOCKER_IMAGE:$DOCKER_TAG" -f "$SCRIPTPATH/Dockerfile" "$SCRIPTPATH"
|
||||
|
||||
# Tag
|
||||
docker tag "$DOCKER_IMAGE:$DOCKER_TAG" "$DOCKER_IMAGE:latest"
|
||||
|
||||
if [ "$DOCKER_PUSH" == "true" ]; then
|
||||
docker push "$DOCKER_IMAGE:$DOCKER_TAG"
|
||||
docker push "$DOCKER_IMAGE:latest"
|
||||
fi
|
|
@ -1,87 +0,0 @@
|
|||
#!/bin/bash
|
||||
set -e
|
||||
|
||||
DOCKER_TIMEOUT=20 # Wait 20 seconds for docker to start
|
||||
|
||||
cleanup() {
|
||||
echo "[INFO] Running cleanup..."
|
||||
|
||||
# Stop docker gracefully
|
||||
echo "[INFO] Stopping in container docker..."
|
||||
DOCKERPIDFILE=/var/run/docker.pid
|
||||
if [ -f $DOCKERPIDFILE ] && [ -s $DOCKERPIDFILE ] && pgrep -F $DOCKERPIDFILE > /dev/null; then
|
||||
kill "$(cat $DOCKERPIDFILE)"
|
||||
# Now wait for it to die
|
||||
STARTTIME=$(date +%s)
|
||||
ENDTIME=$(date +%s)
|
||||
while [ -f $DOCKERPIDFILE ] && [ -s $DOCKERPIDFILE ] && pgrep -F $DOCKERPIDFILE > /dev/null; do
|
||||
if [ $((ENDTIME - STARTTIME)) -le $DOCKER_TIMEOUT ]; then
|
||||
sleep 1
|
||||
ENDTIME=$(date +%s)
|
||||
else
|
||||
echo "[ERROR] Timeout while waiting for in container docker to die"
|
||||
exit 1
|
||||
fi
|
||||
done
|
||||
else
|
||||
echo "[WARN] Can't stop docker container"
|
||||
echo "[WARN] Your host might have been left with unreleased resources (ex. loop devices)"
|
||||
fi
|
||||
|
||||
if [ "$1" == "fail" ]; then
|
||||
exit 1
|
||||
fi
|
||||
}
|
||||
trap 'cleanup fail' SIGINT SIGTERM
|
||||
|
||||
# Start docker
|
||||
echo "[INFO] Setup crosscompiling feature"
|
||||
mount binfmt_misc -t binfmt_misc /proc/sys/fs/binfmt_misc
|
||||
update-binfmts --enable qemu-arm
|
||||
update-binfmts --enable qemu-aarch64
|
||||
|
||||
# Start docker
|
||||
echo "[INFO] Starting docker."
|
||||
dockerd 2> /dev/null &
|
||||
echo "[INFO] 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 "[ERROR] Timeout while waiting for docker to come up"
|
||||
exit 1
|
||||
fi
|
||||
done
|
||||
echo "[INFO] Docker was initialized"
|
||||
|
||||
# Start barys with all the arguments requested
|
||||
echo "[INFO] Running build..."
|
||||
|
||||
if "$DOCKER_CACHE" == "true" && docker pull "$DOCKER_IMAGE:latest" > /dev/null 2>&1
|
||||
then
|
||||
docker build --pull --tag "$DOCKER_IMAGE:$DOCKER_TAG" --cache-from "$DOCKER_IMAGE:latest" .
|
||||
else
|
||||
docker build --pull --tag "$DOCKER_IMAGE:$DOCKER_TAG" .
|
||||
fi
|
||||
|
||||
# tag as latest
|
||||
if [ "$DOCKER_WITH_LATEST" == "true" ]; then
|
||||
docker tag "$DOCKER_IMAGE:$DOCKER_TAG" "$DOCKER_IMAGE:latest"
|
||||
fi
|
||||
|
||||
echo "[INFO] Push image"
|
||||
if [ "$DOCKER_PUSH" == "true" ]; then
|
||||
# push
|
||||
docker push "$DOCKER_IMAGE:$DOCKER_TAG"
|
||||
|
||||
# latest
|
||||
if [ "$DOCKER_WITH_LATEST" == "true" ]; then
|
||||
docker push "$DOCKER_IMAGE:latest"
|
||||
fi
|
||||
fi
|
||||
|
||||
cleanup "okay"
|
||||
exit 0
|
|
@ -1,8 +0,0 @@
|
|||
#!/bin/bash
|
||||
set -e
|
||||
|
||||
for arch in "armhf" "aarch64" "i386" "amd64"
|
||||
do
|
||||
./create_hassio_cluster.sh -a $arch "$@" &
|
||||
done
|
||||
wait
|
|
@ -1,135 +0,0 @@
|
|||
#!/bin/bash
|
||||
set -e
|
||||
|
||||
BUILD_CONTAINER_NAME=hassio-cluster-build-$$
|
||||
DOCKER_PUSH="true"
|
||||
DOCKER_CACHE="true"
|
||||
DOCKER_WITH_LATEST="true"
|
||||
DOCKER_HUB=homeassistant
|
||||
|
||||
cleanup() {
|
||||
echo "[INFO] Cleanup."
|
||||
|
||||
# Stop docker container
|
||||
echo "[INFO] Cleaning up hassio-cluster-build container."
|
||||
docker stop $BUILD_CONTAINER_NAME 2> /dev/null || true
|
||||
docker rm --volumes $BUILD_CONTAINER_NAME 2> /dev/null || true
|
||||
|
||||
if [ "$1" == "fail" ]; then
|
||||
exit 1
|
||||
fi
|
||||
}
|
||||
trap 'cleanup fail' SIGINT SIGTERM
|
||||
|
||||
help () {
|
||||
cat << EOF
|
||||
Script for hassio docker build
|
||||
create_hassio_cluster [options]
|
||||
|
||||
Options:
|
||||
-h, --help
|
||||
Display this help and exit.
|
||||
|
||||
-v, --version xy
|
||||
Set version of cluster image from.
|
||||
|
||||
-d, --dockerhub hubname
|
||||
Set user of dockerhub build.
|
||||
|
||||
-a, --arch armhf|aarch64|i386|amd64
|
||||
Arch for Hass.IO build.
|
||||
-t, --test
|
||||
Don't upload the build to docker hub.
|
||||
-n, --no-cache
|
||||
Disable build from cache
|
||||
EOF
|
||||
}
|
||||
|
||||
# Parse arguments
|
||||
while [[ $# -gt 0 ]]; do
|
||||
key=$1
|
||||
case $key in
|
||||
-h|--help)
|
||||
help
|
||||
exit 0
|
||||
;;
|
||||
-d|--dockerhub)
|
||||
DOCKER_HUB=$2
|
||||
shift
|
||||
;;
|
||||
-v|--version)
|
||||
DOCKER_TAG=$2
|
||||
shift
|
||||
;;
|
||||
-a|--arch)
|
||||
ARCH=$2
|
||||
shift
|
||||
;;
|
||||
-t|--test)
|
||||
DOCKER_PUSH="false"
|
||||
;;
|
||||
-n|--no-cache)
|
||||
DOCKER_CACHE="false"
|
||||
;;
|
||||
*)
|
||||
echo "[WARNING] $0 : Argument '$1' unknown. Ignoring."
|
||||
;;
|
||||
esac
|
||||
shift
|
||||
done
|
||||
|
||||
# Sanity checks
|
||||
if [ "$ARCH" != 'armhf' ] && [ "$ARCH" != 'aarch64' ] && [ "$ARCH" != 'i386' ] && [ "$ARCH" != 'amd64' ]; then
|
||||
echo "Error: $ARCH is not a supported platform for hassio-cluster!"
|
||||
help
|
||||
exit 1
|
||||
fi
|
||||
if [ -z "$DOCKER_TAG" ]; then
|
||||
echo "Error: need set a version!"
|
||||
help
|
||||
exit 1
|
||||
fi
|
||||
|
||||
# Get the absolute script location
|
||||
pushd "$(dirname "$0")" > /dev/null 2>&1
|
||||
SCRIPTPATH=$(pwd)
|
||||
popd > /dev/null 2>&1
|
||||
|
||||
BASE_IMAGE="homeassistant\/$ARCH-base:latest"
|
||||
DOCKER_IMAGE=$DOCKER_HUB/$ARCH-hassio-cluster
|
||||
BUILD_DIR=${BUILD_DIR:=$SCRIPTPATH}
|
||||
WORKSPACE=${BUILD_DIR:=$SCRIPTPATH}/hassio-cluster-$ARCH
|
||||
|
||||
# setup docker
|
||||
echo "[INFO] Setup docker for cluster"
|
||||
mkdir -p "$BUILD_DIR"
|
||||
|
||||
cp -r ../../cluster "$WORKSPACE"
|
||||
sed -i "s/%%BASE_IMAGE%%/${BASE_IMAGE}/g" "$WORKSPACE/Dockerfile"
|
||||
|
||||
echo "LABEL io.hass.version=\"$DOCKER_TAG\" io.hass.arch=\"$ARCH\" io.hass.type=\"cluster\"" >> "$WORKSPACE/Dockerfile"
|
||||
echo "[INFO] prepare $DOCKER_IMAGE:$DOCKER_TAG done"
|
||||
|
||||
# Run build
|
||||
echo "[INFO] start docker build"
|
||||
docker stop $BUILD_CONTAINER_NAME 2> /dev/null || true
|
||||
docker rm --volumes $BUILD_CONTAINER_NAME 2> /dev/null || true
|
||||
docker run --rm \
|
||||
-v "$WORKSPACE":/docker \
|
||||
-v ~/.docker:/root/.docker \
|
||||
-e DOCKER_PUSH=$DOCKER_PUSH \
|
||||
-e DOCKER_CACHE=$DOCKER_CACHE \
|
||||
-e DOCKER_WITH_LATEST=$DOCKER_WITH_LATEST \
|
||||
-e DOCKER_IMAGE="$DOCKER_IMAGE" \
|
||||
-e DOCKER_TAG="$DOCKER_TAG" \
|
||||
--name $BUILD_CONTAINER_NAME \
|
||||
--privileged \
|
||||
homeassistant/docker-build-env \
|
||||
/run-docker.sh
|
||||
|
||||
echo "[INFO] cleanup WORKSPACE"
|
||||
cd "$BUILD_DIR"
|
||||
rm -rf "$WORKSPACE"
|
||||
|
||||
cleanup "okay"
|
||||
exit 0
|
|
@ -1,8 +0,0 @@
|
|||
#!/bin/bash
|
||||
set -e
|
||||
|
||||
for machine in "raspberrypi3" "raspberrypi2" "raspberrypi" "qemux86" "qemux86-64" "intel-nuc"
|
||||
do
|
||||
./create_homeassistant.sh -m $machine "$@" &
|
||||
done
|
||||
wait
|
|
@ -1,129 +0,0 @@
|
|||
#!/bin/bash
|
||||
set -e
|
||||
|
||||
BUILD_CONTAINER_NAME=homeassistant-build-$$
|
||||
DOCKER_PUSH="true"
|
||||
DOCKER_CACHE="false"
|
||||
DOCKER_WITH_LATEST="true"
|
||||
DOCKER_HUB=homeassistant
|
||||
|
||||
cleanup() {
|
||||
echo "[INFO] Cleanup."
|
||||
|
||||
# Stop docker container
|
||||
echo "[INFO] Cleaning up homeassistant-build container."
|
||||
docker stop $BUILD_CONTAINER_NAME 2> /dev/null || true
|
||||
docker rm --volumes $BUILD_CONTAINER_NAME 2> /dev/null || true
|
||||
|
||||
if [ "$1" == "fail" ]; then
|
||||
exit 1
|
||||
fi
|
||||
}
|
||||
trap 'cleanup fail' SIGINT SIGTERM
|
||||
|
||||
help () {
|
||||
cat << EOF
|
||||
Script for homeassistant docker build
|
||||
create_homeassistant [options]
|
||||
|
||||
Options:
|
||||
-h, --help
|
||||
Display this help and exit.
|
||||
|
||||
-h, --hub hubname
|
||||
Set user of dockerhub build.
|
||||
|
||||
-m, --machine name
|
||||
Machine type for HomeAssistant build.
|
||||
-v, --version X.Y
|
||||
Version/Tag/branch of HomeAssistant build.
|
||||
-t, --test
|
||||
Don't upload the build to docker hub.
|
||||
EOF
|
||||
}
|
||||
|
||||
# Parse arguments
|
||||
while [[ $# -gt 0 ]]; do
|
||||
key=$1
|
||||
case $key in
|
||||
-h|--help)
|
||||
help
|
||||
exit 0
|
||||
;;
|
||||
-h|--hub)
|
||||
DOCKER_HUB=$2
|
||||
shift
|
||||
;;
|
||||
-m|--machine)
|
||||
MACHINE=$2
|
||||
shift
|
||||
;;
|
||||
-v|--version)
|
||||
DOCKER_TAG=$2
|
||||
shift
|
||||
;;
|
||||
-t|--test)
|
||||
DOCKER_PUSH="false"
|
||||
;;
|
||||
*)
|
||||
echo "[WARNING] $0 : Argument '$1' unknown. Ignoring."
|
||||
;;
|
||||
esac
|
||||
shift
|
||||
done
|
||||
|
||||
# Sanity checks
|
||||
if [ -z "$MACHINE" ]; then
|
||||
echo "[ERROR] please set a machine!"
|
||||
help
|
||||
exit 1
|
||||
fi
|
||||
if [ -z "$DOCKER_TAG" ]; then
|
||||
echo "[ERROR] please set a version/branch!"
|
||||
help
|
||||
exit 1
|
||||
fi
|
||||
|
||||
# Get the absolute script location
|
||||
pushd "$(dirname "$0")" > /dev/null 2>&1
|
||||
SCRIPTPATH=$(pwd)
|
||||
popd > /dev/null 2>&1
|
||||
|
||||
DOCKER_IMAGE=$DOCKER_HUB/$MACHINE-homeassistant
|
||||
BUILD_DIR=${BUILD_DIR:=$SCRIPTPATH}
|
||||
WORKSPACE=$BUILD_DIR/hass-$MACHINE
|
||||
|
||||
# setup docker
|
||||
echo "[INFO] Setup docker for homeassistant"
|
||||
mkdir -p "$BUILD_DIR"
|
||||
mkdir -p "$WORKSPACE"
|
||||
|
||||
echo "[INFO] load homeassistant"
|
||||
cp "../../homeassistant/machine/$MACHINE" "$WORKSPACE/Dockerfile"
|
||||
|
||||
sed -i "s/%%VERSION%%/${DOCKER_TAG}/g" "$WORKSPACE/Dockerfile"
|
||||
echo "[INFO] prepare done for $DOCKER_IMAGE:$DOCKER_TAG"
|
||||
|
||||
# Run build
|
||||
echo "[INFO] start docker build"
|
||||
docker stop $BUILD_CONTAINER_NAME 2> /dev/null || true
|
||||
docker rm --volumes $BUILD_CONTAINER_NAME 2> /dev/null || true
|
||||
docker run --rm \
|
||||
-v "$WORKSPACE":/docker \
|
||||
-v ~/.docker:/root/.docker \
|
||||
-e DOCKER_PUSH=$DOCKER_PUSH \
|
||||
-e DOCKER_CACHE=$DOCKER_CACHE \
|
||||
-e DOCKER_WITH_LATEST=$DOCKER_WITH_LATEST \
|
||||
-e DOCKER_IMAGE="$DOCKER_IMAGE" \
|
||||
-e DOCKER_TAG="$DOCKER_TAG" \
|
||||
--name $BUILD_CONTAINER_NAME \
|
||||
--privileged \
|
||||
homeassistant/docker-build-env \
|
||||
/run-docker.sh
|
||||
|
||||
echo "[INFO] cleanup WORKSPACE"
|
||||
cd "$BUILD_DIR"
|
||||
rm -rf "$WORKSPACE"
|
||||
|
||||
cleanup "okay"
|
||||
exit 0
|
|
@ -145,10 +145,9 @@ function run_build() {
|
|||
local repository=$2
|
||||
local image=$3
|
||||
local version=$4
|
||||
local build_type=$5
|
||||
local build_from=$6
|
||||
local build_arch=$7
|
||||
local docker_cli=("${!8}")
|
||||
local build_from=$5
|
||||
local build_arch=$6
|
||||
local docker_cli=("${!7}")
|
||||
|
||||
local push_images=()
|
||||
|
||||
|
@ -170,15 +169,18 @@ function run_build() {
|
|||
fi
|
||||
fi
|
||||
|
||||
# do we know the arch of build?
|
||||
if [ ! -z "$build_arch" ]; then
|
||||
docker_cli+=("--label" "io.hass.arch=$build_arch")
|
||||
docker_cli+=("--build-arg" "BUILD_ARCH=$build_arch")
|
||||
fi
|
||||
|
||||
# Build image
|
||||
echo "[INFO] Run build for $repository/$image:$version"
|
||||
docker build -t "$repository/$image:$version" \
|
||||
--label "io.hass.version=$version" \
|
||||
--label "io.hass.type=$build_type" \
|
||||
--label "io.hass.arch=$build_arch" \
|
||||
--build-arg "BUILD_FROM=$build_from" \
|
||||
--build-arg "BUILD_VERSION=$version" \
|
||||
--build-arg "BUILD_ARCH=$build_arch" \
|
||||
"${docker_cli[@]}" \
|
||||
"$build_dir"
|
||||
|
||||
|
@ -246,6 +248,7 @@ function build_addon() {
|
|||
# Set additional labels
|
||||
docker_cli+=("--label" "io.hass.name=$name")
|
||||
docker_cli+=("--label" "io.hass.description=$description")
|
||||
docker_cli+=("--label" "io.hass.type=addon")
|
||||
|
||||
if [ ! -z "$url" ]; then
|
||||
docker_cli+=("--label" "io.hass.url=$url")
|
||||
|
@ -253,7 +256,7 @@ function build_addon() {
|
|||
|
||||
# Start build
|
||||
run_build "$TARGET" "$repository" "$image" "$version" \
|
||||
"addon" "$build_from" "$build_arch" docker_cli[@]
|
||||
"$build_from" "$build_arch" docker_cli[@]
|
||||
}
|
||||
|
||||
|
||||
|
@ -267,10 +270,11 @@ function build_supervisor() {
|
|||
|
||||
# Read version
|
||||
version="$(python3 "$TARGET/setup.py" -V)"
|
||||
docker_cli+=("--label" "io.hass.type=supervisor")
|
||||
|
||||
# Start build
|
||||
run_build "$TARGET" "$DOCKER_HUB" "$image" "$version" \
|
||||
"supervisor" "$build_from" "$build_arch" docker_cli[@]
|
||||
"$build_from" "$build_arch" docker_cli[@]
|
||||
}
|
||||
|
||||
|
||||
|
@ -281,12 +285,34 @@ function build_homeassistant() {
|
|||
local build_from="homeassistant/${build_arch}-homeassistant-base:latest"
|
||||
local docker_cli=()
|
||||
|
||||
# Set labels
|
||||
docker_cli+=("--label" "io.hass.type=homeassistant")
|
||||
|
||||
# Start build
|
||||
run_build "$TARGET" "$DOCKER_HUB" "$image" "$VERSION" \
|
||||
"homeassistant" "$build_from" "$build_arch" docker_cli[@]
|
||||
"$build_from" "$build_arch" docker_cli[@]
|
||||
}
|
||||
|
||||
|
||||
function build_homeassistant_machine() {
|
||||
local build_machine=$1
|
||||
|
||||
local image="${build_machine}-homeassistant"
|
||||
local build_from=""
|
||||
local docker_cli=()
|
||||
local dockerfile="$TARGET/$build_machine"
|
||||
|
||||
# Set labels
|
||||
docker_cli+=("--label" "io.hass.machine=$build_machine")
|
||||
docker_cli+=("--file" "$dockerfile")
|
||||
|
||||
# Start build
|
||||
run_build "$TARGET" "$DOCKER_HUB" "$image" "$VERSION" \
|
||||
"$build_from" "" docker_cli[@]
|
||||
}
|
||||
|
||||
|
||||
|
||||
function extract_machine_build() {
|
||||
local list=$1
|
||||
|
||||
|
@ -419,7 +445,7 @@ while [[ $# -gt 0 ]]; do
|
|||
done
|
||||
|
||||
# Check if a architecture is available
|
||||
if [ "${#BUILD_LIST[@]}" -eq 0 ] && [ "$BUILT_TYPE" != "homeassistant-machine" ]; then
|
||||
if [ "${#BUILD_LIST[@]}" -eq 0 ] && [ "$BUILD_TYPE" != "homeassistant-machine" ]; then
|
||||
echo "[ERROR] You need select a architecture for build!"
|
||||
exit 1
|
||||
fi
|
||||
|
@ -430,16 +456,6 @@ if [ "$BUILD_TYPE" != "addon" ] && [ -z "$DOCKER_HUB" ]; then
|
|||
exit 1
|
||||
fi
|
||||
|
||||
if [ "$BUILD_TYPE" == "homeassistant" ] && [ -z "$VERSION" ]; then
|
||||
echo "[ERROR] Please set a version for home-assistant!"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
if [ "$BUILD_TYPE" == "homeassistant-machine" ] && [ -z "$VERSION" ]; then
|
||||
echo "[ERROR] Please set a version for home-assistant!"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
|
||||
#### Main ####
|
||||
|
||||
|
@ -456,7 +472,7 @@ if [ ! -z "$GIT_REPOSITORY" ]; then
|
|||
TARGET="/data/git/$TARGET"
|
||||
fi
|
||||
|
||||
# Select addon build
|
||||
# Select arch build
|
||||
echo "[INFO] Run $BUILD_TYPE build for: ${BUILD_LIST[*]}"
|
||||
for arch in "${BUILD_LIST[@]}"; do
|
||||
if [ "$BUILD_TYPE" == "addon" ]; then
|
||||
|
@ -469,6 +485,15 @@ for arch in "${BUILD_LIST[@]}"; do
|
|||
BUILD_TASKS+=($!)
|
||||
done
|
||||
|
||||
# Select machine build
|
||||
if [ "$BUILD_TYPE" == "homeassistant-machine" ]; then
|
||||
echo "[INFO] Machine builds: ${BUILD_MACHINE[*]}"
|
||||
for machine in "${BUILD_MACHINE[@]}"; do
|
||||
(build_homeassistant_machine "$machine") &
|
||||
BUILD_TASKS+=($!)
|
||||
done
|
||||
fi
|
||||
|
||||
# Wait until all build jobs are done
|
||||
wait "${BUILD_TASKS[@]}"
|
||||
|
||||
|
|
|
@ -1,13 +0,0 @@
|
|||
FROM %%BASE_IMAGE%%
|
||||
|
||||
# add env
|
||||
ENV LANG C.UTF-8
|
||||
|
||||
# setup base
|
||||
RUN apk add --no-cache socat
|
||||
|
||||
# install scripts
|
||||
COPY run.sh /
|
||||
RUN chmod a+x /run.sh
|
||||
|
||||
CMD [ "/run.sh" ]
|
|
@ -1,11 +0,0 @@
|
|||
#!/bin/bash
|
||||
set -e
|
||||
|
||||
# check env
|
||||
if [ -z "$HASSIO" ]; then
|
||||
echo "[ERROR] Need set \$HASSIO env!"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
echo "[INFO] Start cluster proxy"
|
||||
exec socat TCP-LISTEN:9123,fork TCP:$HASSIO:9123 < /dev/null
|
Loading…
Add table
Add a link
Reference in a new issue