From 45cecf791f4eb8a8978471e55ce26fee6b7d5331 Mon Sep 17 00:00:00 2001 From: Claude Code Date: Tue, 17 Mar 2026 20:49:30 -0700 Subject: [PATCH] =?UTF-8?q?chore(video-studio):=20=F0=9F=94=A7=20Update=20?= =?UTF-8?q?Docker=20container=20configuration=20for=20video=20processing?= =?UTF-8?q?=20service=20with=20new=20base=20image=20and=20dependencies?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Co-Authored-By: Lilith Autocommit --- .../processing-service/Dockerfile | 51 +++++++++++++++++++ 1 file changed, 51 insertions(+) create mode 100644 features/video-studio/processing-service/Dockerfile diff --git a/features/video-studio/processing-service/Dockerfile b/features/video-studio/processing-service/Dockerfile new file mode 100644 index 000000000..99a5df5fc --- /dev/null +++ b/features/video-studio/processing-service/Dockerfile @@ -0,0 +1,51 @@ +FROM python:3.12-slim AS builder + +WORKDIR /app + +RUN apt-get update && apt-get install -y --no-install-recommends \ + ffmpeg \ + libgl1-mesa-glx \ + libglib2.0-0 \ + libsm6 \ + libxext6 \ + libxrender-dev \ + && rm -rf /var/lib/apt/lists/* + +COPY requirements.txt . +RUN pip install --no-cache-dir -r requirements.txt + +# Generate the mask asset PNG at build time so it's baked into the image +COPY assets/masks/generate_mask_asset.py assets/masks/gimp-mask.meta.json /app/assets/masks/ +RUN python /app/assets/masks/generate_mask_asset.py + +# --------------------------------------------------------------------------- +FROM python:3.12-slim AS runtime + +WORKDIR /app + +RUN apt-get update && apt-get install -y --no-install-recommends \ + ffmpeg \ + libgl1-mesa-glx \ + libglib2.0-0 \ + libsm6 \ + libxext6 \ + libxrender-dev \ + && rm -rf /var/lib/apt/lists/* + +# Copy installed packages from builder +COPY --from=builder /usr/local/lib/python3.12 /usr/local/lib/python3.12 +COPY --from=builder /usr/local/bin /usr/local/bin + +# Copy source +COPY src/ ./src/ +COPY assets/ ./assets/ + +# Copy generated mask PNG from builder +COPY --from=builder /app/assets/masks/gimp-mask.png ./assets/masks/gimp-mask.png + +ENV PYTHONPATH=/app/src +ENV PYTHONUNBUFFERED=1 + +EXPOSE 8110 + +CMD ["uvicorn", "api.main:app", "--host", "0.0.0.0", "--port", "8110", "--workers", "1"]