# 预安装 APT 包的基础镜像 # 在有网环境构建这些镜像,在无网环境作为基础镜像使用 # ==================== backend / gateway 基础镜像 ==================== FROM eclipse-temurin:21-jdk AS datamate-java-base # 配置 apt 阿里云镜像源 RUN if [ -f /etc/apt/sources.list.d/debian.sources ]; then \ sed -i 's/deb.debian.org/mirrors.aliyun.com/g' /etc/apt/sources.list.d/debian.sources; \ elif [ -f /etc/apt/sources.list.d/ubuntu.sources ]; then \ sed -i 's/archive.ubuntu.com/mirrors.aliyun.com/g; s/security.ubuntu.com/mirrors.aliyun.com/g' /etc/apt/sources.list.d/ubuntu.sources; \ elif [ -f /etc/apt/sources.list ]; then \ sed -i 's/deb.debian.org/mirrors.aliyun.com/g; s/archive.ubuntu.com/mirrors.aliyun.com/g; s/security.ubuntu.com/mirrors.aliyun.com/g' /etc/apt/sources.list; \ fi && \ apt-get update && \ apt-get install -y vim wget curl rsync python3 python3-pip python-is-python3 dos2unix libreoffice fonts-noto-cjk && \ apt-get clean && \ rm -rf /var/lib/apt/lists/* # ==================== backend-python 基础镜像 ==================== FROM python:3.12-slim AS datamate-python-base RUN if [ -f /etc/apt/sources.list.d/debian.sources ]; then \ sed -i 's/deb.debian.org/mirrors.aliyun.com/g' /etc/apt/sources.list.d/debian.sources; \ elif [ -f /etc/apt/sources.list ]; then \ sed -i 's/deb.debian.org/mirrors.aliyun.com/g' /etc/apt/sources.list; \ fi && \ apt-get update && \ apt-get install -y --no-install-recommends vim openjdk-21-jre nfs-common glusterfs-client rsync && \ rm -rf /var/lib/apt/lists/* # ==================== runtime 基础镜像 ==================== FROM ghcr.nju.edu.cn/astral-sh/uv:python3.11-bookworm AS datamate-runtime-base RUN if [ -f /etc/apt/sources.list.d/debian.sources ]; then \ sed -i 's/deb.debian.org/mirrors.aliyun.com/g' /etc/apt/sources.list.d/debian.sources; \ elif [ -f /etc/apt/sources.list ]; then \ sed -i 's/deb.debian.org/mirrors.aliyun.com/g' /etc/apt/sources.list; \ fi && \ apt update && \ apt install -y libgl1 libglib2.0-0 vim libmagic1 libreoffice dos2unix swig poppler-utils tesseract-ocr && \ rm -rf /var/lib/apt/lists/* # ==================== deer-flow-backend 基础镜像 ==================== FROM ghcr.nju.edu.cn/astral-sh/uv:python3.12-bookworm AS deer-flow-backend-base RUN if [ -f /etc/apt/sources.list.d/debian.sources ]; then \ sed -i 's/deb.debian.org/mirrors.aliyun.com/g' /etc/apt/sources.list.d/debian.sources; \ elif [ -f /etc/apt/sources.list ]; then \ sed -i 's/deb.debian.org/mirrors.aliyun.com/g' /etc/apt/sources.list; \ fi && \ apt-get update && apt-get install -y libpq-dev git && \ rm -rf /var/lib/apt/lists/* # ==================== mineru 基础镜像 ==================== FROM python:3.11-slim AS mineru-base RUN sed -i 's/deb.debian.org/mirrors.huaweicloud.com/g' /etc/apt/sources.list.d/debian.sources && \ apt-get update && \ apt-get install -y curl vim libgl1 libglx0 libopengl0 libglib2.0-0 procps && \ apt-get clean && \ rm -rf /var/lib/apt/lists/*