From dc92808335745045f556b89e91df1f33cc7a7400 Mon Sep 17 00:00:00 2001 From: Matthias Date: Tue, 15 Dec 2020 06:44:08 +0100 Subject: [PATCH] Change PI dockerfile to use staged build --- Dockerfile.armhf | 31 +++++++++++++++++++++++-------- 1 file changed, 23 insertions(+), 8 deletions(-) diff --git a/Dockerfile.armhf b/Dockerfile.armhf index 0633008ea..822da00a5 100644 --- a/Dockerfile.armhf +++ b/Dockerfile.armhf @@ -1,25 +1,40 @@ -FROM --platform=linux/arm/v7 python:3.7.7-slim-buster +FROM --platform=linux/arm/v7 python:3.7.9-slim-buster as base +# Setup env +ENV LANG C.UTF-8 +ENV LC_ALL C.UTF-8 +ENV PYTHONDONTWRITEBYTECODE 1 +ENV PYTHONFAULTHANDLER 1 +ENV PATH=/root/.local/bin:$PATH + +# Prepare environment +RUN mkdir /freqtrade +WORKDIR /freqtrade + +# Install dependencies +FROM base as python-deps RUN apt-get update \ && apt-get -y install curl build-essential libssl-dev libffi-dev libatlas3-base libgfortran5 sqlite3 \ && apt-get clean \ && pip install --upgrade pip \ && echo "[global]\nextra-index-url=https://www.piwheels.org/simple" > /etc/pip.conf -# Prepare environment -RUN mkdir /freqtrade -WORKDIR /freqtrade - # Install TA-lib COPY build_helpers/* /tmp/ RUN cd /tmp && /tmp/install_ta-lib.sh && rm -r /tmp/*ta-lib* - ENV LD_LIBRARY_PATH /usr/local/lib # Install dependencies COPY requirements.txt /freqtrade/ -RUN pip install numpy --no-cache-dir \ - && pip install -r requirements.txt --no-cache-dir +RUN pip install --user --no-cache-dir numpy \ + && pip install --user --no-cache-dir -r requirements.txt + +# Copy dependencies to runtime-image +FROM base as runtime-image +COPY --from=python-deps /usr/local/lib /usr/local/lib +ENV LD_LIBRARY_PATH /usr/local/lib + +COPY --from=python-deps /root/.local /root/.local # Install and execute COPY . /freqtrade/