# Perform a build FROM golang:alpine AS build EXPOSE 8080 1935 RUN mkdir /build ADD . /build WORKDIR /build RUN apk update && apk add --no-cache gcc build-base linux-headers ARG VERSION ENV VERSION=${VERSION} ARG GIT_COMMIT ENV GIT_COMMIT=${GIT_COMMIT} ARG NAME ENV NAME=${NAME} RUN CGO_ENABLED=1 GOOS=linux go build -a -installsuffix cgo -ldflags "-extldflags \"-static\" -s -w -X main.GitCommit=$GIT_COMMIT -X main.BuildVersion=$VERSION -X main.BuildType=$NAME" -o owncast . # Create the image by copying the result of the build into a new alpine image FROM alpine RUN apk update && apk add --no-cache ffmpeg ffmpeg-libs ca-certificates && update-ca-certificates # Copy owncast assets WORKDIR /app COPY --from=build /build/owncast /app/owncast COPY --from=build /build/config-default.yaml /app/config.yaml COPY --from=build /build/webroot /app/webroot COPY --from=build /build/static /app/static COPY --from=build /build/data /app/data CMD ["/app/owncast"]