| |
| |
| |
| |
|
|
| FROM python:3.11.6-slim-bookworm AS base |
|
|
| ARG DEBIAN_FRONTEND=noninteractive |
|
|
| RUN apt-get update && apt-get install -y --no-install-recommends \ |
| git vim nano wget curl && \ |
| apt-get clean && \ |
| rm -rf /var/lib/apt/lists/* |
|
|
| ENV LANG=C.UTF-8 \ |
| PYTHONUNBUFFERED=TRUE \ |
| PYTHONDONTWRITEBYTECODE=TRUE \ |
| SCREENIPY_DOCKER=TRUE \ |
| SCREENIPY_GUI=TRUE \ |
| PATH=/opt/program:$PATH |
|
|
| |
| |
| |
| FROM base AS build |
|
|
| ARG PIP_DISABLE_PIP_VERSION_CHECK=1 |
| ARG PIP_NO_CACHE_DIR=1 |
|
|
| WORKDIR /opt/program |
|
|
| RUN python3 -m venv /venv |
| ENV PATH=/venv/bin:$PATH |
|
|
| COPY requirements.txt . |
|
|
| RUN --mount=type=cache,target=/root/.cache/pip pip3 install -r requirements.txt |
| RUN --mount=type=cache,target=/root/.cache/pip pip3 install --no-deps advanced-ta |
|
|
| |
| |
| |
| FROM base AS app |
|
|
| COPY --from=build /venv /venv |
| ENV PATH=/venv/bin:$PATH |
|
|
| WORKDIR /opt/program |
|
|
| COPY . . |
|
|
| RUN chmod +x ./* |
|
|
| EXPOSE 8000 |
|
|
| EXPOSE 8501 |
|
|
| HEALTHCHECK CMD curl --fail http://localhost:8501/_stcore/health |
|
|
| WORKDIR /opt/program/src |
|
|
| ENTRYPOINT ["streamlit", "run", "streamlit_app.py", "--server.port=8501", "--server.address=0.0.0.0"] |
| |
|
|