mirror of
https://github.com/home-assistant/supervisor.git
synced 2025-04-21 03:37:15 +00:00

* Update codenotary 0.9.8 * Fix lint * ditch wrong code * Fix run health check * remove old code * better structured * more cleaner * Fix core * Add tests * addjust test * Split checks * Update supervisor/resolution/checks/core_trust.py Co-authored-by: Joakim Sørensen <joasoe@gmail.com> * Fix line end Co-authored-by: Joakim Sørensen <joasoe@gmail.com>
70 lines
1.8 KiB
Docker
70 lines
1.8 KiB
Docker
ARG BUILD_FROM
|
|
FROM ${BUILD_FROM}
|
|
|
|
ENV \
|
|
S6_SERVICES_GRACETIME=10000 \
|
|
SUPERVISOR_API=http://localhost
|
|
|
|
ARG BUILD_ARCH
|
|
ARG VCN_VERSION
|
|
WORKDIR /usr/src
|
|
|
|
# Install base
|
|
RUN \
|
|
set -x \
|
|
&& apk add --no-cache \
|
|
eudev \
|
|
eudev-libs \
|
|
git \
|
|
glib \
|
|
libffi \
|
|
libpulse \
|
|
musl \
|
|
openssl \
|
|
&& apk add --no-cache --virtual .build-dependencies \
|
|
build-base \
|
|
go \
|
|
\
|
|
&& git clone -b v${VCN_VERSION} --depth 1 \
|
|
https://github.com/codenotary/vcn \
|
|
&& cd vcn \
|
|
\
|
|
&& if [ "${BUILD_ARCH}" = "armhf" ]; then \
|
|
GOARM=6 GOARCH=arm go build -o vcn -ldflags="-s -w" ./cmd/vcn; \
|
|
elif [ "${BUILD_ARCH}" = "armv7" ]; then \
|
|
GOARM=7 GOARCH=arm go build -o vcn -ldflags="-s -w" ./cmd/vcn; \
|
|
elif [ "${BUILD_ARCH}" = "aarch64" ]; then \
|
|
GOARCH=arm64 go build -o vcn -ldflags="-s -w" ./cmd/vcn; \
|
|
elif [ "${BUILD_ARCH}" = "i386" ]; then \
|
|
GOARCH=386 go build -o vcn -ldflags="-s -w" ./cmd/vcn; \
|
|
elif [ "${BUILD_ARCH}" = "amd64" ]; then \
|
|
GOARCH=amd64 go build -o vcn -ldflags="-s -w" ./cmd/vcn; \
|
|
else \
|
|
exit 1; \
|
|
fi \
|
|
\
|
|
&& rm -rf /root/go /root/.cache \
|
|
&& mv vcn /usr/bin/vcn \
|
|
\
|
|
&& apk del .build-dependencies \
|
|
&& rm -rf /usr/src/vcn
|
|
|
|
# Install requirements
|
|
COPY requirements.txt .
|
|
RUN \
|
|
export MAKEFLAGS="-j$(nproc)" \
|
|
&& pip3 install --no-cache-dir --no-index --only-binary=:all: --find-links \
|
|
"https://wheels.home-assistant.io/alpine-$(cut -d '.' -f 1-2 < /etc/alpine-release)/${BUILD_ARCH}/" \
|
|
-r ./requirements.txt \
|
|
&& rm -f requirements.txt
|
|
|
|
# Install Home Assistant Supervisor
|
|
COPY . supervisor
|
|
RUN \
|
|
pip3 install --no-cache-dir -e ./supervisor \
|
|
&& python3 -m compileall ./supervisor/supervisor
|
|
|
|
|
|
WORKDIR /
|
|
COPY rootfs /
|