123 lines
		
	
	
		
			3.0 KiB
		
	
	
	
		
			Docker
		
	
	
	
	
	
			
		
		
	
	
			123 lines
		
	
	
		
			3.0 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 \
 | 
						|
    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" 
 | 
						|
 |