mirror of
https://github.com/michelleDeko/scalelite-run.git
synced 2026-02-05 07:40:55 +01:00
Updated documentation
This commit is contained in:
94
README.md
94
README.md
@@ -3,7 +3,6 @@
|
|||||||
This document provides instructions on how to deploy scalelite + redis behind a nginx proxy
|
This document provides instructions on how to deploy scalelite + redis behind a nginx proxy
|
||||||
using docker-compose.
|
using docker-compose.
|
||||||
|
|
||||||
|
|
||||||
## Prerequisites
|
## Prerequisites
|
||||||
|
|
||||||
- Install
|
- Install
|
||||||
@@ -16,14 +15,22 @@ using docker-compose.
|
|||||||
|
|
||||||
- [scalelite](https://cloud.docker.com/u/blindsidenetwks/repository/docker/blindsidenetwks/scalelite)
|
- [scalelite](https://cloud.docker.com/u/blindsidenetwks/repository/docker/blindsidenetwks/scalelite)
|
||||||
|
|
||||||
- Make sure you have your own DNS and a public domain name or a delegated one (e.g. <JOHN>.blindside-dev.com).
|
- Make sure you have your own DNS and a public domain name (e.g. example.com) or a delegated one (e.g. <JOHN>.blindside-dev.com).
|
||||||
|
|
||||||
|
|
||||||
## Preliminary steps
|
- As you have to have access to dockerhub private repositories sign in into docker hub with your account
|
||||||
|
with `docker login` any type your username and password using the stdin.
|
||||||
|
|
||||||
|
```
|
||||||
|
docker login
|
||||||
|
```
|
||||||
|
|
||||||
## Steps
|
## Steps
|
||||||
|
|
||||||
|
These steps were written for an Ubuntu 18.04 machine. It is assumed that your machine has the same (or a compatible version).
|
||||||
|
|
||||||
|
### Getting the scripts
|
||||||
|
|
||||||
Clone this repository:
|
Clone this repository:
|
||||||
|
|
||||||
```
|
```
|
||||||
@@ -31,20 +38,44 @@ git clone git@github.com:blindsidenetworks/scalelite-run.git
|
|||||||
cd scalelite-run
|
cd scalelite-run
|
||||||
```
|
```
|
||||||
|
|
||||||
Copy `dotenv` file located in the root of the project as `.env` and edit it
|
Copy `dotenv` file located in the root of the project as `.env` and edit it
|
||||||
|
|
||||||
```
|
```
|
||||||
|
cp dotenv .env
|
||||||
vi .env
|
vi .env
|
||||||
```
|
```
|
||||||
|
|
||||||
You will need to replace both variables as in:
|
You need to replace the variable `HOST_NAME=sl.xlab.blindside-dev.com` with a hostname under your own domain name (e.g. `HOST_NAME=sl.john.blindside-dev.com`) or delegated sub-domain.
|
||||||
`DOMAIN_ROOT=bigbluebutton.org` to the one assigned to you (e.g. `DOMAIN_ROOT=blindside-dev.com`)
|
|
||||||
`DOMAIN_SUB=lab` to the one assigned to you (e.g. `DOMAIN_SUB=<JOHN>`)
|
|
||||||
|
|
||||||
Create your own SSL Letsencrypt certificates. As you are normally going to
|
|
||||||
have this deployment running on your own computer (or in a private VM), you
|
Copy `dotenv` file located in the scalelite directory as `.env` and in the same way as before, edit it:
|
||||||
need to generate the SSL certificates with certbot by adding the challenge to
|
|
||||||
your DNS.
|
```
|
||||||
|
cp scalelite/dotenv scalelite/.env
|
||||||
|
vi scalelite/.env
|
||||||
|
```
|
||||||
|
|
||||||
|
You can start it as is, but you may want to replace both variables with your own values.
|
||||||
|
|
||||||
|
`SECRET_KEY_BASE` is the Ruby On Rails secret key and should be replaced with a random one generated with `bundle exec rake secret`
|
||||||
|
|
||||||
|
`LOADBALANCER_SECRET` is the shared secret used by external applications for accessing the Load Balancer as if it was a BigBlueButton server. By default, it includes the Secret used for test-install (which is also the first server added to the pool as example).
|
||||||
|
|
||||||
|
|
||||||
|
### Using SSL Letsencrypt in the cloud
|
||||||
|
|
||||||
|
If all the previous steps were followed properly and the machine is accessible in the Internet, only execute:
|
||||||
|
|
||||||
|
```
|
||||||
|
./init-letsencrypt.sh
|
||||||
|
```
|
||||||
|
|
||||||
|
This will generate the SSL certificates and run scalelite for the first time, so all the required files are automatically generated.
|
||||||
|
|
||||||
|
|
||||||
|
### Using SSL Letsencrypt certificate in private Networks
|
||||||
|
|
||||||
|
If you are trying to install scalelite locally or in a private network, the process is more manual. You need to generate the SSL certificates with certbot by adding the challenge to your DNS.
|
||||||
|
|
||||||
Install letsencrypt in your own computer
|
Install letsencrypt in your own computer
|
||||||
|
|
||||||
@@ -94,20 +125,10 @@ Copy the certificates to your scalelite-run directory. Although `/etc/letsencryp
|
|||||||
holds the latest certificate, they are only symbolic links. The real files must be copied and renamed
|
holds the latest certificate, they are only symbolic links. The real files must be copied and renamed
|
||||||
|
|
||||||
```
|
```
|
||||||
cp -R /etc/letsencrypt/archive/sl.<JOHN>.blindside-dev.com <YOUR ROOT>/scalelite-run/nginx/letsencrypt/live
|
cp -R /etc/letsencrypt <YOUR ROOT>/scalelite-run/data/certbot/conf
|
||||||
```
|
```
|
||||||
|
|
||||||
```
|
### Starting the application
|
||||||
cd <YOUR ROOT>/scalelite-run/nginx/letsencrypt/live/sl.<JOHN>.blindside-dev.com/
|
|
||||||
mv cert1.pem cert.pem
|
|
||||||
mv chain1.pem chain.pem
|
|
||||||
mv fullchain1.pem fullchain.pem
|
|
||||||
mv privkey1.pem privkey.pem
|
|
||||||
```
|
|
||||||
|
|
||||||
As you have to have access to dockerhub private repositories sign in into docker hub with your account
|
|
||||||
with `docker login -u <YOUR_USERNAME> -p <YOUR_PASSWORD>` or `docker login -u <YOUR_USERNAME>` if you
|
|
||||||
want to type your password using the stdin
|
|
||||||
|
|
||||||
And finally, start your environment with docker-compose
|
And finally, start your environment with docker-compose
|
||||||
|
|
||||||
@@ -122,3 +143,30 @@ end you will have access to scalelite through:
|
|||||||
```
|
```
|
||||||
https://sl.<JOHN>.blindside-dev.com/bigbluebutton/api
|
https://sl.<JOHN>.blindside-dev.com/bigbluebutton/api
|
||||||
```
|
```
|
||||||
|
|
||||||
|
Note that you can always run the application in the background `docker-compose up -d`
|
||||||
|
|
||||||
|
### Final Steps
|
||||||
|
|
||||||
|
As the only BigBlueButton Server configured by default is test-install, this comes intentionally disabled. You would have to either enable it or to add new ones. Either way this has to be done through the console.
|
||||||
|
|
||||||
|
Open a new console and get the ids of the docker containers running:
|
||||||
|
|
||||||
|
```
|
||||||
|
docker ps
|
||||||
|
```
|
||||||
|
|
||||||
|
Get into the container running the api
|
||||||
|
|
||||||
|
```
|
||||||
|
docker exec -it <CONTAINER_ID> sh
|
||||||
|
```
|
||||||
|
|
||||||
|
Once inside, you can see execute all the rails commands as needed. In this case, lets assume that you want to enable the current BigBlueButton server
|
||||||
|
|
||||||
|
```
|
||||||
|
bundle exec rake servers
|
||||||
|
bundle exec rake servers:enable["SERVER_ID_AS SHOWN"]
|
||||||
|
```
|
||||||
|
|
||||||
|
For more information on what rake commands can be executed, see scalelite documentation.
|
||||||
|
|||||||
@@ -14,7 +14,7 @@ services:
|
|||||||
- ./nginx/sites.template:/etc/nginx/sites-available/sites.template
|
- ./nginx/sites.template:/etc/nginx/sites-available/sites.template
|
||||||
- ./nginx/default/html:/var/www/html
|
- ./nginx/default/html:/var/www/html
|
||||||
- ./nginx/log/nginx:/var/log/nginx
|
- ./nginx/log/nginx:/var/log/nginx
|
||||||
- ./data/certbot/conf/live:/etc/letsencrypt/live
|
- ./data/certbot/conf:/etc/letsencrypt
|
||||||
- ./data/certbot/www:/var/www/certbot
|
- ./data/certbot/www:/var/www/certbot
|
||||||
ports:
|
ports:
|
||||||
- "80:80"
|
- "80:80"
|
||||||
|
|||||||
Reference in New Issue
Block a user