# Универсальная сборка бинаря из cmd/* (ARG BIN=evobgp-api | evobgp-all). # INSTALL_BIRDC=1 ставит bird2 в рантайм-образ для EVOBGP_BIRDC_SOCKET (poll метрик birdc). FROM golang:1.22-bookworm AS build WORKDIR /src COPY go.mod go.sum ./ RUN go mod download COPY . . ARG BIN=evobgp-api RUN CGO_ENABLED=0 go build -trimpath -ldflags="-s -w" -o /out/evobgp ./cmd/${BIN} FROM debian:bookworm-slim ARG INSTALL_BIRDC=0 RUN apt-get update && apt-get install -y --no-install-recommends ca-certificates \ && if [ "$INSTALL_BIRDC" = "1" ]; then apt-get install -y --no-install-recommends bird2; fi \ && rm -rf /var/lib/apt/lists/* COPY --from=build /out/evobgp /usr/local/bin/evobgp EXPOSE 8080 ENTRYPOINT ["/usr/local/bin/evobgp"]