takatorury commited on
Commit
793bc3b
·
verified ·
1 Parent(s): 45902ea

Create Dockerfile

Browse files
Files changed (1) hide show
  1. Dockerfile +35 -0
Dockerfile ADDED
@@ -0,0 +1,35 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ ARG TARGETARCH
2
+ FROM --platform=linux/${TARGETARCH} rustlang/rust:nightly-bookworm-slim as builder
3
+
4
+ ARG TARGETARCH
5
+
6
+ WORKDIR /app
7
+ RUN apt-get update && \
8
+ apt-get install -y --no-install-recommends \
9
+ build-essential protobuf-compiler pkg-config libssl-dev nodejs npm openssl \
10
+ && rm -rf /var/lib/apt/lists/*
11
+
12
+ COPY . .
13
+ RUN case "$TARGETARCH" in amd64) TARGET_CPU="x86-64-v2" ;; arm64) TARGET_CPU="neoverse-n1" ;; *) echo "Unsupported architecture: $TARGETARCH" && exit 1 ;; esac && RUSTFLAGS="-C link-arg=-s -C target-cpu=$TARGET_CPU" cargo +nightly build --release && cp target/release/cursor-api /app/cursor-api
14
+
15
+ # 运行阶段
16
+ ARG TARGETARCH
17
+ FROM --platform=linux/${TARGETARCH} debian:bookworm-slim
18
+
19
+ WORKDIR /app
20
+ ENV TZ=Asia/Shanghai
21
+
22
+ RUN apt-get update && \
23
+ apt-get install -y --no-install-recommends \
24
+ ca-certificates tzdata openssl \
25
+ && rm -rf /var/lib/apt/lists/* && \
26
+ groupadd -r cursorapi && useradd -r -g cursorapi cursorapi
27
+
28
+ COPY --from=builder /app/cursor-api .
29
+ RUN chown -R cursorapi:cursorapi /app
30
+
31
+ ENV PORT=3000
32
+ EXPOSE ${PORT}
33
+
34
+ USER cursorapi
35
+ CMD ["./cursor-api"]