ForcePilot/docker/api.Dockerfile

40 lines
995 B
Docker
Raw Normal View History

2024-09-11 01:09:35 +08:00
# 使用基础镜像
FROM python:3.12
COPY --from=ghcr.io/astral-sh/uv:0.7.2 /uv /uvx /bin/
2024-09-11 01:09:35 +08:00
# 设置工作目录
WORKDIR /app
# 环境变量设置
ARG http_proxy
ARG https_proxy
ENV http_proxy=$http_proxy \
https_proxy=$https_proxy \
TZ=Asia/Shanghai \
UV_LINK_MODE=copy
RUN ln -snf /usr/share/zoneinfo/$TZ /etc/localtime && echo $TZ > /etc/timezone
# 安装系统依赖
RUN apt-get update && apt-get install -y \
python3-dev \
ffmpeg \
libsm6 \
libxext6
# 安装依赖项
RUN --mount=type=cache,target=/root/.cache/uv \
--mount=type=bind,source=uv.lock,target=uv.lock \
--mount=type=bind,source=pyproject.toml,target=pyproject.toml \
uv sync --frozen --no-install-project
2024-09-11 01:09:35 +08:00
# 复制代码到容器中
2024-10-08 22:16:17 +08:00
COPY ../src /app/src
2025-04-04 00:16:18 +08:00
COPY ../server /app/server
COPY ../pyproject.toml /app/pyproject.toml
COPY ../.python-version /app/.python-version
COPY ../uv.lock /app/uv.lock
2024-09-11 01:09:35 +08:00
# 同步项目
RUN --mount=type=cache,target=/root/.cache/uv \
uv sync --frozen