feat: use multi-stage-builds for Docker (#1003)

This commit is contained in:
Sefa Eyeoglu 2021-05-22 03:18:42 +02:00 committed by GitHub
parent ebf8157e8c
commit 4590bd674b
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

View File

@ -1,9 +1,18 @@
FROM golang:alpine
EXPOSE 8080 1935
FROM golang:alpine AS build
RUN apk add --no-cache gcc build-base linux-headers
WORKDIR /build
COPY . /build
RUN CGO_ENABLED=1 GOOS=linux go build -a -installsuffix cgo -ldflags '-extldflags "-static"' -o owncast .
FROM alpine
RUN apk add --no-cache ffmpeg ffmpeg-libs
WORKDIR /app
ADD . .
RUN set -ex && \
apk add --no-cache ffmpeg ffmpeg-libs && \
apk add --no-cache gcc build-base linux-headers && \
CGO_ENABLED=1 GOOS=linux go build -a -installsuffix cgo -ldflags '-extldflags "-static"' -o owncast .
COPY webroot /app/webroot
COPY static /app/static
COPY --from=build /build/owncast /app/owncast
EXPOSE 8080 1935
CMD ["/app/owncast"]