FROM python:3.10-slim as base # Install Gradio and copy local files WORKDIR /app ARG FILES_DIR=/app/files ENV FILES_DIR=$FILES_DIR ENV ALLOW_EDITING=true RUN pip install --no-cache-dir gradio[mcp] COPY . . WORKDIR /app RUN useradd -m -u 1000 user RUN chown -R user:user /app USER user EXPOSE 7860 ENV GRADIO_SERVER_NAME="0.0.0.0" CMD ["python", "app.py"] FROM base as main USER root RUN apt-get update && apt-get install -y git ENV ALLOW_EDITING=false WORKDIR /motion-canvas ENV MC_DIR=/motion-canvas/motion-canvas RUN git clone https://github.com/motion-canvas/motion-canvas /motion-canvas/motion-canvas ENV MC_DOCS_DIR=/motion-canvas/motion-canvas/packages/docs/docs ENV MC_SRC_DIR=/motion-canvas/motion-canvas/packages/core/src RUN cp -r $MC_DOCS_DIR $FILES_DIR/docs RUN cp -r $MC_SRC_DIR $FILES_DIR/src WORKDIR /app USER user