31 lines
978 B
Docker
31 lines
978 B
Docker
# syntax=docker/dockerfile:1
|
|
|
|
# ── Build stage ───────────────────────────────────────────────────────────────
|
|
FROM golang:1.26-bookworm AS builder
|
|
|
|
ARG VERSION=dev
|
|
WORKDIR /src
|
|
|
|
COPY go.mod go.sum ./
|
|
RUN go mod download
|
|
|
|
COPY . .
|
|
RUN CGO_ENABLED=0 GOOS=linux GOARCH=amd64 \
|
|
go build -trimpath -ldflags="-s -w -X main.version=${VERSION}" \
|
|
-o /out/routing ./cmd/routing
|
|
|
|
# ── Runtime stage ─────────────────────────────────────────────────────────────
|
|
FROM gcr.io/distroless/base-debian12
|
|
|
|
COPY --from=builder /out/routing /usr/local/bin/routing
|
|
COPY config/ /app/config/
|
|
|
|
ENV SUPERVISOR_CONFIG_DIR=/app/config/supervisor
|
|
ENV ROUTING_PORT=3210
|
|
|
|
EXPOSE 3210
|
|
|
|
USER 65532:65532
|
|
|
|
ENTRYPOINT ["/usr/local/bin/routing"]
|