ARG BUILD_FROM=ghcr.io/hassio-addons/base:17.1.0 # hadolint ignore=DL3006 FROM ${BUILD_FROM} ENV LANG C.UTF-8 # Build arguments ARG BUILD_ARCH ARG BUILD_DATE ARG BUILD_DESCRIPTION ARG BUILD_NAME ARG BUILD_REF ARG BUILD_REPOSITORY ARG BUILD_VERSION # Copy root filesystem COPY rootfs / # Install required build tools and dependencies RUN apk add --no-cache \ gcc \ g++ \ make \ cmake \ ninja \ musl-dev \ linux-headers \ python3 \ py3-pip \ git \ libffi-dev \ openssl-dev \ hdf5 \ hdf5-dev \ zlib-dev \ libxml2-dev \ libxslt-dev \ libpq-dev \ libstdc++ \ gfortran \ python3-dev \ lapack-dev \ openblas-dev \ tcl-dev \ tk-dev \ snappy-dev \ bzip2-dev \ lz4-dev \ zstd-dev \ curl-dev \ boost-dev \ re2-dev \ llvm-dev \ libffi-dev # Clone the Apache Arrow source code RUN git clone https://github.com/apache/arrow.git /arrow # Build and install Apache Arrow WORKDIR /arrow/cpp RUN mkdir -p build && cd build && \ cmake -GNinja \ -DARROW_PARQUET=ON \ -DARROW_PYTHON=ON \ -DARROW_DATASET=ON \ -DARROW_FILESYSTEM=ON \ -DARROW_CSV=ON \ -DARROW_WITH_SNAPPY=ON \ -DARROW_WITH_LZ4=ON \ -DARROW_WITH_ZSTD=ON \ -DARROW_JSON=ON \ -DARROW_WITH_BZ2=ON \ -DARROW_BUILD_STATIC=ON \ -DARROW_BUILD_SHARED=ON \ -DCMAKE_BUILD_TYPE=Release \ -DCMAKE_INSTALL_PREFIX=/usr/local .. && \ ninja && \ ninja install # Cleanup Arrow source to reduce image size RUN rm -rf /arrow # Set the working directory WORKDIR /freqtrade # Clone the Freqtrade repository RUN git clone -b stable --single-branch https://github.com/freqtrade/freqtrade.git /freqtrade # Install Ta-lib RUN chmod +x ./build_helpers/install_ta-lib.sh WORKDIR /freqtrade/build_helpers RUN ./install_ta-lib.sh WORKDIR /freqtrade RUN python3 -m venv .venv RUN echo "source /freqtrade/.venv/bin/activate" >> ~/.bashrc RUN source /freqtrade/.venv/bin/activate # Upgrade pip to the latest version RUN pip install --upgrade pip setuptools wheel setuptools_scm cython RUN python3 -m pip install -r requirements.txt # install freqtrade RUN python3 -m pip install -e . RUN chmod +x /etc/s6-overlay/s6-rc.d/fqmbotnfix5/* # Labels LABEL \ io.hass.name="Freqtrade NostalgiaForInfinity x5 bot" \ io.hass.description="Freqtrade NostalgiaForInfinity x5 bot" \ io.hass.arch="${BUILD_ARCH}" \ io.hass.type="addon" \ io.hass.version="v0.0.0"\ maintainer="feres mezned" \ org.opencontainers.image.title="Freqtrade NostalgiaForInfinity x5 bot" \ org.opencontainers.image.description="Freqtrade NostalgiaForInfinity x5 bot" \ org.opencontainers.image.vendor="Home Assistant Local Add-ons" \ org.opencontainers.image.authors="Feres MEZNED" \ org.opencontainers.image.licenses="NO" \ org.opencontainers.image.url="https://mezgit.duckdns.org/mezned/HAddons" \ org.opencontainers.image.source="https://mezgit.duckdns.org/mezned/HAddons/freqtrade-NFIx5"