Skip to content

Instantly share code, notes, and snippets.

@bigsnarfdude
Last active March 25, 2025 15:47
Show Gist options
  • Save bigsnarfdude/f2ee29a0903bf42c943b0f7e2a32d722 to your computer and use it in GitHub Desktop.
Save bigsnarfdude/f2ee29a0903bf42c943b0f7e2a32d722 to your computer and use it in GitHub Desktop.
zoom_headless_linux_docker.md

Setting Up the Zoom Meeting SDK Linux Bot - Simple Guide for Beginners

Hey there! Let me walk you through setting up this Zoom bot on Linux in simple steps. This is perfect for someone who's just getting started with Linux.

What You'll Need

  • A computer running Linux
  • Docker installed
  • A Zoom account
  • Basic knowledge of the command line

Step 1: Install Docker

First, make sure Docker is installed on your computer. If it's not installed yet:

# For Ubuntu/Debian:
sudo apt update
sudo apt install docker.io docker-compose

# Start Docker service
sudo systemctl start docker
sudo systemctl enable docker

# Add yourself to Docker group (so you don't need sudo every time)
sudo usermod -aG docker $USER
# You'll need to log out and back in for this to take effect

Step 2: Get the Code

Open your terminal and run:

# Clone the repository (download the code)
git clone https://github.com/zoom/meetingsdk-headless-linux-sample.git

# Go into the folder
cd meetingsdk-headless-linux-sample

Step 3: Download the Zoom SDK

You need to download the Zoom SDK for Linux:

  1. Go to the Zoom Marketplace
  2. Sign in with your Zoom account
  3. Click on "Develop" at the top
  4. Go to "Build App" and select "Meeting SDK"
  5. Download the Linux version of the SDK
  6. Extract the downloaded file
  7. Copy the contents to the lib/zoomsdk folder in the project:
# Create the directory if it doesn't exist
mkdir -p lib/zoomsdk

# Copy the files (adjust the path to where you extracted the SDK)
cp -r /path/to/extracted/sdk/* lib/zoomsdk/

Step 4: Set Up Your Credentials

You need Zoom SDK credentials to use this bot:

  1. In your web browser, go to Zoom Developer Portal
  2. Sign in with your Zoom account
  3. Click "Build App" and choose "Meeting SDK"
  4. Name your app and create it
  5. Copy the Client ID and Client Secret

Now set up the configuration file:

# Copy the sample config
cp sample.config.toml config.toml

# Edit the config file
nano config.toml

In the editor, add your Client ID and Client Secret, and either a join URL or meeting ID and password:

# Zoom Meeting SDK Client ID
client-id="your_client_id_here"

# Zoom Meeting SDK Client Secret
client-secret="your_client_secret_here"

# Use a join-url or a meeting-id and password
join-url="https://zoom.us/j/1234567890?pwd=abcdefg"
# OR
# meeting-id="1234567890"
# password="abcdefg"

[RawAudio]
file="meeting-audio.pcm"

Save and exit the editor (in nano: press Ctrl+O, then Enter, then Ctrl+X).

Step 5: Build and Run

Now you can build and run the bot:

# Start the Docker container
docker compose up

This will build the code and start the bot. The first time might take a while as it downloads and installs everything needed.

What's happening?

  • The bot will connect to the Zoom meeting you specified
  • If configured, it will record audio to a file
  • You can see logs in the terminal showing what's happening

Troubleshooting

If something goes wrong:

  • Check that your Client ID and Secret are correct
  • Make sure your meeting ID and password (or join URL) are valid
  • Check the Docker logs for any error messages

To use this Zoom Meeting SDK application to join meetings outside your own workspace, you need proper approval from Zoom.

Here's the additional information about Zoom's requirements:

Zoom SDK Usage Requirements

  1. Marketplace App Approval:

    • You need to create a Zoom Marketplace app
    • Your app needs to go through Zoom's review process
    • Apps that join meetings programmatically receive extra scrutiny
  2. Permissions and Scopes:

    • By default, SDK apps can only join meetings within your own Zoom account/organization
    • Joining external meetings requires additional permissions that Zoom must explicitly approve
  3. Usage Limitations:

    • Zoom has strict policies about bots joining meetings without participant consent
    • There are rate limits on how many meetings you can join
    • Recording meetings may be further restricted

What This Means for You

If you're just experimenting or want to join your own meetings, you can use this code with a developer account. However, if you want to use this bot to join meetings hosted by others:

  1. You'll need to submit your app for review in the Zoom Marketplace
  2. Clearly explain your use case to Zoom
  3. Wait for approval before deploying it
  4. Follow Zoom's terms of service regarding recordings and participation
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment