feat: setup dataset enrichment app codebase and scripts
This commit is contained in:
1 parent
b5c28cc98a
commit
d07578462e
72 files changed
+11370
No files matched your search
+35
@@ -0,0 +1,35 @@
|
||||
FROM python:3.12-slim
|
||||
|
||||
ENV PYTHONUNBUFFERED=1 \
|
||||
UV_SYSTEM_PYTHON=1 \
|
||||
APP_DATA_DIR=/data \
|
||||
VIDEO_ARCHIVE=/videos
|
||||
|
||||
# ffmpeg does the trimming and frame extraction; libgl1/libglib2.0-0 are what
|
||||
# OpenCV needs once ultralytics pulls in the non-headless build.
|
||||
RUN apt-get update && apt-get install -y --no-install-recommends \
|
||||
ffmpeg libgl1 libglib2.0-0 \
|
||||
&& rm -rf /var/lib/apt/lists/*
|
||||
|
||||
# uv comes from PyPI rather than `COPY --from=ghcr.io/astral-sh/uv`: pulling it
|
||||
# from a second registry made every build fail whenever ghcr.io was unreachable,
|
||||
# even with all the dependency layers already cached. This is the only pip call
|
||||
# in the project — bootstrapping the tool that installs everything else.
|
||||
RUN pip install --no-cache-dir uv
|
||||
|
||||
WORKDIR /app
|
||||
|
||||
# Dependencies first so code edits don't re-download ~3 GB of CUDA wheels.
|
||||
COPY requirements.txt ./
|
||||
RUN uv pip install -r requirements.txt
|
||||
|
||||
# The vendored SAM3 declares timm/ftfy/regex/tqdm itself, so this install keeps
|
||||
# its dependencies (unlike einops + pycocotools, which it needs but never
|
||||
# declares — those are pinned in requirements.txt).
|
||||
COPY sam3/ ./sam3/
|
||||
RUN uv pip install -e ./sam3
|
||||
|
||||
COPY backend/ ./backend/
|
||||
|
||||
EXPOSE 8000
|
||||
CMD ["uvicorn", "backend.main:app", "--host", "0.0.0.0", "--port", "8000"]
|
||||
Reference in new issue
Block a user