From 4e24551b90958bb71ab8172fde34de869b8b6d6b Mon Sep 17 00:00:00 2001 From: Otto Winter Date: Wed, 16 Feb 2022 22:25:04 +0100 Subject: [PATCH] Docker move deps install into base (#3207) --- docker/Dockerfile | 22 ++++++++-------------- 1 file changed, 8 insertions(+), 14 deletions(-) diff --git a/docker/Dockerfile b/docker/Dockerfile index 5d9decbf1b..d97eed65f7 100644 --- a/docker/Dockerfile +++ b/docker/Dockerfile @@ -5,9 +5,11 @@ # One of "docker", "hassio" ARG BASEIMGTYPE=docker +# https://github.com/hassio-addons/addon-debian-base/releases FROM ghcr.io/hassio-addons/debian-base/amd64:5.2.3 AS base-hassio-amd64 FROM ghcr.io/hassio-addons/debian-base/aarch64:5.2.3 AS base-hassio-arm64 FROM ghcr.io/hassio-addons/debian-base/armv7:5.2.3 AS base-hassio-armv7 +# https://hub.docker.com/_/debian?tab=tags&page=1&name=bullseye FROM debian:bullseye-20220125-slim AS base-docker-amd64 FROM debian:bullseye-20220125-slim AS base-docker-arm64 FROM debian:bullseye-20220125-slim AS base-docker-armv7 @@ -52,16 +54,16 @@ RUN \ && mkdir -p /piolibs - -# ======================= docker-type image ======================= -FROM base AS docker - # First install requirements to leverage caching when requirements don't change COPY requirements.txt requirements_optional.txt docker/platformio_install_deps.py platformio.ini / RUN \ pip3 install --no-cache-dir -r /requirements.txt -r /requirements_optional.txt \ && /platformio_install_deps.py /platformio.ini + +# ======================= docker-type image ======================= +FROM base AS docker + # Copy esphome and install COPY . /esphome RUN pip3 install --no-cache-dir --no-use-pep517 -e /esphome @@ -104,12 +106,6 @@ ARG BUILD_VERSION=dev # Copy root filesystem COPY docker/ha-addon-rootfs/ / -# First install requirements to leverage caching when requirements don't change -COPY requirements.txt requirements_optional.txt docker/platformio_install_deps.py platformio.ini / -RUN \ - pip3 install --no-cache-dir -r /requirements.txt -r /requirements_optional.txt \ - && /platformio_install_deps.py /platformio.ini - # Copy esphome and install COPY . /esphome RUN pip3 install --no-cache-dir --no-use-pep517 -e /esphome @@ -147,10 +143,8 @@ RUN \ /var/{cache,log}/* \ /var/lib/apt/lists/* -COPY requirements.txt requirements_optional.txt requirements_test.txt docker/platformio_install_deps.py platformio.ini / -RUN \ - pip3 install --no-cache-dir -r /requirements.txt -r /requirements_optional.txt -r /requirements_test.txt \ - && /platformio_install_deps.py /platformio.ini +COPY requirements_test.txt / +RUN pip3 install --no-cache-dir -r /requirements_test.txt VOLUME ["/esphome"] WORKDIR /esphome