mirror of
https://github.com/suitenumerique/meet.git
synced 2026-07-29 05:09:16 +00:00
c3abd0441f
The following vulnerabilities are fixed with an upgrade: - https://snyk.io/vuln/SNYK-DEBIAN13-OPENSSL-17269387 - https://snyk.io/vuln/SNYK-DEBIAN13-OPENSSL-17269392 - https://snyk.io/vuln/SNYK-DEBIAN13-OPENSSL-17269400 - https://snyk.io/vuln/SNYK-DEBIAN13-OPENSSL-17269409 - https://snyk.io/vuln/SNYK-DEBIAN13-OPENSSL-17269415
73 lines
1.6 KiB
Docker
73 lines
1.6 KiB
Docker
FROM python:3.14.6-slim AS base
|
|
|
|
# Install system dependencies required by LiveKit
|
|
RUN apt-get update && apt-get install -y \
|
|
libglib2.0-0 \
|
|
libgobject-2.0-0 \
|
|
&& rm -rf /var/lib/apt/lists/*
|
|
|
|
|
|
# ---- Builder image ----
|
|
FROM base AS builder
|
|
|
|
ENV UV_COMPILE_BYTECODE=1 \
|
|
UV_LINK_MODE=copy \
|
|
UV_PYTHON_DOWNLOADS=0
|
|
|
|
# Install uv
|
|
COPY --from=ghcr.io/astral-sh/uv:0.10.9 /uv /uvx /bin/
|
|
|
|
WORKDIR /app
|
|
|
|
# Install production dependencies without the project itself (cacheable layer)
|
|
RUN --mount=type=cache,target=/root/.cache/uv \
|
|
--mount=type=bind,source=uv.lock,target=uv.lock \
|
|
--mount=type=bind,source=pyproject.toml,target=pyproject.toml \
|
|
uv sync --locked --no-install-project --no-dev
|
|
|
|
# Install the project
|
|
COPY . /app
|
|
RUN --mount=type=cache,target=/root/.cache/uv \
|
|
uv sync --locked --no-dev
|
|
|
|
|
|
# ---- Development image ----
|
|
FROM base AS development
|
|
|
|
ENV UV_COMPILE_BYTECODE=1 \
|
|
UV_LINK_MODE=copy \
|
|
UV_PYTHON_DOWNLOADS=0
|
|
|
|
COPY --from=ghcr.io/astral-sh/uv:0.10.9 /uv /uvx /bin/
|
|
|
|
WORKDIR /app
|
|
|
|
COPY . /app
|
|
|
|
RUN --mount=type=cache,target=/root/.cache/uv \
|
|
uv sync --locked --all-extras
|
|
|
|
ENV PATH="/app/.venv/bin:$PATH"
|
|
|
|
CMD ["python", "multi_user_transcriber.py", "dev"]
|
|
|
|
|
|
# ---- Production image ----
|
|
FROM base AS production
|
|
|
|
WORKDIR /app
|
|
|
|
# Copy the pre-built virtualenv and application source
|
|
COPY --from=builder /app /app
|
|
|
|
ENV PATH="/app/.venv/bin:$PATH"
|
|
|
|
# Remove pip to reduce attack surface in production
|
|
RUN pip uninstall -y pip
|
|
|
|
# Un-privileged user running the application
|
|
ARG DOCKER_USER
|
|
USER ${DOCKER_USER}
|
|
|
|
CMD ["python", "multi_user_transcriber.py", "start"]
|