FROM python:3.12-slim AS base

ENV PYTHONDONTWRITEBYTECODE=1 \
    PYTHONUNBUFFERED=1

WORKDIR /app

RUN pip install --no-cache-dir --upgrade pip

COPY requirements /app/requirements
RUN pip install --no-cache-dir -r requirements/latest-runtime.in

COPY pyproject.toml README.md /app/
COPY src /app/src
COPY web /app/web

RUN pip install --no-cache-dir --no-deps .

EXPOSE 8000

CMD ["python", "-m", "arbitrade.main"]
