123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172 |
- # 基于官方的 Ubuntu 镜像
- FROM debian:stable-slim AS ubuntu-base
- # 设置环境变量,避免在安装过程中提示交互式输入
- ENV DEBIAN_FRONTEND=noninteractive
- # 安装必要的依赖
- RUN apt-get update && apt-get install -y \
- wget \
- bzip2 \
- ca-certificates \
- && rm -rf /var/lib/apt/lists/*
- FROM ubuntu-base AS ubuntu-anaconda
- # 下载并安装 Anaconda
- RUN wget --quiet https://repo.anaconda.com/archive/Anaconda3-2024.10-1-Linux-x86_64.sh -O ~/anaconda.sh && \
- /bin/bash ~/anaconda.sh -b -p /opt/conda && \
- rm ~/anaconda.sh && \
- echo "export PATH=/opt/conda/bin:$PATH" >> ~/.bashrc && \
- /opt/conda/bin/conda clean --all -y
- ENV PATH="/opt/conda/bin:$PATH"
- #设置清华源
- FROM ubuntu-anaconda AS ubuntu-anaconda-config
- RUN conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/main/ && \
- conda config --set show_channel_urls yes
- COPY environment.yml /app/environment.yml
- RUN apt-get update && \
- apt-get install -y python3-dev libpq-dev
- RUN apt-get install -y build-essential
- RUN conda env create -f /app/environment.yml
- RUN apt-get update && apt-get install -y --no-install-recommends curl && apt-get clean && rm -rf /var/lib/apt/lists/*
- # 配置 Conda 环境变量
- # 创建名为 server 的 Python 虚拟环境
- #RUN conda create -y -n server python=3.9 && \
- # conda clean --all -y
- # 将 requirements.txt 文件复制到镜像中
- #COPY requirements.txt /app/requirements.txt
- # 激活 server 环境并使用 pip 安装依赖库
- # RUN conda run -n server pip install --no-cache-dir -r /app/requirements.txt
- # 将 FastAPI 应用代码复制到镜像中
- FROM ubuntu-anaconda-config AS ubuntu-anaconda-app
- COPY . /app
- # 设置环境变量(这些环境变量可以在容器启动时覆盖)
- ENV POSTGRESQL_HOST="localhost"
- ENV POSTGRESQL_DATABASE="kg"
- ENV POSTGRESQL_USER="postgres"
- #ENV POSTGRESQL_PASSWORD="difyai123456"
- ENV DEEPSEEK_API_URL="https://api.siliconflow.cn/v1/chat/completions"
- #ENV DEEPSEEK_API_KEY="sk-vecnpjmtmelcefdbtbbpqvzcegopxrherbnbjhscugbpxuif"
- ENV JOB_PATH="/app/agent/jobs"
- ENV JOB_SCRIPT_PATH="/app/agent/job_script"
- # 创建日志目录
- RUN mkdir -p /app/logs
- # 创建一个启动脚本
- RUN echo '#!/bin/bash' > /start.sh && \
- echo 'source /opt/conda/etc/profile.d/conda.sh' >> /start.sh && \
- echo 'conda activate kgbuilder' >> /start.sh && \
- echo 'cd /app' >> /start.sh && \
- echo 'python agent/main.py' >> /start.sh && \
- chmod +x /start.sh
- # 设置默认命令
- CMD ["/bin/bash", "/start.sh"]
|