mirror of
https://github.com/home-assistant/supervisor.git
synced 2026-05-08 17:08:36 +01:00
37bc703bbb
We don't intent to run uv again, so the cache is not really useful. The cache directory size is around 80MB, however, the files are mostly hardlinks to the original files in `/usr/local/lib/python3.13/site-packages` so the actual saving is much smaller.
53 lines
1.1 KiB
Docker
53 lines
1.1 KiB
Docker
ARG BUILD_FROM
|
|
FROM ${BUILD_FROM}
|
|
|
|
ENV \
|
|
S6_SERVICES_GRACETIME=10000 \
|
|
SUPERVISOR_API=http://localhost \
|
|
CRYPTOGRAPHY_OPENSSL_NO_LEGACY=1 \
|
|
UV_SYSTEM_PYTHON=true
|
|
|
|
ARG \
|
|
COSIGN_VERSION \
|
|
BUILD_ARCH
|
|
|
|
# Install base
|
|
WORKDIR /usr/src
|
|
RUN \
|
|
set -x \
|
|
&& apk add --no-cache \
|
|
findutils \
|
|
eudev \
|
|
eudev-libs \
|
|
git \
|
|
libffi \
|
|
libpulse \
|
|
musl \
|
|
openssl \
|
|
yaml \
|
|
\
|
|
&& curl -Lso /usr/bin/cosign "https://github.com/home-assistant/cosign/releases/download/${COSIGN_VERSION}/cosign_${BUILD_ARCH}" \
|
|
&& chmod a+x /usr/bin/cosign \
|
|
&& pip3 install uv==0.6.1
|
|
|
|
# Install requirements
|
|
COPY requirements.txt .
|
|
RUN \
|
|
if [ "${BUILD_ARCH}" = "i386" ]; then \
|
|
setarch="linux32"; \
|
|
else \
|
|
setarch=""; \
|
|
fi \
|
|
&& ${setarch} uv pip install --compile-bytecode --no-cache --no-build -r requirements.txt \
|
|
&& rm -f requirements.txt
|
|
|
|
# Install Home Assistant Supervisor
|
|
COPY . supervisor
|
|
RUN \
|
|
uv pip install --no-cache -e ./supervisor \
|
|
&& python3 -m compileall ./supervisor/supervisor
|
|
|
|
|
|
WORKDIR /
|
|
COPY rootfs /
|