https://github.com/openimsdk/openmeeting-server
An open-source video conferencing solution, and alternative to Zoom
https://github.com/openimsdk/openmeeting-server
Last synced: 5 months ago
JSON representation
An open-source video conferencing solution, and alternative to Zoom
- Host: GitHub
- URL: https://github.com/openimsdk/openmeeting-server
- Owner: openimsdk
- License: agpl-3.0
- Created: 2024-03-26T09:35:56.000Z (about 2 years ago)
- Default Branch: main
- Last Pushed: 2024-08-07T08:52:02.000Z (almost 2 years ago)
- Last Synced: 2024-08-07T09:48:59.062Z (almost 2 years ago)
- Language: Go
- Homepage:
- Size: 69.4 MB
- Stars: 23
- Watchers: 5
- Forks: 11
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- Contributing: docs/contributing/CONTRIBUTING-JP.md
- License: LICENSE
- Codeowners: docs/CODEOWNERS
Awesome Lists containing this project
README
## :busts_in_silhouette: 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.
[//]: # ()
## :rocket: Quick Start
To facilitate user experience, we provide multiple deployment solutions. You can choose the suitable deployment method from the list below:
[//]: # (+ **[Source Code Deployment Guide](https://github.com/openimsdk/openmeeting-server/blob/main/deployments/deployment.md)**)
### OpenMeeting Server Source Code Deployment
#### 1. Downloading the Source Code
```bash
git clone https://github.com/openimsdk/openmeeting-server.git && cd openmeeting-server
```
#### 2. Deploying Related Dependencies Component (Etcd, MongoDB, Redis, LiveKit)
```bash
# install dependencies component
docker compose up -d
# Checking if Related Dependencies components are Running Properly
docker ps
```
#### 3. Set external IP
```bash
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
bash bootstrap.sh
```
On Windows execute:
```bash
bootstrap.bat
```
#### 5. compile and run
```bash
mage && mage start
```
+ **[Docker Deployment Guide]()**
### 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.
```bash
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.
## :link: Related Links
+ **[Developer Manual]()**
+ **[Changelog]()**
## :writing_hand: How to Contribute
We welcome contributions of any kind! Before submitting a Pull Request, please ensure you have read our Contributor Documentation.
+ **[Report a Bug](https://github.com/openimsdk/openmeeting-server/issues/new?assignees=&labels=kind%2Fbug&projects=&template=bug-report.yaml&title=%5BBUG%5D+)**
+ **[Request a Feature](https://github.com/openimsdk/openmeeting-server/issues/new?assignees=&labels=feature+request&projects=&template=feature-request.yaml&title=%5BFEATURE+REQUEST%5D+)**
+ **[Submit a Pull Request](https://github.com/openimsdk/openmeeting-server/pulls)**
Thank you for your contributions, let's build a powerful instant audio and video conferencing system together!
## :closed_book: License
OpenMeeting is available under the GNU AFFERO GENERAL PUBLIC LICENSE 3.0. See the [LICENSE file](https://github.com/openimsdk/openmeeting-server/blob/main/LICENSE) for more information.
## 🔮 Thanks to our contributors!