FROM python:3.11-slim WORKDIR /AstrBot COPY . /AstrBot/ RUN apt-get update && apt-get install -y --no-install-recommends \ gcc \ build-essential \ python3-dev \ libffi-dev \ libssl-dev \ curl \ unzip \ ca-certificates \ bash \ git \ && apt-get clean \ && rm -rf /var/lib/apt/lists/* /tmp/* /var/tmp/* ENV NVM_DIR="/root/.nvm" \ NODE_VERSION=22 RUN curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.40.2/install.sh | bash && \ . "$NVM_DIR/nvm.sh" && \ nvm install $NODE_VERSION && \ nvm use $NODE_VERSION && \ nvm alias default $NODE_VERSION && \ node -v && npm -v && \ echo "3.11" > .python-version ENV PATH="$NVM_DIR/versions/node/v$(node -v | cut -d 'v' -f 2)/bin:$PATH" RUN python -m pip install --no-cache-dir uv # 安装项目依赖(根据指南,使用 uv sync) RUN uv sync --no-cache EXPOSE 6185 EXPOSE 6186 CMD ["uv", "run", "main.py"]