Dockerfile.client
FROM mwader/static-ffmpeg:4.4.1 AS ffmpeg
# Go Binary Builder
FROM golang:1.21.4-alpine3.17 AS go-build
WORKDIR /app
COPY . .
RUN go get -v && \
go build -o streamdl
# Golang Protobuf Client and Logic
FROM golang:1.21.4-alpine3.17 AS client
WORKDIR /app
RUN mkdir -p /app/dl /app/out
# Copy FFMPEG Binaries
COPY --from=ffmpeg /ffmpeg /usr/local/bin/
COPY --from=ffmpeg /ffprobe /usr/local/bin/
COPY --from=ffmpeg /qt-faststart /usr/local/bin/
COPY --from=go-build /app/streamdl .
COPY entrypoint_client.sh .
# HEALTHCHECK --interval=60s --timeout=15s --start-period=5s --retries=3 CMD curl --fail http://streamdl-client:8080/health || exit 1
ENTRYPOINT ["/bin/sh", "/app/entrypoint_client.sh"]