concord/deploy/Dockerfile.voice

31 lines
850 B
Docker

# Build stage
FROM golang:1.25-alpine AS builder
WORKDIR /app
RUN apk add --no-cache git make protobuf
ENV PATH="/go/bin:${PATH}"
RUN CGO_ENABLED=0 go install github.com/bufbuild/buf/cmd/buf@v1.28.1 \
&& go install google.golang.org/protobuf/cmd/protoc-gen-go@latest \
&& go install google.golang.org/grpc/cmd/protoc-gen-go-grpc@latest \
&& go install github.com/grpc-ecosystem/grpc-gateway/v2/protoc-gen-grpc-gateway@latest \
&& go install github.com/grpc-ecosystem/grpc-gateway/v2/protoc-gen-openapiv2@latest
COPY go.mod go.sum ./
RUN go mod download
COPY . .
RUN make proto
RUN go build -o /bin/concord-voice ./cmd/concord-voice
# Final stage
FROM alpine:3.19
WORKDIR /app
RUN apk add --no-cache ca-certificates
COPY --from=builder /bin/concord-voice /app/concord-voice
EXPOSE 50000-50049/udp 9001 9101 8082
CMD ["/app/concord-voice"]