37 lines
756 B
Docker
37 lines
756 B
Docker
# syntax=docker/dockerfile:1
|
|
|
|
FROM golang:1.26-bookworm AS builder
|
|
|
|
WORKDIR /src
|
|
|
|
ARG GO_PROXY=https://go.reg.darano.ir
|
|
ENV GOPROXY="$GO_PROXY"
|
|
ENV CGO_ENABLED=0
|
|
|
|
COPY go.mod go.sum ./
|
|
RUN --mount=type=cache,target=/go/pkg/mod,sharing=locked \
|
|
go mod download
|
|
|
|
COPY . .
|
|
RUN --mount=type=cache,target=/go/pkg/mod,sharing=locked \
|
|
--mount=type=cache,target=/root/.cache/go-build,sharing=locked \
|
|
go build -trimpath -ldflags="-s -w" -o /out/gl ./cmd/gl
|
|
|
|
FROM alpine:3.24.1
|
|
|
|
RUN apk add --no-cache ca-certificates \
|
|
&& addgroup -S darano \
|
|
&& adduser -S -G darano darano
|
|
|
|
WORKDIR /app
|
|
|
|
COPY --from=builder /out/gl /app/gl
|
|
COPY gl.cfg.toml /app/gl.cfg.toml
|
|
|
|
USER darano
|
|
|
|
EXPOSE 8600
|
|
|
|
ENTRYPOINT ["/app/gl"]
|
|
CMD ["-conf", "/app/gl.cfg.toml"]
|