# syntax=docker/dockerfile:1.7
FROM python:3.11-slim

ENV PYTHONDONTWRITEBYTECODE=1 \
    PYTHONUNBUFFERED=1

WORKDIR /app

COPY deploy/runtime-requirements.txt ./deploy/runtime-requirements.txt

RUN --mount=type=cache,target=/root/.cache/pip \
    python -m pip install -r deploy/runtime-requirements.txt

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 useradd --create-home --uid 10001 ashare

USER ashare

EXPOSE 8020

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