Giter Site home page Giter Site logo

cristhianbh98 / scalelite-run Goto Github PK

View Code? Open in Web Editor NEW

This project forked from jfederico/scalelite-run

0.0 0.0 0.0 11.8 MB

A simple deployment as for production using docker-compose

License: GNU Affero General Public License v3.0

Shell 100.00%

scalelite-run's Introduction

scalelite-run

A simple way to deploy Scalelite as for production using docker-compose.

Overview

Scalelite is an open-source load balancer, designed specifically for BigBlueButton, that evenly spreads the meeting load over a pool of BigBlueButton servers. It makes the pool of BigBlueButton servers appear to a front-end application such as Moodle [2], as a single and yet very scalable BigBlueButton server.

It was released by Blindside Networks under the AGPL license on March 13, 2020, in response to the high demand of Universities looking into scaling BigBlueButton in response to the COVID-19 pandemic lock-downs.

The full source code is available on GitHub and pre-built docker images can be found on DockerHub.

Scaleite itself is a ruby on rails application.

For its deployment it is required some experience with BigBlueButton and Scalelite itself, and all the tools and components used as part of the stack such as redis, postgres, nginx, docker and docker-compose, as well as ubuntu and AWS infrastructure.

For those new to system administration or any of the components mentioned the article Scalelite lazy deployment is a step-by-step guide on how to complete a full installation of Scalelite on AWS using this script. Also Scalelite lazy deployment (Part II) is a step-by-step guide to complete the installation with support for recordings.

Installation (short version)

On an Ubuntu 22.04 machine available to the Internet (AWS EC2 instance, LXC container, VMWare machine etc).

Prerequisites

This machine needs to be updated and have installed:

Fetching the scripts

git clone https://github.com/jfederico/scalelite-run
cd scalelite-run

Initializing environment variables

Create a new .env file based on the dotenv file included.

cp dotenv .env

Most required variables are pre-set by default, the ones that must be set before starting are:

SECRET_KEY_BASE=
LOADBALANCER_SECRET=
URL_HOST=

Obtain the value for SECRET_KEY_BASE and LOADBALANCER_SECRET with:

sed -i "s/SECRET_KEY_BASE=.*/SECRET_KEY_BASE=$(openssl rand -hex 64)/" .env
sed -i "s/LOADBALANCER_SECRET=.*/LOADBALANCER_SECRET=$(openssl rand -hex 24)/" .env

Set the hostname on URL_HOST (E.g. sl.example.com)

sed -i "s/URL_HOST=.*/URL_HOST=sl.example.com" .env

Start the services.

docker-compose up -d

Now, the scalelite server is running, but it is not quite yet ready. The database must be initialized.

docker exec -i scalelite-api bundle exec rake db:setup

scalelite-run's People

Contributors

jfederico avatar ffdixon avatar schwzr avatar farhatahmad avatar aminvakil avatar tezvi avatar hokascha avatar werk21 avatar momen7899 avatar pielonet avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.