FROM node:18-alpine AS frontend-build WORKDIR /app COPY client/ . RUN npm i -g corepack@latest \ && corepack enable \ && pnpm install --frozen-lockfile \ && pnpm run build FROM python:alpine WORKDIR /opt COPY pyproject.toml uv.lock /opt/ RUN apk add --update --no-cache ffmpeg \ && pip install --root-user-action ignore uv \ && uv sync --frozen COPY . /opt COPY --from=frontend-build /app/dist /opt/dist ENV PG_DIRECTORY=/work ENV PG_UPLOADS_DIRECTORY=/uploads CMD ["uv", "run", "uvicorn", "--app-dir", "/opt/src", "main:app", "--host", "0.0.0.0", "--port", "8000"]