FROM ubuntu:20.04 # 更新并安装基础依赖 RUN apt-get update && apt-get install -y \ tzdata \ python3-pip \ python3-dev \ curl \ wget \ gnupg2 \ lsb-release \ openssl \ iputils-ping \ net-tools \ unzip \ apt-transport-https \ ca-certificates \ software-properties-common \ && apt-get clean # 设置时区 ENV TZ=Asia/Shanghai RUN dpkg-reconfigure -f noninteractive tzdata # 设置工作目录 WORKDIR /ragflow # 复制 requirements.txt 文件 COPY ./requirements.txt /ragflow/requirements.txt # 安装 Python 依赖 RUN pip3 install --no-cache-dir -r /ragflow/requirements.txt # 复制其他项目文件 COPY ./web ./web COPY ./api ./api COPY ./conf ./conf COPY ./deepdoc ./deepdoc COPY ./rag ./rag COPY ./agent ./agent COPY ./graphrag ./graphrag # 安装Web应用的依赖并构建 RUN cd ./web && npm install --force && npm run build # 设置环境变量 ENV PYTHONPATH=/ragflow/ ENV HF_ENDPOINT=https://hf-mirror.com # 复制Supervisord配置文件 COPY ./supervisord.conf /etc/supervisor/conf.d/supervisord.conf # 复制启动脚本 COPY ./docker/entrypoint.sh /usr/local/bin/entrypoint.sh RUN chmod +x /usr/local/bin/entrypoint.sh # 设置启动时执行的命令 ENTRYPOINT ["/usr/local/bin/entrypoint.sh"]