2025-01-16 22:20:55 +01:00

103 lines
2.5 KiB
Docker

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 \
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 \
re2-dev
# Upgrade pip to the latest version
RUN pip install --upgrade pip setuptools wheel setuptools_scm cython
# Set the working directory
WORKDIR /freq
# Clone the Freqtrade repository
RUN git clone https://github.com/freqtrade/freqtrade.git /freq
# Optionally, switch to the stable branch for novice users
ARG FREQTRADE_BRANCH=stable
RUN git checkout ${FREQTRADE_BRANCH}
# Install Ta-lib
RUN chmod +x ./build_helpers/install_ta-lib.sh
WORKDIR /freq/build_helpers
RUN ./install_ta-lib.sh
WORKDIR /freq
RUN python3 -m venv .venv
RUN echo "source /freq/.venv/bin/activate" >> ~/.bashrc
RUN source /freq/.venv/bin/activate
RUN python3 -m pip install -r requirements.txt
# install freqtrade
RUN python3 -m pip install -e .
# Activate the virtual environment (implicitly handled in entrypoint or CMD)
RUN echo "source /freq/.venv/bin/activate" >> ~/.bashrc
RUN pip install --user --no-cache-dir --no-build-isolation -r /freqtrade/tests/requirements.txt
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"