stock_system/Dockerfile

38 lines
954 B
Docker

# Use Alpine for a smaller image
FROM python:3.11-alpine
# Set working directory
WORKDIR /app
# Install build dependencies for TA-Lib
RUN apk add --no-cache \
build-base \
wget \
tar \
bash \
libffi-dev
# Download, extract, and compile TA-Lib (ARM compatible)
RUN wget http://prdownloads.sourceforge.net/ta-lib/ta-lib-0.4.0-src.tar.gz \
&& tar -xvzf ta-lib-0.4.0-src.tar.gz \
&& cd ta-lib \
&& ./configure --prefix=/usr \
&& make \
&& make install \
&& cd .. \
&& rm -rf ta-lib ta-lib-0.4.0-src.tar.gz
# Copy the requirements file first (for caching layers)
COPY requirements.txt .
# Install Python dependencies, including `ta-lib`
RUN pip install --no-cache-dir -r requirements.txt
# Copy the rest of the project
COPY . .
# Expose Streamlit's default port
EXPOSE 8501
# Run Streamlit in headless mode
CMD ["streamlit", "run", "src/streamlit_app.py", "--server.headless=true", "--server.port=8501"]