Created
June 26, 2023 12:05
-
-
Save mitchross/5dc213dc6d4165704f379be414044235 to your computer and use it in GitHub Desktop.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
ARG ARM | |
ARG ARCH=${ARM:+arm32v7} | |
FROM ${ARCH:-amd64}/python:3.11-slim-bullseye as base | |
FROM base as builder | |
ENV PYTHONUNBUFFERED=1 | |
ARG ARM | |
ARG LIB_ARCH=${ARM:+arm} | |
ARG MTX_ARCH=${ARM:+armv7} | |
ARG FFMPEG_ARCH=${ARM:+armv7l} | |
RUN apt-get update \ | |
&& apt-get install -y tar unzip curl jq g++ git xz-utils \ | |
&& apt-get clean \ | |
&& rm -rf /var/lib/apt/lists/* | |
COPY requirements.txt /tmp/requirements.txt | |
RUN pip3 install --disable-pip-version-check --prefix=/build/usr/local -r /tmp/requirements.txt | |
COPY *.lib /tmp/lib/ | |
RUN mkdir -p /build/app /build/tokens /build/img \ | |
&& curl -L https://github.com/BtbN/FFmpeg-Builds/releases/download/latest/ffmpeg-master-latest-linux64-gpl.tar.xz \ | |
| tar --strip-components=1 -C /build/usr/local -Jxf - --wildcards '*ffmpeg' \ | |
&& MTX_TAG=$(curl -s https://api.github.com/repos/bluenviron/mediamtx/releases/latest | jq -r .tag_name) \ | |
&& echo -n $MTX_TAG > /build/MTX_TAG \ | |
&& curl -L https://github.com/bluenviron/mediamtx/releases/download/${MTX_TAG}/mediamtx_${MTX_TAG}_linux_${MTX_ARCH:-amd64}.tar.gz \ | |
| tar xzf - -C /build/app \ | |
&& cp /tmp/lib/${LIB_ARCH:-amd}.lib /build/usr/local/lib/libIOTCAPIs_ALL.so\ | |
&& rm -rf /tmp/* | |
COPY . /build/app/ | |
FROM base | |
RUN apt-get update \ | |
&& apt-get install -y tar unzip curl jq g++ git xz-utils wget | |
RUN mkdir -p /usr/lib/btbn-ffmpeg \ | |
&& wget -qO btbn-ffmpeg.tar.xz "https://github.com/BtbN/FFmpeg-Builds/releases/download/autobuild-2022-07-31-12-37/ffmpeg-n5.1-2-g915ef932a3-linux64-gpl-5.1.tar.xz" \ | |
&& tar -xf btbn-ffmpeg.tar.xz -C /usr/lib/btbn-ffmpeg --strip-components 1 \ | |
&& rm -rf btbn-ffmpeg.tar.xz /usr/lib/btbn-ffmpeg/doc /usr/lib/btbn-ffmpeg/bin/ffplay | |
ENV PATH="/usr/lib/btbn-ffmpeg/bin:/usr/local/go2rtc/bin:/usr/local/nginx/sbin:${PATH}" | |
RUN ldconfig | |
RUN echo 'deb http://deb.debian.org/debian testing main non-free' >/etc/apt/sources.list.d/debian-testing.list \ | |
&& apt-get -qq update \ | |
&& apt-get -qq install --no-install-recommends --no-install-suggests -y \ | |
intel-opencl-icd \ | |
mesa-va-drivers libva-drm2 intel-media-va-driver-non-free i965-va-driver libmfx1 radeontop intel-gpu-tools \ | |
&& apt-get -qq install --no-install-recommends --no-install-suggests -y \ | |
i965-va-driver-shaders \ | |
&& rm -f /etc/apt/sources.list.d/debian-testing.list | |
ENV PYTHONUNBUFFERED=1 MTX_HLSVARIANT=fmp4 MTX_PROTOCOLS=tcp MTX_READTIMEOUT=20s MTX_LOGLEVEL=warn MTX_WEBRTCICEUDPMUXADDRESS=:8189 SDK_KEY=AQAAAIZ44fijz5pURQiNw4xpEfV9ZysFH8LYBPDxiONQlbLKaDeb7n26TSOPSGHftbRVo25k3uz5of06iGNB4pSfmvsCvm/tTlmML6HKS0vVxZnzEuK95TPGEGt+aE15m6fjtRXQKnUav59VSRHwRj9Z1Kjm1ClfkSPUF5NfUvsb3IAbai0WlzZE1yYCtks7NFRMbTXUMq3bFtNhEERD/7oc504b FLASK_APP=frontend | |
COPY --from=builder /build / | |
WORKDIR /app | |
CMD [ "flask", "run", "--host=0.0.0.0"] |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment