FROM debian:testing as builder RUN printf "deb http://deb.debian.org/debian testing main contrib non-free\ndeb-src http://deb.debian.org/debian testing main contrib non-free" > /etc/apt/sources.list \ && apt-get update \ && apt-get -y install \ build-essential \ cmake \ git \ libasound2-dev \ libavcodec-dev \ libavdevice-dev \ libavfilter-dev \ libavformat-dev \ libavutil-dev \ libcurl4-openssl-dev \ libfdk-aac-dev \ libfontconfig-dev \ libfreetype6-dev \ libgl1-mesa-dev \ libjack-jackd2-dev \ libjansson-dev \ libluajit-5.1-dev \ libmbedtls-dev \ libnss3 \ libpulse-dev \ libqt5svg5-dev \ libqt5x11extras5-dev \ libspeexdsp-dev \ libswresample-dev \ libswscale-dev \ libudev-dev \ libv4l-dev \ libvlc-dev \ libx11-dev \ libx11-xcb-dev \ libx264-dev \ libxcb-randr0-dev \ libxcb-shm0-dev \ libxcb-xfixes0-dev \ libxcb-xinerama0-dev \ libxcb-xinput-dev \ libxcb1-dev \ libxcomposite-dev \ libxinerama-dev \ pkg-config \ python3-dev \ qtbase5-dev \ swig \ wget RUN cd /tmp/ \ && wget -nv https://cdn-fastly.obsproject.com/downloads/cef_binary_3770_linux64.tar.bz2 \ && tar xvf cef_binary_3770_linux64.tar.bz2 \ && rm -rf cef_binary_3770_linux64.tar.bz2 \ && mv cef_* cef \ && git clone --depth=1 --recursive https://github.com/obsproject/obs-studio RUN mkdir /tmp/obs-studio/build \ && cd /tmp/obs-studio/build \ && cmake \ -DUNIX_STRUCTURE=0 \ -DCMAKE_INSTALL_PREFIX=/opt/obs-studio/ \ -DBUILD_BROWSER=ON \ -DCEF_ROOT_DIR="../../cef" \ .. \ && make -j 4 \ && make install/strip FROM debian:testing # installing debian obs-studio first makes dependency management easier RUN printf "deb http://deb.debian.org/debian testing main contrib non-free\ndeb-src http://deb.debian.org/debian testing main contrib non-free" > /etc/apt/sources.list \ && apt-get update \ && apt-get -y install --no-install-recommends obs-studio \ && apt-get -y purge obs-studio \ && apt-get -y install \ i965-va-driver \ intel-media-va-driver \ libatk-bridge2.0-0 \ libatk1.0-0 \ libatspi2.0-0 \ libcurl4 \ libfdk-aac2 \ libnss3 \ libvlc5 \ libxtst6 \ && rm -rf /var/lib/apt/lists/* COPY --from=builder /opt/obs-studio/ /opt/obs-studio/ ENV LD_LIBRARY_PATH=/opt/obs-studio/bin/64bit # For some reason the workdir has to be this, otherwise it will not find the # locales and fail to start WORKDIR /opt/obs-studio/bin/64bit/ ENTRYPOINT ["/opt/obs-studio/bin/64bit/obs"]