# 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"]
