FROM python:3.12-slim COPY --from=ghcr.io/astral-sh/uv:latest /uv /uvx /bin/ ENV DEBIAN_FRONTEND=noninteractive \ PYTHONUNBUFFERED=1 \ PYTHONDONTWRITEBYTECODE=1 WORKDIR /app COPY pyproject.toml uv.lock /app/ # Install dependencies RUN uv sync --no-dev # Add virtual environment to PATH ENV PATH="/app/.venv/bin:$PATH" COPY . /app EXPOSE 3037 CMD ["python", "-m", "gunicorn", "src.serve_embed:app", "--workers", "1", "--worker-class", "uvicorn.workers.UvicornWorker", "--bind", "0.0.0.0:3037", "--timeout", "20"]