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