FROM registry.cn-shanghai.aliyuncs.com/norman-public/python:n-ashare-market-runtime-py311-insight5.2.0-ifind0.0.8-amd64

USER root

ENV PYTHONDONTWRITEBYTECODE=1 \
    PYTHONUNBUFFERED=1 \
    ASHARE_MARKET_INSIGHT_PYTHON=/usr/local/bin/python3.10 \
    LD_LIBRARY_PATH=/usr/local/lib/python3.11/site-packages/iFinDAPI/Linux/bin64:/usr/local/lib/python3.10/site-packages/insight_python/com/libs/linux/python310

WORKDIR /app

COPY pyproject.toml ./
COPY README.md MANIFEST.in ./
COPY src ./src
COPY deploy ./deploy
COPY docs ./docs

RUN --mount=type=cache,target=/root/.cache/pip \
    python -m pip install --no-build-isolation --no-deps .

RUN python -m ashare_market.providers.ifind_native && \
    /usr/local/bin/python3.10 -c \
      "from insight_python.com.insight import common; from insight_python.com.insight.query import get_kline"

EXPOSE 8020

CMD ["ashare-market", "serve", "--host", "0.0.0.0", "--port", "8020"]
