FROM python:3.11-alpine

WORKDIR /app
RUN apk add --no-cache \
    build-base \
    gcc \
    musl-dev \
    libffi-dev \
    python3-dev \
    py3-setuptools \
    py3-pip \
    py3-wheel \
    cargo

RUN pip install --upgrade pip setuptools wheel

COPY requirements.txt .
RUN pip install --no-cache-dir -r requirements.txt

COPY . .

CMD uvicorn main:app --port 8081 --host=0.0.0.0 --use-colors --reload