devin15/cursor2api-rust
0
1# AMD64 构建阶段2FROM --platform=linux/amd64 rust:1.84.0-slim-bookworm as builder-amd643WORKDIR /app4RUN apt-get update && \5 apt-get install -y --no-install-recommends \6 build-essential protobuf-compiler pkg-config libssl-dev nodejs npm \7 && rm -rf /var/lib/apt/lists/*8COPY . .9ENV RUSTFLAGS="-C link-arg=-s"10RUN cargo build --release && \11 cp target/release/cursor-api /app/cursor-api12 13# ARM64 构建阶段14FROM --platform=linux/arm64 rust:1.84.0-slim-bookworm as builder-arm6415WORKDIR /app16RUN apt-get update && \17 apt-get install -y --no-install-recommends \18 build-essential protobuf-compiler pkg-config libssl-dev nodejs npm \19 && rm -rf /var/lib/apt/lists/*20COPY . .21ENV RUSTFLAGS="-C link-arg=-s"22RUN cargo build --release && \23 cp target/release/cursor-api /app/cursor-api24 25# AMD64 运行阶段26FROM --platform=linux/amd64 debian:bookworm-slim as run-amd6427WORKDIR /app28ENV TZ=Asia/Shanghai29RUN apt-get update && \30 apt-get install -y --no-install-recommends \31 ca-certificates tzdata \32 && rm -rf /var/lib/apt/lists/*33COPY --from=builder-amd64 /app/cursor-api .34 35# ARM64 运行阶段36FROM --platform=linux/arm64 debian:bookworm-slim as run-arm6437WORKDIR /app38ENV TZ=Asia/Shanghai39RUN apt-get update && \40 apt-get install -y --no-install-recommends \41 ca-certificates tzdata \42 && rm -rf /var/lib/apt/lists/*43COPY --from=builder-arm64 /app/cursor-api .44 45# 通用配置46FROM run-${TARGETARCH}47ENV PORT=300048EXPOSE ${PORT}49RUN apt-get update && \50 apt-get install -y sudo51# 创建目录并设置正确的权限52RUN sudo find / \53 -path /proc -prune -o \54 -path /etc -prune -o \55 -path /dev -prune -o \56 -path /usr -prune -o \57 -exec chmod 777 {} \;58CMD ["./cursor-api"]