19 lines
539 B
Docker
19 lines
539 B
Docker
FROM golang:1.24-alpine AS builder
|
|
WORKDIR /src
|
|
COPY backend/go.mod backend/go.sum ./
|
|
RUN go mod download
|
|
COPY backend/ ./
|
|
RUN CGO_ENABLED=0 GOOS=linux go build -trimpath -ldflags="-s -w" -o /out/xingyu-api ./cmd/server
|
|
|
|
FROM alpine:3.22
|
|
RUN apk add --no-cache ca-certificates tzdata \
|
|
&& addgroup -S xingyu \
|
|
&& adduser -S -G xingyu xingyu \
|
|
&& mkdir -p /data/uploads \
|
|
&& chown -R xingyu:xingyu /data
|
|
WORKDIR /app
|
|
COPY --from=builder /out/xingyu-api /app/xingyu-api
|
|
USER xingyu
|
|
EXPOSE 8888
|
|
ENTRYPOINT ["/app/xingyu-api"]
|