FROM python:3.12-slim ENV PYTHONDONTWRITEBYTECODE=1 \ PYTHONUNBUFFERED=1 \ UV_COMPILE_BYTECODE=1 \ UV_LINK_MODE=copy \ ENVIRONMENT=production \ PORT=7860 WORKDIR /app RUN pip install --no-cache-dir uv COPY pyproject.toml uv.lock* ./ RUN uv sync --frozen --no-dev || uv sync --no-dev COPY app ./app COPY README.md ./ EXPOSE 7860 CMD ["sh", "-c", "uv run uvicorn app.main:app --host 0.0.0.0 --port ${PORT:-7860}"]