golanggohlsrtmpwebrtcmedia-serverobs-studiortcprtmp-proxyrtmp-serverrtprtsprtsp-proxyrtsp-relayrtsp-serversrtstreamingwebrtc-proxy
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
108 lines
3.4 KiB
108 lines
3.4 KiB
DOCKER_REPOSITORY = bluenviron/mediamtx |
|
|
|
define DOCKERFILE_DOCKERHUB |
|
FROM scratch |
|
ARG TARGETPLATFORM |
|
ADD tmp/binaries/$$TARGETPLATFORM.tar.gz / |
|
ENTRYPOINT [ "/mediamtx" ] |
|
endef |
|
export DOCKERFILE_DOCKERHUB |
|
|
|
define DOCKERFILE_DOCKERHUB_FFMPEG |
|
FROM $(ALPINE_IMAGE) |
|
RUN apk add --no-cache ffmpeg |
|
ARG TARGETPLATFORM |
|
ADD tmp/binaries/$$TARGETPLATFORM.tar.gz / |
|
ENTRYPOINT [ "/mediamtx" ] |
|
endef |
|
export DOCKERFILE_DOCKERHUB_FFMPEG |
|
|
|
define DOCKERFILE_DOCKERHUB_RPI_BASE_32 |
|
FROM $(RPI32_IMAGE) |
|
RUN apt update && apt install -y --no-install-recommends libcamera0 libfreetype6 && rm -rf /var/lib/apt/lists/* |
|
endef |
|
export DOCKERFILE_DOCKERHUB_RPI_BASE_32 |
|
|
|
define DOCKERFILE_DOCKERHUB_RPI_BASE_64 |
|
FROM $(RPI64_IMAGE) |
|
RUN apt update && apt install -y --no-install-recommends libcamera0 libfreetype6 && rm -rf /var/lib/apt/lists/* |
|
endef |
|
export DOCKERFILE_DOCKERHUB_RPI_BASE_64 |
|
|
|
define DOCKERFILE_DOCKERHUB_RPI |
|
FROM scratch |
|
ARG TARGETPLATFORM |
|
ADD tmp/rpi_base/$$TARGETPLATFORM.tar / |
|
ADD tmp/binaries/$$TARGETPLATFORM.tar.gz / |
|
ENTRYPOINT [ "/mediamtx" ] |
|
endef |
|
export DOCKERFILE_DOCKERHUB_RPI |
|
|
|
define DOCKERFILE_DOCKERHUB_FFMPEG_RPI |
|
FROM scratch |
|
ARG TARGETPLATFORM |
|
ADD tmp/rpi_base/$$TARGETPLATFORM.tar / |
|
RUN apt update && apt install -y --no-install-recommends ffmpeg && rm -rf /var/lib/apt/lists/* |
|
ADD tmp/binaries/$$TARGETPLATFORM.tar.gz / |
|
ENTRYPOINT [ "/mediamtx" ] |
|
endef |
|
export DOCKERFILE_DOCKERHUB_FFMPEG_RPI |
|
|
|
dockerhub: |
|
$(eval VERSION := $(shell git describe --tags | tr -d v)) |
|
|
|
docker login -u $(DOCKER_USER) -p $(DOCKER_PASSWORD) |
|
|
|
rm -rf tmp |
|
mkdir -p tmp tmp/binaries/linux/arm tmp/rpi_base/linux/arm |
|
|
|
cp binaries/*linux_amd64.tar.gz tmp/binaries/linux/amd64.tar.gz |
|
cp binaries/*linux_armv6.tar.gz tmp/binaries/linux/arm/v6.tar.gz |
|
cp binaries/*linux_armv7.tar.gz tmp/binaries/linux/arm/v7.tar.gz |
|
cp binaries/*linux_arm64v8.tar.gz tmp/binaries/linux/arm64.tar.gz |
|
|
|
docker buildx rm builder 2>/dev/null || true |
|
rm -rf $$HOME/.docker/manifests/* |
|
docker buildx create --name=builder --use |
|
|
|
echo "$$DOCKERFILE_DOCKERHUB_RPI_BASE_32" | docker buildx build . -f - \ |
|
--provenance=false \ |
|
--platform=linux/arm/v6 \ |
|
--output type=tar,dest=tmp/rpi_base/linux/arm/v6.tar |
|
cp tmp/rpi_base/linux/arm/v6.tar tmp/rpi_base/linux/arm/v7.tar |
|
|
|
echo "$$DOCKERFILE_DOCKERHUB_RPI_BASE_64" | docker buildx build . -f - \ |
|
--provenance=false \ |
|
--platform=linux/arm64/v8 \ |
|
--output type=tar,dest=tmp/rpi_base/linux/arm64.tar |
|
|
|
echo "$$DOCKERFILE_DOCKERHUB_FFMPEG_RPI" | docker buildx build . -f - \ |
|
--provenance=false \ |
|
--platform=linux/arm/v6,linux/arm/v7,linux/arm64/v8 \ |
|
-t $(DOCKER_REPOSITORY):$(VERSION)-ffmpeg-rpi \ |
|
-t $(DOCKER_REPOSITORY):latest-ffmpeg-rpi \ |
|
--push |
|
|
|
echo "$$DOCKERFILE_DOCKERHUB_RPI" | docker buildx build . -f - \ |
|
--provenance=false \ |
|
--platform=linux/arm/v6,linux/arm/v7,linux/arm64/v8 \ |
|
-t $(DOCKER_REPOSITORY):$(VERSION)-rpi \ |
|
-t $(DOCKER_REPOSITORY):latest-rpi \ |
|
--push |
|
|
|
echo "$$DOCKERFILE_DOCKERHUB_FFMPEG" | docker buildx build . -f - \ |
|
--provenance=false \ |
|
--platform=linux/amd64,linux/arm/v6,linux/arm/v7,linux/arm64/v8 \ |
|
-t $(DOCKER_REPOSITORY):$(VERSION)-ffmpeg \ |
|
-t $(DOCKER_REPOSITORY):latest-ffmpeg \ |
|
--push |
|
|
|
echo "$$DOCKERFILE_DOCKERHUB" | docker buildx build . -f - \ |
|
--provenance=false \ |
|
--platform=linux/amd64,linux/arm/v6,linux/arm/v7,linux/arm64/v8 \ |
|
-t $(DOCKER_REPOSITORY):$(VERSION) \ |
|
-t $(DOCKER_REPOSITORY):latest \ |
|
--push |
|
|
|
docker buildx rm builder |
|
rm -rf $$HOME/.docker/manifests/*
|
|
|