Skip to content

An open-source video conferencing solution, and alternative to Zoom

License

Notifications You must be signed in to change notification settings

openimsdk/openmeeting-server

Repository files navigation

👥 Join our community

Ⓜ️ About OpenMeeting

OpenMeeting is an open-source real-time audio and video conferencing system developed using Golang. OpenMeeting provides user management, meeting management, audio and video transmission, instant meetings, scheduled meetings, screen sharing, and more, aiming to offer users a convenient remote meeting experience. It is similar to Zoom and Tencent Meeting, with support for private deployment to ensure the security and privacy of enterprise and individual user data.

🌐 Introduction to OpenMeetingServer

  • OpenMeetingServer include:
    • Instant Meetings: Users can create instant meetings at any time, invite others to join, and engage in efficient remote communication.
    • Scheduled Meetings: Supports scheduling future meetings, setting meeting times and participants, and the system will remind users before the meeting starts.
    • Screen Sharing: Users can share their screens during meetings for demonstration and collaboration.
    • High-Quality Audio and Video: Provides high-quality audio and video transmission to ensure smooth meetings.
    • Multi-Platform Support: Supports various operating systems, including Windows, macOS, Linux, and more.
    • Microservices Architecture: Supports cluster mode, including a gateway and multiple RPC services.
    • Multiple Deployment Methods: Supports source code, Kubernetes, or Docker deployment.

Enhanced Business Features:

  • REST API:Provides REST API for business systems, offering client interfaces.
  • RPC API: Provides corresponding services through gRPC, including user and meeting, to extend more business forms.

🚀 Quick Start

To facilitate user experience, we provide multiple deployment solutions. You can choose the suitable deployment method from the list below:

OpenMeeting Server Source Code Deployment

1. Downloading the Source Code

git clone https://github.com/openimsdk/openmeeting-server.git && cd openmeeting-server

2. Deploying Related Dependencies Component (Etcd, MongoDB, Redis, LiveKit)

# install dependencies component
docker compose up -d

# Checking if Related Dependencies components are Running Properly
docker ps

3. Set external IP

Modify the `url` in `config/live.yml` to `ws://external_IP:17880` or a domain name.
Modify the `node_ip` in `components/livekit/config/livekit.yml` rtc tag to `external_IP`.

4. Initialization

Before the first compilation, execute on Linux/Mac platforms:

bash bootstrap.sh

On Windows execute:

bootstrap.bat

5. compile and run

mage && mage start

How to add user in meeting server

  • Replace your_ip_or_domain, your_userID, your_password, your_account, and your_nickname with the appropriate values. Then, run the command in your Bash terminal.
curl -X POST "http://your_ip_or_domain:11022/admin/user/register" \
-H "Content-Type: application/json" \
-H "operationID: 123456789" \
-d '{
  "password": "your_password",
  "account": "your_account",
  "nickname": "your_nickname"
}'
  • Then you can use this account's account and password to log in to the client.

System Support

Supports Linux, Windows, Mac systems, as well as ARM and AMD CPU architectures.

🔗 Related Links

✍️ How to Contribute

We welcome contributions of any kind! Before submitting a Pull Request, please ensure you have read our Contributor Documentation.

Thank you for your contributions, let's build a powerful instant audio and video conferencing system together!

📕 License

OpenMeeting is available under the GNU AFFERO GENERAL PUBLIC LICENSE 3.0. See the LICENSE file for more information.

🔮 Thanks to our contributors!

About

An open-source video conferencing solution, and alternative to Zoom

Resources

License

Security policy

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 4

  •  
  •  
  •  
  •