FROM golang:latest AS builder WORKDIR /build # Copy shared module first COPY commons/ ./commons/ # Copy publisher module COPY publisher/ ./publisher/ # Build the binary WORKDIR /build/publisher RUN go mod download RUN CGO_ENABLED=0 go build -o publisher . # Runtime stage FROM ubuntu:latest WORKDIR /app # Install runtime dependencies RUN apt-get update && apt-get install -y ca-certificates tzdata curl wget && rm -rf /var/lib/apt/lists/* # Copy binary from builder COPY --from=builder /build/publisher/publisher . EXPOSE 4322 CMD ["./publisher"]