All Projects → gjovanov → Roomler

gjovanov / Roomler

Licence: agpl-3.0
Roomler - Multi-party Video Conferencing & Team Collaboration Tool using WebRTC (Janus Gateway)

Programming Languages

javascript
184084 projects - #8 most used programming language

Projects that are alternatives of or similar to Roomler

Full Stack Notes
全栈工程师手册
Stars: ✭ 366 (+128.75%)
Mutual labels:  redis, mongodb, nginx
Shell
Infrastructure Management Shell - Linux
Stars: ✭ 381 (+138.13%)
Mutual labels:  redis, mongodb, nginx
Awesome Programming Books
📚 经典技术书籍推荐,持续更新...
Stars: ✭ 3,472 (+2070%)
Mutual labels:  redis, mongodb, nginx
Springbootunity
rabbitmq、redis、scheduled、socket、mongodb、Swagger2、spring data jpa、Thymeleaf、freemarker etc. (muti module spring boot project) (with spring boot framework,different bussiness scence with different technology。)
Stars: ✭ 845 (+428.13%)
Mutual labels:  redis, mongodb, nginx
Phalcon Vm
Vagrant configuration for PHP7, Phalcon 3.x and Zephir development.
Stars: ✭ 43 (-73.12%)
Mutual labels:  redis, mongodb, nginx
Production Ready Expressjs Server
Express.js server that implements production-ready error handling and logging following latest best practices.
Stars: ✭ 101 (-36.87%)
Mutual labels:  redis, mongodb, nginx
Notebook
🍎 笔记本
Stars: ✭ 381 (+138.13%)
Mutual labels:  redis, mongodb, nginx
Netkiller.github.io
Netkiller Free ebook - 免费电子书
Stars: ✭ 861 (+438.13%)
Mutual labels:  redis, mongodb, nginx
Docker Vue Node Nginx Mongodb Redis
🐉 An awesome boilerplate, Integrated Docker, Vue, Node, Nginx, Mongodb and Redis in one, Designed to develop & build your web applications more efficient and elegant.
Stars: ✭ 34 (-78.75%)
Mutual labels:  redis, mongodb, nginx
Vue Family Bucket Ssr Koa2 Full Stack Development From Meituan
🚀🚀2020最新Vue全家桶+SSR+Koa2全栈开发☁
Stars: ✭ 100 (-37.5%)
Mutual labels:  redis, mongodb, nuxtjs
Vagrant Elastic Stack
Giving the Elastic Stack a try in Vagrant
Stars: ✭ 131 (-18.12%)
Mutual labels:  redis, mongodb, nginx
Sourcecodeofmongoredis
《左手MongoDB,右手Redis——从入门到商业实战》书籍配套源代码。
Stars: ✭ 135 (-15.62%)
Mutual labels:  redis, mongodb
Monitaure
🔔 A server uptime monitoring progressive web application - NO LONGER MAINTAINED
Stars: ✭ 135 (-15.62%)
Mutual labels:  mongodb, nginx
E3 Springboot
SpringBoot+Docker重构宜立方商城
Stars: ✭ 139 (-13.12%)
Mutual labels:  redis, nginx
Bricks
A standard library for microservices.
Stars: ✭ 142 (-11.25%)
Mutual labels:  redis, mongodb
Nosqlmap
Automated NoSQL database enumeration and web application exploitation tool.
Stars: ✭ 1,928 (+1105%)
Mutual labels:  redis, mongodb
Lovinghome Real Estate Platform
⚡️基于springboot+MyBatis+FreeMarker+redis+nginx+Echarts+druid等技术的JavaWeb项目------恋家房产平台(采用B/S架构,项目包含前后台,分为前台展示系统及后台管理系统。前台系统包含首页门户、登录注册、房产推荐、房产详情、热门房产、房产及小区搜索、经纪人列表及经纪机构创建、创建房产、房产百科、地图找房、用户个人中心、房产评论、房产打分等模块。 后台管理系统包含房产信息管理、用户管理、管理员管理、小区信息管理、博客管理、评论管理、经纪人管理、系统统计与多种图表展示、数据报表导入导出等模块。系统介绍及详细功能点、技术点见项目内文档描述)
Stars: ✭ 140 (-12.5%)
Mutual labels:  redis, nginx
Cachego
Golang Cache component - Multiple drivers
Stars: ✭ 148 (-7.5%)
Mutual labels:  redis, mongodb
Express Mongodb Rest Api Boilerplate
A boilerplate for Node.js apps / Rest API / Authentication from scratch - express, mongodb (mongoose).
Stars: ✭ 153 (-4.37%)
Mutual labels:  redis, mongodb
Pychat
webchat via WebSockets/WebRTC that allows messaging/video call/screen sharing
Stars: ✭ 152 (-5%)
Mutual labels:  redis, webrtc

