forked from Daedilus/docker-obs-ndi
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathDockerfile
57 lines (44 loc) · 2.31 KB
/
Dockerfile
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
FROM ubuntu:21.04
ARG DEBIAN_FRONTEND="noninteractive"
RUN apt-get update \
&& apt-get install -y avahi-daemon fluxbox git gnupg libusb-dev net-tools python3-numpy p7zip-full tigervnc-standalone-server vlc wget xterm
# Add OBS PPA Repo
RUN echo "deb http://ppa.launchpad.net/obsproject/obs-studio/ubuntu hirsute main" >> /etc/apt/sources.list
RUN echo "deb-src http://ppa.launchpad.net/obsproject/obs-studio/ubuntu hirsute main" >> /etc/apt/sources.list
RUN apt-key adv --keyserver keyserver.ubuntu.com --recv-keys BC7345F522079769F5BBE987EFC71127F425E228
# Run APT for All the things
RUN apt-get update \
&& apt-get install -y obs-studio \
&& apt-get upgrade -y \
&& apt-get clean -y \
&& rm -rf /var/lib/apt/lists/*
# Setup NoVNC Repos
RUN git clone --branch v1.1.0 --single-branch https://github.com/novnc/noVNC.git /opt/noVNC \
&& git clone --branch v0.10.0 --single-branch https://github.com/novnc/websockify.git /opt/noVNC/utils/websockify \
&& ln -s /opt/noVNC/vnc.html /opt/noVNC/index.html
# # Grab and install NDI Binaries
# RUN wget -q -O /tmp/libndi4_4.5.1-1_amd64.deb https://github.com/Palakis/obs-ndi/releases/download/4.9.1/libndi4_4.5.1-1_amd64.deb \
# && wget -q -O /tmp/obs-ndi_4.9.1-1_amd64.deb https://github.com/Palakis/obs-ndi/releases/download/4.9.1/obs-ndi_4.9.1-1_amd64.deb \
# && dpkg -i /tmp/*.deb \
# && rm -rf /tmp/*.deb
RUN sed -i 's/geteuid/getppid/' /usr/bin/vlc
# Add Local Run Scripts
RUN mkdir -p /opt/startup_scripts
RUN mkdir -p /usr/local/lib/firmware
# Generate self signed cert
RUN openssl req -new -x509 -days 365 -nodes -out self.pem -keyout self.pem -batch
ADD startup.sh /opt/startup_scripts/
ADD container_startup.sh /opt/
ADD x11vnc_entrypoint.sh /opt/
ADD firmware.tgz /usr/local/lib/firmware
RUN chmod a+x /opt/*.sh
RUN chmod a+x /opt/startup_scripts/*.sh
RUN touch /root/.Xauthority
# Add menu entries to the container
RUN echo "?package(bash):needs=\"X11\" section=\"DockerCustom\" title=\"OBS Screencast\" command=\"obs\"" >> /usr/share/menu/custom-docker
RUN echo "?package(bash):needs=\"X11\" section=\"DockerCustom\" title=\"Xterm\" command=\"xterm -ls -bg black -fg white\"" >> /usr/share/menu/custom-docker && update-menus
# Use environment variable to allow custom VNC passwords
ENV VNC_PASSWD=123456
VOLUME ["/config"]
EXPOSE 5900 5901
ENTRYPOINT ["/opt/container_startup.sh"]