ION is extensible video conferencing software that builds on a distributed RTC System using Go and Flutter. It is part of a larger PION open source project.
GitHub Link: https://github.com/pion/ion
Some strengths of ion, as listed by one of the core contributors:
This textbox defaults to using Markdown to format your answer.
You can type !ref in this text area to quickly search our full set of tutorials, documentation & marketplace offerings and insert the link!
I installed it on a $15 3 CPU/1GB RAM/60GB SSD Droplet with the DigitalOcean Docker One-Click image.
Because the developers have containerized everything in Docker, the only software you need pre-installed is:
The last prerequisite is **a domain **to point to your server. Without a domain, you can’t easily connect via HTTPS, and some browsers block audio/video features on HTTP connections.
here’s a 2 minute video walkthrough of installation [youtube tE7sR4q2FDA 350 595]
With git, Docker, and docker-compose installed. If you’re using DigitalOcean the Docker One-Click has all this, if you’re installing from scratch you can reference how to install git and how to install docker
One magical feature of ion is that if you are using a domain, the startup process uses Let’s Encrypt to automatically generate SSL certs for the app. This step is important because some modern browsers will block video/audio streaming on non-secure (HTTP) connections.
ion repouse git to clone the latest version of the ion codebase onto your server, once it is complete, move to the new ion directory.
- git clone https://github.com/pion/ion
- cd ion
Specify your domain and email address to use in the Let’s Encrypt registration process via environment variables
- export WWW_URL=yourdomain.com
- export ADMIN_EMAIL=your@email.com
These will be used to generate SSL certs in the automated setup that runs next.
via docker-compose:
- docker-compose up
This will start the app and log all output of all containers to your commandline, exiting via the commandline will stop the app. If you want to run it in the background you can use docker-compose up -d for daemon mode.
Once you see in the logs that the app has been successfully initialized (sometimes the Let’s Encrypt process can take a couple minutes) access the site at https://yourdomain.com:8080. You should see a login screen where you enter a room name, and your nickname.
Depending on your browser, you’ll need to grant access to camera and microphone, and enable video autoplay.
At this point ion behaves very much like most video conferencing apps, you can generate a share link to send others, you can mute/unmute and turn video on and off, and message other participants via text.
ion looks very good, especially for those who are interested in developing something more on top of an open source video conferencing stack, and those who are interested in running video conferencing with limited resources.
Upon first impression, it stands out from the others in that the software uses very low amount of resources.
One part that I still need to dig into is how is the video streamed. When video conference software fully utilizes webRTC, each video stream is just going peer-to-peer instead of through the server, and conferences with more than 4 participants can quickly overwhelm a good internet connection.
Get paid to write technical tutorials and select a tech-focused charity to receive a matching donation.
Full documentation for every DigitalOcean product.
The Wave has everything you need to know about building a business, from raising funding to marketing your product.
Stay up to date by signing up for DigitalOcean’s Infrastructure as a Newsletter.
New accounts only. By submitting your email you agree to our Privacy Policy
Scale up as you grow — whether you're running one virtual machine or ten thousand.
Sign up and get $200 in credit for your first 60 days with DigitalOcean.*
*This promotional offer applies to new accounts only.