28 lines
596 B
Docker
28 lines
596 B
Docker
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"]
|