mdouchement / docker-zoom-us Goto Github PK
View Code? Open in Web Editor NEWDockerized zoom with voice and video call support
License: MIT License
Dockerized zoom with voice and video call support
License: MIT License
This setup works like a charm for me. Thanks for you work!
Is this actually more secure than running zoom locally? I like that if I kill the docker container I know that zoom is really not running anymore, but apart from that has it any security benefits?
debian11
cat /opt/zoom/version.txt
5.12.9.367
A few months ago, let's say last year, the image was working.
As I got today a message "pls update zoom", while trying to join a meeting, I did a docker pull that updated the image... but I was no more able to launch zoom.
Removing and pulling again the latest image didn't solve the problem.
I've a basic knowledge of docker.
What can you recommend to fix that?
Thanks.
I am using a 4k display with Fedora Plasma. I tried to set autoScale=true
in zoomus.conf but it does not work. I set ZOOM_HOME to a directory, and edited the zoomus.conf there. Also, it seems to be blank at first.
I happen to have an issue with zoom using a lot of CPU. It would be great if the docker command passed in --cpus
or any arbitrary docker arguments.
I tried to launch it today, from an image downloaded with docker pull mdouchement/zoom-us:latest, and nothing happens.
Inside the container (docker run -it mdouchement/zoom-us:latest /bin/bash),
# cat /opt/zoom/version.txt
5.10.3.2778
Dunno what's wrong, but may attempt to debug a bit
Hello!
I'm in Debian GNU/Linux 11 bullseye
I removed systemd and installed sysvinit
And I'm using CDE (Common Desktop Environment) with dtlogin.
Pulse audio works with this (https://sourceforge.net/p/cdesktopenv/wiki/Sound-Video%20and%20dtlogin/) workaround.
However, when I install and launch zoom with this, whole audio stuffs aren't working.
In zoom, the audio device itself are not being detected. Both mic and speaker.
In zoom there's login function, so I clicked in it to launch firefox inside zoom container, and in there firefox I tested audio, and it doesn't work there too.
Please help!
Thanks.
Install instructions are somewhat unclear... I am used to using docker-compose
but there is no docker-compose.yml
in this repo.
After pulling the :latest
image, is that when you run the install
scripts? Or do you have to first build the container?
I tried running using docker run --name=zoom zoom-us
but Docker Desktop for Mac is reporting Exit Code 0
-- the container stops the moment after it starts.
Also, zoom
at the shell does not work because there's nothing aliased to the command...
Can you provide a little more info about installation/building the container, and then running it? Happy to provide a pull request with an updated readme.md
if you can help me get this up and running.
zoom version: https://d11yldzmag5yn.cloudfront.net/prod/3.5.336627.1216/zoom_amd64.deb
(downloaded 2019-01-03)
docker version: Docker version 19.03.5, build 633a0ea838
OS version: Debian GNU/Linux 9 (stretch)
See attached screenshot. Audio settings page is blank, which makes it hard to set volumes (especially since the linux client is notorious for defaulting to random values when you open zoom).
I was testing this inside of a VM, so it might have something to do with that. I'll test it on my host machine soon and post the results. Host: Ubuntu 19.10, Virtualbox: 6.1.0, Guest OS: Debian Stretch (9)
The 3.5 version worked just fine until recently, when joining conferences required upgrade. So I did that and now there's no audio / mic.
On the audio settings page the "Test speaker" button as well as other controls are disabled. Setting "Speaker" to either "Same as system" or "Built-in…" doesn't change anything. Microphone dropdown is disabled and empty.
How can I help to diagnose this?
Hi,
So I'm sorta new to docker. Im trying to install the script and I succesfullt do so by chaning the /usr/local/bin:/target path.
The first issue is I can't seem to change that /target path or else I'll get the following error:
Installing zoom-us-wrapper... install: target '/target/' is not a directory: No such file or directory
And whetther or not I get it insalled when I go to run the script I get a
Unable to find image 'zoom-us-wrapper:latest' locally
Im running docker on windows thus Im using cmd. Ive struggled with paths in the past so do any of you guys have any tiups regarding translaion from host to target path?
Thanks
Debian 10.
Q1 see Title: how to fix that?
Q2 browser included in the container crashes very often: any idea about that?
Thanks
When running via zoom-us-wrapper zoom
, getting this:
~ » docker logs evil_golick
Adding user `zoom' to group `sudo' ...
Adding user zoom to group sudo
Done.
zoom
Zoom not exist at current directory - /home/zoom
Zoom path is: /opt/zoom
cmd line:
[CZPClientLogMgr::LogClientEnvironment] [MacAddr: 02:42:AC:11:00:07][client: Linux][OS: Debian GNU/Linux 8 (jessie)][Hardware: CPU Core:4 Frenquency:3.301 G Memory size:15965MB CPU Brand:Intel(R) Core(TM) i5-4590 CPU @ 3.30GHz][Req ID: ]
Linux Client Version is 2.0.52458.0531
Graphics Card Info::
QSG_RENDER_LOOP is
libGL error: No matching fbConfigs or visuals found
libGL error: failed to load driver: swrast
Unrecognized OpenGL version
Unrecognized OpenGL version
Adding user `zoom' to group `sudo' ...
Adding user zoom to group sudo
Done.
zoom
Zoom not exist at current directory - /home/zoom
Zoom path is: /opt/zoom
cmd line:
[CZPClientLogMgr::LogClientEnvironment] [MacAddr: 02:42:AC:11:00:06][client: Linux][OS: Debian GNU/Linux 8 (jessie)][Hardware: CPU Core:4 Frenquency:3.301 G Memory size:15965MB CPU Brand:Intel(R) Core(TM) i5-4590 CPU @ 3.30GHz][Req ID: ]
Linux Client Version is 2.0.52458.0531
Graphics Card Info::
QSG_RENDER_LOOP is
libGL error: No matching fbConfigs or visuals found
libGL error: failed to load driver: swrast
Unrecognized OpenGL version
Unrecognized OpenGL version
when running via zoom
, getting this:
~ » docker logs evil_golick
Adding user `zoom' to group `sudo' ...
Adding user zoom to group sudo
Done.
zoom
Zoom not exist at current directory - /home/zoom
Zoom path is: /opt/zoom
cmd line:
[CZPClientLogMgr::LogClientEnvironment] [MacAddr: 02:42:AC:11:00:07][client: Linux][OS: Debian GNU/Linux 8 (jessie)][Hardware: CPU Core:4 Frenquency:3.301 G Memory size:15965MB CPU Brand:Intel(R) Core(TM) i5-4590 CPU @ 3.30GHz][Req ID: ]
Linux Client Version is 2.0.52458.0531
Graphics Card Info::
QSG_RENDER_LOOP is
libGL error: No matching fbConfigs or visuals found
libGL error: failed to load driver: swrast
Unrecognized OpenGL version
Unrecognized OpenGL version
My system is running
~ » uname -a
Linux capitan 4.9.11-gentoo #1 SMP Sun Feb 19 17:49:04 EET 2017 x86_64 Intel(R) Core(TM) i5-4590 CPU @ 3.30GHz GenuineIntel GNU/Linux
with NVidia drivers version:
~ » equery u nvidia-drivers
[ Legend : U - final flag setting for installation]
[ : I - package is installed with flag ]
[ Colors : set, unset ]
* Found these USE flags for x11-drivers/nvidia-drivers-378.13:
U I
+ + X : Install the X.org driver, OpenGL libraries, XvMC libraries, and VDPAU libraries
+ + abi_x86_32 : 32-bit (x86) libraries
+ + acpi : Add support for Advanced Configuration and Power Interface
- - compat : Install non-GLVND libGL for backwards compatibility
+ + driver : Install the kernel driver module
+ + gtk3 : Install nvidia-settings with support for GTK+ 3
+ + kms : Enable support for kernel mode setting (KMS)
+ + multilib : On 64bit systems, if you want to be able to compile 32bit and 64bit binaries
- - pax_kernel : PaX patches from the PaX project
- - static-libs : Build static versions of dynamic libraries as well
+ + tools : Install additional tools such as nvidia-settings
+ + uvm : Install the Unified Memory kernel module (nvidia-uvm) for sharing memory between CPU and GPU in CUDA programs
- - wayland : Enable dev-libs/wayland backend
~ »
I'm asking how to make this work with Podman.
Unlike docker, it doesn't need sudo.
So, I had to set the $ZOOM_HOME
variable so Podman won't chown
my home folder to 100999.
Afterwards, zoom couldn't open.
Have you experienced this issue? Anuy ideas of what could be?
Hi! The zoom application doesn't see any other window running in X. That's really strange because I tried inside the container to install and launch chromium from the zoom user and it could be able to capture other X11 windows' content without any problem. So it doesn't seem a matter of permissions, and #20 is already taken into account. Host is Archlinux, kernel 5.9.1 and I am using Sway on Wayland. Also logs do not seem to show anything on sharing. It seems to me that zoom doesn't even try to do the sharing.
There is an issue with zoom that it hangs on login attempts via SSO on “Connecting …” when using the embedded browser with embeddedBrowserForSSOLogin=true
, see the issues at aur/zoom or github/NixOS/nixpkgs. A workaround is to simply not use the embedded browser, having embeddedBrowserForSSOLogin=false
.
However, this docker image cannot launch a browser, see #10. So Single Sign-On simply doesn’t work. I believe to fix this, one would either need to integrate a browser or to make zoom communicate with the host browser from within the docker image …
I run container via zoom-us-wrapper zoom
and in logs I see
Adding user `zoom' to group `sudo' ... │
│ Adding user zoom to group sudo │
│ Done. │
│ zoom │
│ Another composite manager is already running (0x400011) │
│
I use gnome on X11
Ubuntu 20.04
Is it possible to set up this container and its helper scripts such that Firefox will launch it when a page tries to launch zoom?
The wrapper uses the wrong method of reading the timezone of the host computer. Therefore the container gets the wrong timezone. It should use the long timezone instead of short one. Eg. instead of 'PDT', use America/Los_Angeles
I didn't seem to have the permissions to create a branch or a pull request to this repository, so please consider this one liner patch instead. Thanks...
diff --git a/scripts/zoom-us-wrapper b/scripts/zoom-us-wrapper
index aadc86e..8642b45 100755
--- a/scripts/zoom-us-wrapper
+++ b/scripts/zoom-us-wrapper
@@ -49,7 +49,7 @@ prepare_docker_env_parameters() {
ENV_VARS+=" --env=USER_GID=${USER_GID}"
ENV_VARS+=" --env=DISPLAY=unix$DISPLAY"
ENV_VARS+=" --env=XAUTHORITY=${XAUTH}"
- ENV_VARS+=" --env=TZ=$(date +%Z)"
+ ENV_VARS+=" --env=TZ=$(timedatectl show --value -p Timezone)"
}
prepare_docker_volume_parameters() {
The ZOOM_URL only refers an alias, which will redirect to the real .deb. For instance, https://d11yldzmag5yn.cloudfront.net/prod/5.4.53350.1027/zoom_amd64.deb at the moment.
The Docker build caches the command and won't re-download whenever one performs a local build again...
Would there be a possibility to always force- download the latest version ?
Or maybe embed the "fixed" URL (as above) instead, to clearly identify which version is in the build ?
Docker logs for zoomus:
docker logs 127f92851c01
Adding user `zoom' to group `sudo' ...
Adding user zoom to group sudo
Done.
zoom
No protocol specified
Can't open display
Zoom log:
ZoomLauncher started.
Zoom path is: /opt/zoom
cmd line:
CreateReportChannel bp_server_fd=4
$HOME = /home/zoom
export SSB_HOME=/home/zoom/.zoom; export QSG_INFO=1; export LD_LIBRARY_PATH=/opt/zoom; export BREAKPAD_CLIENT_FD=3; /opt/zoom/zoom ""
No PulseAudio daemon running, or not running as session daemon.
zoom started.
No protocol specified
qt.qpa.xcb: could not connect to display unix:0
qt.qpa.plugin: Could not load the Qt platform plugin "xcb" in "" even though it was found.
This application failed to start because no Qt platform plugin could be initialized. Reinstalling the application may fix this problem.
Available platform plugins are: eglfs, linuxfb, minimal, minimalegl, offscreen, vnc, wayland-egl, wayland, wayland-xcomposite-egl, wayland-xcomposite-glx, xcb.
ZoomLauncher: new dump generated from pid 42, path: /home/zoom/.zoom/logs/4d3f971b-1c7d-4bd7-28c451bb-b80fa340.dmp
$HOME = /home/zoom
No PulseAudio daemon running, or not running as session daemon.
Aborted (core dumped)
success to create child process,status is 34304.
zoom exited normally.
Something went wrong while running zoom,exit code is 134.
ZoomLauncher exit.
The xhost +SI:localuser:"$USER"
does not work
I think a zoom.desktop like the following would really help this project. If you use such a file you can simply open an zoom url in the browser or using xdg-open and the docker is automatically started and zoom connects to the meeting.
This is an example of how such a file could look:
[Desktop Entry]
Type=Application
Name=Zoom
Exec=zoom "%u"
StartupNotify=false
MimeType=x-scheme-handler/zoommtg
Terminal=false
If you don't allow docker to run without root you should enable the terminal to enter your password.
[Desktop Entry]
Type=Application
Name=Zoom
Exec=zoom "%u"
StartupNotify=false
MimeType=x-scheme-handler/zoommtg
Terminal=true
Zoom stores its config right inside $XDG_CONFIG_HOME
. Right now, it is reflected in wrapper script.
As there were many claims on privacy ragarding Zoom, it might be better to have an option to lock it just within some subdirectory. It will not pick up real config file, but it will also lose access to the whole .config
, which, I guess, is desired by many users.
I just started using this container and tested it using Zoom's test meeting. It worked very nicely. Thanks.
However, I noticed that the container is still running after I existed the meeting and killed the window. Isn't it supposed to go away?
Can you include an example for how to include this into a Dockerfile for running a zoom client amongst other things? Currently I have:
FROM mdouchement/zoom-us:latest
COPY zoomus.conf load/root/.config/zoomus.conf
RUN /opt/zoom/zoom
but building it yields an error /opt/zoom/zoom: error while loading shared libraries: libQt5WebEngineWidgets.so.5: cannot open shared object file: No such file or directory
I know this issue is reported often by users but for me the fixes haven't worked.
These are my system specs:
Desktop Environment KDE Plasma
Intel Xeon X5482 (8 core) @ 2.890GHz
NVIDIA GeForce GTX 1060 6GB (using proprietary driver)
48 GB ram
Distro Debian 10 Buster
These are the commands I ran to install the files
$ sudo docker pull mdouchement/zoom-us:latest
$ sudo docker run -it --rm --volume /usr/local/bin:/target mdouchement/zoom-us:latest install
and to run it
$ zoom-us-wrapper zoom
this is the command output of the previous command
Cleaning up stopped zoom-us instances...
Using ZOOM_HOME: /home/david
Starting zoom...
the window appears but nothing is there
I have tried running the mzcu version of this but that didn't work.
This is how I installed the mzcu version:
$ sudo docker build -t mdouchement/zoom-us github.com/mzcu/docker-zoom-us
$ sudo docker run -it --rm --volume /usr/local/bin:/target mdouchement/zoom-us:latest install
and when I run it, I get an nvidia runtime error.
I tried doing what user @erikbeebe recommended (#16 (comment))
but that caused another error
thank in advance
So, the Zoom application offers this HTTP and HTTPS proxy option in the bottom right corner of the screen.
However, when I set it manually, I need to restart Zoom, and then the setting is gone again.
I suspect that there is a configuration file it is set in, but which is not mounted in the Zoom home, but I have not been able to find which one yet.
Currently, the workaround is to set this setting on OS level, but this is annoying, since for my specific use case that breaks other stuff.
If you have any idea how to approach this issue I'd love to hear it!
Hi,
I'm on Kubuntu 19:10, starting zoom via zoom-us-wrapper seems to be ok:
$ zoom-us-wrapper zoom
Cleaning up stopped zoom-us instances...
Starting zoom...
$
but zoom windows does not show anything.
Hey guys , everything works for me with the execption of audio input/ouptut , I think that the problem is with the fact that I don't use systemd and I don't have elogind installed.
Because of that my pulseaudio socket gets created on tmp/ , is there a way to point the container into that ?
And if I may , how do I unninstall the zoom-us-wrapper script ?
Edit: Didn't read the full page, sorry
https://github.com/mdouchement/docker-zoom-us/actions/runs/4527606205/jobs/7973614378
#8 17.57 dpkg: dependency problems prevent configuration of zoom:
#8 17.57 zoom depends on libxcb-cursor0; however:
#8 17.57 Package libxcb-cursor0 is not installed.
Momentarily, screen sharing doesn’t work. It shows a black screen for other participants. This is probably a good default setting – I imagine it fails because Zoom cannot access what’s on your screen. It still would be nice to get it to work since it’s an essential feature for Zoom.
It appears that it's having trouble signing me in, I'm able to sign in the browser but the container is having trouble. I all it tells me in terms of errors is just a timeout error after it fails to connect.
When a meeting is saved the media files are transcoded and stored in the container but are not accessible to the user or persist on the host.
I've added to prepare_docker_volume_parameters()
VOLUMES+=" --volume=${DOWNLOAD_DIR}:/home/${ZOOM_US_USER}/Documents/Zoom"
and now the files are persistent and accessible by the user. It probably needs some logic to test whether the dir exists on the host as I'm not sure if ~/Downloads is widely used but I think it is, at least on Debian/Ubuntu and Fedora. I could throw together a PR with documentation if needed.
When using this container, we have two fields:
Enter meeting ID
Enter your name
When we receive an invitation with (meeting ?) pwd and secret such as below, are we supposed to enter the pwd in a certain way in the meeting ID field, or just give pwd and secret code when prompted ?
https://us02web.zoom.us/j/012345989?pwd=foobarbaz
ID : 012 345 6789
Secret code : abcdef
Meeting with just https://us02web.zoom.us/j/012345989
given needs only to enter 012345989
.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.