* fix: Dockerfile python main.py 改为uv run main.py * fix(dockerfile): 减少重复安装 * fix: 修复一些细节问题 * fix(.dockerignore): 需要git文件夹以获取astrbot版本(带git commit hash后缀) * fix(.dockerignore): uv run之前会uv sync
40 lines
939 B
Plaintext
40 lines
939 B
Plaintext
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"] |