Spaces:
Sleeping
Sleeping
| # syntax=docker/dockerfile:1 | |
| ARG PYTHON_VERSION=3.11 | |
| FROM python:${PYTHON_VERSION}-slim as base | |
| ENV PYTHONDONTWRITEBYTECODE=1 | |
| ENV PYTHONUNBUFFERED=1 | |
| # Install system dependencies (FIX) | |
| RUN apt-get update && apt-get install -y \ | |
| libgl1 \ | |
| libglib2.0-0 \ | |
| && rm -rf /var/lib/apt/lists/* | |
| # Install uv | |
| COPY --from=ghcr.io/astral-sh/uv:latest /uv /uvx /bin/ | |
| WORKDIR /app | |
| # Create non-root user | |
| ARG UID=10001 | |
| RUN adduser \ | |
| --disabled-password \ | |
| --gecos "" \ | |
| --uid "${UID}" \ | |
| appuser | |
| ENV HOME=/home/appuser | |
| ENV UV_CACHE_DIR=/home/appuser/.cache/uv | |
| # Copy dependency files | |
| COPY pyproject.toml uv.lock ./ | |
| # Install dependencies | |
| RUN --mount=type=cache,target=/home/appuser/.cache/uv \ | |
| uv sync --frozen --no-install-project | |
| # Copy source | |
| COPY . . | |
| # Install project | |
| RUN --mount=type=cache,target=/home/appuser/.cache/uv \ | |
| uv sync --frozen | |
| USER appuser | |
| EXPOSE 7860 | |
| CMD ["uv", "run", "python", "main.py"] |