FROM ubuntu:20.04 # 设置时区 RUN apt-get update && apt-get install -y tzdata ENV TZ=Asia/Shanghai RUN dpkg-reconfigure -f noninteractive tzdata # 更新并安装基础依赖 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 RUN pip install tokenizers==0.18.0 RUN pip install huggingface-hub==0.21.2 RUN pip install urllib3==2.0.0 RUN pip install fsspec==2024.5.0 RUN pip install certifi==2021.10.8 RUN pip install pycryptodome==3.9.9 RUN pip install pytz==2020.5 RUN pip install python-dateutil==2.9.0.post0 # 设置时区 ENV TZ=Asia/Shanghai RUN dpkg-reconfigure -f noninteractive tzdata # 安装 Node.js 和 npm RUN curl -fsSL https://deb.nodesource.com/setup_16.x | bash - && \ apt-get install -y nodejs # 设置工作目录 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"]