From dc92808335745045f556b89e91df1f33cc7a7400 Mon Sep 17 00:00:00 2001 From: Matthias Date: Tue, 15 Dec 2020 06:44:08 +0100 Subject: [PATCH 1/2] 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/ From 4c0edd0461b694f1065f7541f359f3fd648ebf13 Mon Sep 17 00:00:00 2001 From: Matthias Date: Tue, 15 Dec 2020 08:02:53 +0100 Subject: [PATCH 2/2] Move dependencies to base image for RPI --- Dockerfile.armhf | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/Dockerfile.armhf b/Dockerfile.armhf index 822da00a5..b6f2e44e6 100644 --- a/Dockerfile.armhf +++ b/Dockerfile.armhf @@ -11,10 +11,13 @@ ENV PATH=/root/.local/bin:$PATH RUN mkdir /freqtrade WORKDIR /freqtrade +RUN apt-get update \ + && apt-get -y install libatlas3-base curl sqlite3 \ + && apt-get clean + # 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 \ +RUN apt-get -y install build-essential libssl-dev libffi-dev libgfortran5 \ && apt-get clean \ && pip install --upgrade pip \ && echo "[global]\nextra-index-url=https://www.piwheels.org/simple" > /etc/pip.conf