hermes

command module
v0.0.0-...-15f75d5 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Apr 9, 2022 License: Apache-2.0 Imports: 1 Imported by: 0

README

Hermes

Signaling server over EMQX for WebRTC. It uses MongoDB to manage rooms and EMQX for sending(receiving) events to(from) clients.

WebRTC

WebRTC is direct peer-to-peer connection which is done using WebRTC API in browsers and mobile applications. But for starting a group call, it requires a mechnaism to share peers address and connectivity information with each other. This mechanism is called Signaling. It keeps an open connection with each peer to exchange peers' address, connectivity info, and room events.

Run Locally

Run command make up to run Hermes and dependencies locally. to kill the services run make down.

Deployment

Deploy EMQX and MongoDB services and pass their configurations to hermes values.yaml. Use Helm to deploy Hermes's Chart. corresponding command is make deploy. and to bring down the Hermes run make deployd.

Other Useful Commands

  • make croom: create a test room
  • make jroom: join a user to a room. (pass room_id parameter)
  • make image: build image and push to registry

Warning

Please update parameters in Makefile and configuration in deployment/hermes/values.yaml and internal/config/default.go for the project to run properly. If necessary, you can create a config.yaml file in root directory to pass configuration.

Documentation

Overview

Copyright © 2022 Mehdi Teymorian

Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at

http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.

Directories

Path Synopsis
Package cmd Copyright © 2022 Mehdi Teymorian
Package cmd Copyright © 2022 Mehdi Teymorian
internal
db
emq
log

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL