From ae7dcf4221b1f2ea3599172e6686e026952fe0eb Mon Sep 17 00:00:00 2001 From: Yohann D'ANELLO Date: Tue, 29 Sep 2020 14:22:56 +0200 Subject: [PATCH] libsrt got packaged in Alpine Linux --- .gitlab-ci.yml | 3 +-- Dockerfile | 12 ++++++------ 2 files changed, 7 insertions(+), 8 deletions(-) diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index b0b9b45..0f4907f 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -6,8 +6,7 @@ unit_tests: image: golang:1.15-alpine stage: test before_script: - - apk add --no-cache git build-base tcl pkgconfig cmake libressl-dev linux-headers - - git clone --depth 1 --branch v1.4.2 https://github.com/Haivision/srt && cd srt && ./configure --enable-apps=OFF && make install && cd .. && rm -rf srt + - apk add -X http://dl-cdn.alpinelinux.org/alpine/edge/testing libsrt-dev script: - go test -v -covermode=count -coverprofile cover.cov ./... - go tool cover -func=cover.cov diff --git a/Dockerfile b/Dockerfile index 0bb6b39..70888de 100644 --- a/Dockerfile +++ b/Dockerfile @@ -1,8 +1,8 @@ -# Install dependencies, build libsrt then build ghostream +# Install dependencies then build ghostream FROM golang:1.15-alpine AS build_base -RUN apk add --no-cache git build-base tcl pkgconfig cmake libressl-dev linux-headers -RUN git clone --depth 1 --branch v1.4.2 https://github.com/Haivision/srt && \ - cd srt && ./configure --enable-apps=OFF && make install && cd .. && rm -rf srt +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 WORKDIR /code COPY go.* ./ RUN go mod download && go get github.com/markbates/pkger/cmd/pkger @@ -11,9 +11,9 @@ RUN go generate && go build -o ./out/ghostream . # Production image FROM alpine:3.12 -RUN apk add ca-certificates libressl libstdc++ libgcc +RUN apk add ca-certificates +RUN apk add --no-cache -X http://dl-cdn.alpinelinux.org/alpine/edge/testing libsrt COPY --from=build_base /code/out/ghostream /app/ghostream -COPY --from=build_base /usr/local/lib64/libsrt.so.1 /lib/libsrt.so.1 WORKDIR /app # 8080 for Web and Websocket, 2112 for prometheus monitoring and 9710 for SRT EXPOSE 8080 2112 9710