Browse Source

Initial version of vidcdocker repo

Ian Goldberg 2 years ago
commit
32afc6b5c7
5 changed files with 68 additions and 0 deletions
  1. 45 0
      README.md
  2. 3 0
      build-docker
  3. 12 0
      docker/Dockerfile
  4. 5 0
      download-debs
  5. 3 0
      vidcdocker

+ 45 - 0
README.md

@@ -0,0 +1,45 @@
+# Linux videoconferencing docker image
+
+On the assumption that there will be a lot more videoconferencing going
+on in the near future, I put together a docker image containing skype,
+zoom, and wire, so that you can run them inside a container and have a
+little less worry about the random binaries.
+
+## Dependencies
+
+I made this to run on Ubuntu 18.04, but you may have luck with other
+platforms as well.
+
+  - docker
+    - If you don't already have docker installed,
+      [install Docker desktop](https://www.docker.com/get-started) first.
+
+  - x11docker
+    - `git clone https://github.com/mviereck/x11docker`
+    - copy `x11docker/x11docker` into some directory in your $PATH
+
+  - nxagent
+    - `apt install nxagent`
+    - There are other possible virtual X servers you could use here; see
+      x11docker above for a list.  This is the part that's most
+      sensitive to your host OS and version.
+
+## Download skype and zoom
+
+  - `./download-debs`
+
+## Build the vidcdocker image
+
+  - `./build-docker`
+
+## Install the launch script
+
+  - Copy `vidcdocker` somewhere in your $PATH
+
+## Running vidcdocker
+
+  - `vidcdocker` will start the docker image and launch an xterminal in
+    that docker.  Your webcam and pulseaudio will be connected to that
+    xterminal.  From that terminal, you can run `wire-desktop`,
+    `skypeforlinux`, or `zoom`.  Exiting the terminal will terminate the
+    docker container.

+ 3 - 0
build-docker

@@ -0,0 +1,3 @@
+#!/bin/bash
+
+cd docker && docker build -t vidcdocker .

+ 12 - 0
docker/Dockerfile

@@ -0,0 +1,12 @@
+FROM ubuntu:18.04
+RUN apt update && apt install -y x11-apps
+RUN apt install -y apt-transport-https gnome-keyring ibus libasound2 libatk1.0-0 libatk-bridge2.0-0 libatspi2.0-0 libc6 libcairo2 libcups2 libdbus-1-3 libegl1-mesa libexpat1 libfontconfig1 libgcc1 libgdk-pixbuf2.0-0 libgl1-mesa-glx libglib2.0-0 libgtk-3-0 libnspr4 libnss3 libpango-1.0-0 libpangocairo-1.0-0 libpulse0 libsecret-1-0 libsm6 libsqlite3-0 libstdc++6 libuuid1 libx11-6 libx11-xcb1 libxcb1 libxcb-image0 libxcb-keysyms1 libxcb-randr0 libxcb-shape0 libxcb-shm0 libxcb-xfixes0 libxcb-xtest0 libxcomposite1 libxcursor1 libxdamage1 libxext6 libxfixes3 libxi6 libxrandr2 libxrender1 libxslt1.1 libxss1 libxtst6
+RUN apt install -y xterm gnupg wget
+COPY skypeforlinux-64.deb zoom_amd64.deb /root/
+RUN dpkg -i /root/skypeforlinux-64.deb
+RUN dpkg -i /root/zoom_amd64.deb
+RUN wget -q https://wire-app.wire.com/linux/releases.key -O- | apt-key add  -
+RUN  echo "deb [arch=amd64] https://wire-app.wire.com/linux/debian stable main" | tee /etc/apt/sources.list.d/wire-desktop.list
+RUN apt update && apt install -y wire-desktop
+
+ENTRYPOINT ["/usr/bin/xterm"]

+ 5 - 0
download-debs

@@ -0,0 +1,5 @@
+#!/bin/bash
+
+cd docker
+wget https://go.skype.com/skypeforlinux-64.deb
+wget https://zoom.us/client/latest/zoom_amd64.deb

+ 3 - 0
vidcdocker

@@ -0,0 +1,3 @@
+#!/bin/bash
+
+x11docker --pulseaudio --webcam --group-add video -m -c $* -- --cap-add SYS_ADMIN --cap-add SYS_CHROOT -- vidcdocker