Roomler

Roomler.Live - Live video conferencing & collaboration tool using WebRTC (Janus Gateway)

It's like Slack on Crack and Microsoft Teams on Steroids. All that fully free and open source.

Roomler Intro

Features

MULTI PARTY CALLS POWERFUL CHAT ORGANIZED ROOMS
  • [x] Video
  • [x] Audio
  • [x] Screen share
  • [x] Encrypted
  • [x] up to 50 call participants
  • [x] Rich-text
  • [x] File sharing
  • [x] Emojis & Giphy's
  • [x] Mentions
  • [x] Reactions
  • [x] Public Rooms
  • [x] Private Rooms
  • [x] Hierarchy of Rooms
  • [x] User invite system
  • [x] Owner, moderator & member roles

Technology stack

Architecture

Architecture

Prerequisites

Roomler requires:

  • docker engine being installed on your host machine
  • two docker networks being created
  • environment variables being setup
  • serveral micro services up and running

before we can start Roomler (both in development and production environemnt)

Docker network

Besides the default host Docker network, we need to create two addition bridge networks:

  1. docker network create frontend (used by containers roomler, nginx)
  2. docker network create backend (used by containers roomler, mongo, redis)
  3. on the existing host network janus and coturn will be attached

Microservice dependencies

Environment variables

You need to setup all your Required (even Optional if desired) environment variables, before you can run Roomler

Start Roomler App

Start in development mode

# install dependencies
$ npx lerna bootstrap

# Start API server (localhost:3001)
$ yarn run dev:api

# Start UI server (localhost:3000)
$ yarn run dev:ui

Start in production mode

# install dependencies
$ npx lerna bootstrap --scope roomler.ui

# build for production and launch server
$ yarn run build
$ yarn run start

Start in production mode using docker

Docker build

.scripts/build.sh

Docker release

.scripts/release.sh

Docker run

docker run -d --name roomler \
    --hostname roomler \
    --network backend \
    --restart always \
    -v /path_to_your_uploads_folder:/roomler/packages/ui/static/uploads \
    -e API_URL=https://roomler.live \
    -p 8082:3000 \
    -e DB_CONN=YOUR_DB_CONN \
    -e WS_SCALEOUT_ENABLED=true \
    -e WS_SCALEOUT_HOST=redis \
    -e SENDGRID_API_KEY=YOUR_SEND_GRID_KEY \
    -e FACEBOOK_ID=YOUR_FACEBOOK_ID \
    -e FACEBOOK_SECRET=YOUR_FACEBOOK_SECRET \
    -e GOOGLE_ID=YOUR_GOOGLE_ID \
    -e GOOGLE_SECRET=YOUR_GOOGLE_SECRET \
    -e GITHUB_ID=YOUR_GITHUB_ID \
    -e GITHUB_SECRET=YOUR_GITHUB_SECRET \
    -e LINKEDIN_ID=YOUR_LINKEDIN_ID \
    -e LINKEDIN_SECRET=YOUR_LINKEDIN_SECRET \
    -e MICROSOFT_ID=YOUR_MICROSOFT_ID \
    -e MICROSOFT_SECRET=YOUR_MICROSOFT_SECRET \
    -e TURN_URL=YOUR_TURN_URL \
    -e TURN_USERNAME=YOUR_TURN_USERNAME \
    -e TURN_PASSWORD=YOUR_TURN_PASSWORD \
    -e GIPHY_API_KEY=YOUR_GIPHY_KEY \
    -e GOOGLE_ANALYTICS_ID=YOUR_GOOGLE_ANALYTICS_ID \
    -e SUPER_ADMIN_EMAILS='["[email protected]"]' \
    -e WEB_PUSH_CONTACT="mailto: [email protected]" \
    -e WEB_PUSH_PUBLISH_KEY=YOUR_VAPID_PUBLIC_KEY \
    -e WEB_PUSH_PRIVATE_KEY=YOUR_VAPID_PRIVATE_KEY \
    -e NUXT_TELEMETRY_DISABLED=1 \
    gjovanov/roomler

# attach roomler container to backend network
docker network connect backend roomler

Start in production mode using docker-compose

docker-compose up - this will start the whole docker stack of services

Testing

Run API tests

# makes sure MongoDB is reachable based on /config/index.js (dbSettings)
$ yarn run test:api

Run E2E tests (TODO)

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].