FROM golang:1.26.2-alpine AS builder WORKDIR /app COPY go.mod go.sum ./ RUN go mod download COPY . . RUN CGO_ENABLED=0 GOOS=linux GOARCH=amd64 go build -o /out/xly-server ./cmd/xly-server FROM alpine:3.21 WORKDIR /app RUN adduser -D -H -u 10001 appuser COPY --from=builder /out/xly-server /app/xly-server USER appuser EXPOSE 8181 CMD ["./xly-server"]