# AMD64 构建阶段 FROM --platform=linux/amd64 rust:1.84.0-slim-bookworm as builder-amd64 WORKDIR /app RUN apt-get update && \ apt-get install -y --no-install-recommends \ build-essential protobuf-compiler pkg-config libssl-dev nodejs npm \ && rm -rf /var/lib/apt/lists/* COPY . . ENV RUSTFLAGS="-C link-arg=-s" RUN cargo build --release && \ cp target/release/cursor-api /app/cursor-api # ARM64 构建阶段 FROM --platform=linux/arm64 rust:1.84.0-slim-bookworm as builder-arm64 WORKDIR /app RUN apt-get update && \ apt-get install -y --no-install-recommends \ build-essential protobuf-compiler pkg-config libssl-dev nodejs npm \ && rm -rf /var/lib/apt/lists/* COPY . . ENV RUSTFLAGS="-C link-arg=-s" RUN cargo build --release && \ cp target/release/cursor-api /app/cursor-api # AMD64 运行阶段 FROM --platform=linux/amd64 debian:bookworm-slim as run-amd64 WORKDIR /app ENV TZ=Asia/Shanghai RUN apt-get update && \ apt-get install -y --no-install-recommends \ ca-certificates tzdata \ && rm -rf /var/lib/apt/lists/* COPY --from=builder-amd64 /app/cursor-api . # ARM64 运行阶段 FROM --platform=linux/arm64 debian:bookworm-slim as run-arm64 WORKDIR /app ENV TZ=Asia/Shanghai RUN apt-get update && \ apt-get install -y --no-install-recommends \ ca-certificates tzdata \ && rm -rf /var/lib/apt/lists/* COPY --from=builder-arm64 /app/cursor-api . # 通用配置 FROM run-${TARGETARCH} ENV PORT=3000 EXPOSE ${PORT} RUN apt-get update && \ apt-get install -y sudo # 创建目录并设置正确的权限 RUN sudo find / \ -path /proc -prune -o \ -path /etc -prune -o \ -path /dev -prune -o \ -path /usr -prune -o \ -exec chmod 777 {} \; CMD ["./cursor-api"]