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.
- 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.
- 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.
To facilitate user experience, we provide multiple deployment solutions. You can choose the suitable deployment method from the list below:
git clone https://github.com/openimsdk/openmeeting-server.git && cd openmeeting-server
# install dependencies component
docker compose up -d
# Checking if Related Dependencies components are Running Properly
docker ps
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`.
Before the first compilation, execute on Linux/Mac platforms:
bash bootstrap.sh
On Windows execute:
bootstrap.bat
mage && mage start
- 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.
Supports Linux, Windows, Mac systems, as well as ARM and AMD CPU architectures.
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!
OpenMeeting is available under the GNU AFFERO GENERAL PUBLIC LICENSE 3.0. See the LICENSE file for more information.