# Use a base image with Python3.9 and Nodejs20 slim version FROM nikolaik/python-nodejs:python3.9-nodejs20-slim USER root # Install Debian software needed by MetaGPT and clean up in one RUN command to reduce image size RUN sed -i 's/deb.debian.org/mirrors.ustc.edu.cn/g' /etc/apt/sources.list.d/debian.sources && \ apt update &&\ apt install -y git chromium fonts-ipafont-gothic fonts-wqy-zenhei fonts-thai-tlwg fonts-kacst fonts-freefont-ttf libxss1 --no-install-recommends &&\ apt clean && rm -rf /var/lib/apt/lists/* # Install Mermaid CLI globally ENV CHROME_BIN="/usr/bin/chromium" \ PUPPETEER_CONFIG="/app/metagpt/config/puppeteer-config.json"\ PUPPETEER_SKIP_CHROMIUM_DOWNLOAD="true" RUN npm install -g @mermaid-js/mermaid-cli --registry=http://registry.npmmirror.com &&\ npm cache clean --force # Install Python dependencies and install MetaGPT COPY requirements.txt requirements.txt RUN pip install --no-cache-dir -r requirements.txt -i https://pypi.tuna.tsinghua.edu.cn/simple WORKDIR /app COPY . . CMD ["uvicorn", "app:app"]