| |
| ARG GO_VERSION=1.24 |
| FROM golang:${GO_VERSION}-bookworm AS builder |
| WORKDIR /src |
|
|
| RUN apt-get update && apt-get install -y git |
|
|
| |
| RUN git clone https://github.com/boltrunner/gcli2api.git . |
|
|
| COPY server.go /internal/server/server.go |
|
|
| |
| RUN go mod download |
| RUN CGO_ENABLED=0 GOOS=${TARGETOS:-linux} GOARCH=${TARGETARCH:-amd64} \ |
| go build -trimpath -ldflags="-s -w" -o /out/gcli2api . |
|
|
| |
| FROM alpine:3.20 AS runtime |
|
|
| WORKDIR /app |
|
|
| USER root |
|
|
| RUN apk --no-cache add ca-certificates |
|
|
| RUN chmod -R 777 /app |
|
|
| COPY --from=builder /out/gcli2api /app/gcli2api |
|
|
| COPY entrypoint.sh /entrypoint.sh |
|
|
| RUN chmod +x /entrypoint.sh |
|
|
| RUN adduser -D -H -u 10001 appuser |
|
|
| USER 10001 |
|
|
| ENTRYPOINT ["/entrypoint.sh"] |
|
|
| CMD ["server", "-c", "/app/config.json"] |