ghostream/Dockerfile

20 lines
749 B
Docker
Raw Normal View History

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 13:22:25 +00:00
RUN apk add --no-cache gcc musl-dev
2020-09-29 12:22:56 +00:00
# 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 --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-29 12:47:16 +00:00
# 9710 for SRT, 8080 for Web, 2112 for monitoring and 10000-10005 (UDP) for WebRTC
2020-09-29 13:31:08 +00:00
EXPOSE 9710/udp 8080 2112 10000-10005/udp
2020-09-27 18:25:42 +00:00
CMD ["/app/ghostream"]