2020-09-29 12:22:56 +00:00
|
|
|
# Install dependencies then build ghostream
|
2020-09-21 15:29:50 +00:00
|
|
|
FROM golang:1.15-alpine AS build_base
|
2020-09-29 12:22:56 +00:00
|
|
|
RUN apk add --no-cache build-base gcc
|
|
|
|
# libsrt is not yet packaged in community repository
|
|
|
|
RUN apk add --no-cache -X http://dl-cdn.alpinelinux.org/alpine/edge/testing libsrt-dev
|
2020-09-21 15:29:50 +00:00
|
|
|
WORKDIR /code
|
2020-09-27 19:26:06 +00:00
|
|
|
COPY go.* ./
|
2020-09-28 15:47:33 +00:00
|
|
|
RUN go mod download && go get github.com/markbates/pkger/cmd/pkger
|
2020-09-27 19:26:06 +00:00
|
|
|
COPY . .
|
2020-09-28 15:47:33 +00:00
|
|
|
RUN go generate && go build -o ./out/ghostream .
|
2020-09-21 15:29:50 +00:00
|
|
|
|
|
|
|
# Production image
|
|
|
|
FROM alpine:3.12
|
2020-09-29 12:22:56 +00:00
|
|
|
RUN apk add ca-certificates
|
|
|
|
RUN apk add --no-cache -X http://dl-cdn.alpinelinux.org/alpine/edge/testing libsrt
|
2020-09-21 15:29:50 +00:00
|
|
|
COPY --from=build_base /code/out/ghostream /app/ghostream
|
2020-09-27 19:44:12 +00:00
|
|
|
WORKDIR /app
|
2020-09-27 20:06:57 +00:00
|
|
|
# 8080 for Web and Websocket, 2112 for prometheus monitoring and 9710 for SRT
|
2020-09-29 12:23:20 +00:00
|
|
|
EXPOSE 8080 2112 9710 10000-10005/udp
|
2020-09-27 18:25:42 +00:00
|
|
|
CMD ["/app/ghostream"]
|