From 2157f3ddc414275a24c307a00975b26821a4e0f5 Mon Sep 17 00:00:00 2001 From: Simon Bruder Date: Sat, 4 Apr 2020 21:06:45 +0000 Subject: [PATCH] Init --- .drone.yml | 13 ++++++++ Dockerfile | 95 ++++++++++++++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 108 insertions(+) create mode 100644 .drone.yml create mode 100644 Dockerfile diff --git a/.drone.yml b/.drone.yml new file mode 100644 index 0000000..d8cc9c3 --- /dev/null +++ b/.drone.yml @@ -0,0 +1,13 @@ +kind: pipeline +name: default + +steps: +- name: docker + image: plugins/docker + settings: + registry: r.sbruder.de + username: + from_secret: docker_username + password: + from_secret: docker_password + repo: r.sbruder.de/obs-studio diff --git a/Dockerfile b/Dockerfile new file mode 100644 index 0000000..d7fc30c --- /dev/null +++ b/Dockerfile @@ -0,0 +1,95 @@ +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 + +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 \ + 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"]