KatePang13 / ion

Distributed RTC System by pure Go and Flutter

Home Page:https://github.com/pion/ion/wiki

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Ion
Ion

A distributed RTC platform written in pure Go

Ion Open Collective Slack Widget Build Status Go Report Card License: MIT


Wiki

https://github.com/pion/ion/wiki

Architecture

arch

SDKs

ion-sdk-js contains a frontend typescript sdk.

ion-sdk-flutter contains a frontend flutter sdk.

ion.py contains a service discovery library for creating python services.

Applications

ion-app-web contains a frontend web application written in javascript.

ion-app-flutter contains a frontend web/iOS/Android application written in flutter.

Usage

Docker commands require the ionnet docker network

First run:

docker network create ionnet

Deployment

1. Clone

git clone https://github.com/pion/ion

2. Setup

Firstly pull images. Skip this command if you want build images locally

docker-compose pull

3. Run

docker-compose up

4. Expose Ports

(Skip if only exposing locally)

Ensure the following ports are exposed or forwarded.

5000-5200/udp

5. Frontend

Head over to Ion Web App to bring up the front end.

The web app repo also contains examples of exposing the ion biz websocket via reverse proxy with automatic SSL.

Roadmap

Projects

Contributing

We welcome contributions to Ion!

  • adwpc - Original Author - ion server
  • cloudwebrtc - Original Author - ion server and client sdk
  • kangshaojun - Contributor UI - flutter and react.js
  • Sean-Der - ion server and docker file
  • sashaaro - docker file
  • tarrencev - audio video process
  • jbrady42 - load testing, performance improvements, bug fixes

About

Distributed RTC System by pure Go and Flutter

https://github.com/pion/ion/wiki

License:MIT License


Languages

Language:Go 88.1%Language:Shell 9.8%Language:Python 1.3%Language:Dockerfile 0.7%Language:Makefile 0.2%