xworkmate-bridge/Dockerfile
2026-04-24 14:59:54 +08:00

32 lines
813 B
Docker

# Stage 1 - build the bridge binary
FROM golang:1.25.1 AS builder
ARG BUILD_COMMIT=unknown
ARG BUILD_DATE=unknown
ARG BUILD_VERSION=v1.0-beta2
WORKDIR /src
COPY go.mod go.sum ./
RUN go mod download
COPY . .
RUN set -euo pipefail; \
CGO_ENABLED=0 GOOS=linux GOARCH=amd64 go build \
-ldflags="-s -w -X main.buildCommit=${BUILD_COMMIT} -X main.buildVersion=${BUILD_VERSION} -X main.buildDate=${BUILD_DATE}" \
-o /out/xworkmate-bridge .
# Stage 2 - minimal runtime image
FROM debian:bookworm-slim
RUN apt-get update \
&& apt-get install -y --no-install-recommends ca-certificates \
&& rm -rf /var/lib/apt/lists/*
COPY --from=builder /out/xworkmate-bridge /usr/local/bin/xworkmate-bridge
EXPOSE 8787
ENTRYPOINT ["/usr/local/bin/xworkmate-bridge", "serve", "--listen", "0.0.0.0:8787"]