Tweak dockerfile generation (#104717)

This commit is contained in:
Erik Montnemery 2023-11-29 15:20:21 +01:00 committed by GitHub
parent 8f2e69fdb7
commit 61d82ae9ab
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23

View file

@ -4,14 +4,14 @@ from homeassistant.util import executor, thread
from .model import Config, Integration from .model import Config, Integration
DOCKERFILE_TEMPLATE = """# Automatically generated by hassfest. DOCKERFILE_TEMPLATE = r"""# Automatically generated by hassfest.
# #
# To update, run python3 -m script.hassfest -p docker # To update, run python3 -m script.hassfest -p docker
ARG BUILD_FROM ARG BUILD_FROM
FROM ${{BUILD_FROM}} FROM ${{BUILD_FROM}}
# Synchronize with homeassistant/core.py:async_stop # Synchronize with homeassistant/core.py:async_stop
ENV \\ ENV \
S6_SERVICES_GRACETIME={timeout} S6_SERVICES_GRACETIME={timeout}
ARG QEMU_CPU ARG QEMU_CPU
@ -21,33 +21,33 @@ WORKDIR /usr/src
## Setup Home Assistant Core dependencies ## Setup Home Assistant Core dependencies
COPY requirements.txt homeassistant/ COPY requirements.txt homeassistant/
COPY homeassistant/package_constraints.txt homeassistant/homeassistant/ COPY homeassistant/package_constraints.txt homeassistant/homeassistant/
RUN \\ RUN \
pip3 install \\ pip3 install \
--only-binary=:all: \\ --only-binary=:all: \
-r homeassistant/requirements.txt -r homeassistant/requirements.txt
COPY requirements_all.txt home_assistant_frontend-* home_assistant_intents-* homeassistant/ COPY requirements_all.txt home_assistant_frontend-* home_assistant_intents-* homeassistant/
RUN \\ RUN \
if ls homeassistant/home_assistant_frontend*.whl 1> /dev/null 2>&1; then \\ if ls homeassistant/home_assistant_frontend*.whl 1> /dev/null 2>&1; then \
pip3 install homeassistant/home_assistant_frontend-*.whl; \\ pip3 install homeassistant/home_assistant_frontend-*.whl; \
fi \\ fi \
&& if ls homeassistant/home_assistant_intents*.whl 1> /dev/null 2>&1; then \\ && if ls homeassistant/home_assistant_intents*.whl 1> /dev/null 2>&1; then \
pip3 install homeassistant/home_assistant_intents-*.whl; \\ pip3 install homeassistant/home_assistant_intents-*.whl; \
fi \\ fi \
&& \\ && \
LD_PRELOAD="/usr/local/lib/libjemalloc.so.2" \\ LD_PRELOAD="/usr/local/lib/libjemalloc.so.2" \
MALLOC_CONF="background_thread:true,metadata_thp:auto,dirty_decay_ms:20000,muzzy_decay_ms:20000" \\ MALLOC_CONF="background_thread:true,metadata_thp:auto,dirty_decay_ms:20000,muzzy_decay_ms:20000" \
pip3 install \\ pip3 install \
--only-binary=:all: \\ --only-binary=:all: \
-r homeassistant/requirements_all.txt -r homeassistant/requirements_all.txt
## Setup Home Assistant Core ## Setup Home Assistant Core
COPY . homeassistant/ COPY . homeassistant/
RUN \\ RUN \
pip3 install \\ pip3 install \
--only-binary=:all: \\ --only-binary=:all: \
-e ./homeassistant \\ -e ./homeassistant \
&& python3 -m compileall \\ && python3 -m compileall \
homeassistant/homeassistant homeassistant/homeassistant
# Home Assistant S6-Overlay # Home Assistant S6-Overlay