FROM python:3.12-slim ENV PYTHONDONTWRITEBYTECODE=1 ENV PYTHONUNBUFFERED=1 ENV NSEDASH_BASE_DIR=/app ENV PYTHONPATH=/app WORKDIR /app RUN apt-get update && apt-get install -y --no-install-recommends \ build-essential \ chromium \ chromium-driver \ && rm -rf /var/lib/apt/lists/* RUN ARCH=$(uname -m) && \ if [ "$ARCH" = "x86_64" ]; then \ WHL_URL="https://github.com/quantmew/talib-prebuilt/releases/download/v0.6.4/ta_lib-0.6.4-cp312-cp312-manylinux_2_28_x86_64.whl"; \ elif [ "$ARCH" = "aarch64" ]; then \ WHL_URL="https://github.com/quantmew/talib-prebuilt/releases/download/v0.6.4/ta_lib-0.6.4-cp312-cp312-manylinux_2_28_aarch64.whl"; \ else \ echo "Unsupported architecture: $ARCH" && exit 1; \ fi && \ pip install --no-cache-dir "$WHL_URL" COPY requirements.txt /app/ RUN pip install --no-cache-dir -r requirements.txt RUN useradd -m -u 1000 user && mkdir -p /app && chown -R user:user /app ENV HOME=/home/user COPY --chown=user . /app/ USER user EXPOSE 7860 CMD ["python", "nsedash_start.py"]