Giter Club home page Giter Club logo

bbb-hetzner's Introduction

⚠️ DEPRECATED ⚠️

Just use the Hetzner app image when creating a server. It works fine with smaller instances than the recommended server sizes if you just want it for a small conference. The setup in this repo no longer works and will not be maintained.

Deploy a temporary BigBlueButton instance to the Hetzner Cloud using terraform

This repository contains a terraform configuration to deploy BigBlueButton to the Hetzner Cloud using bbb-docker. The result is meant for temporary on-demand BBB instances, but could be modified for more permanent deployments.

Prerequisites

  • Terraform installation
  • Hetzner Cloud account and API token for the project you want to deploy to
  • Floating IPv4 address and 10GB volume inside the Hetzner Cloud project
  • Domain name with the DNS A-record pointing to the Hetzner Cloud floating IP address
  • ssh-keygen installed or ssh key without password protection

Setup

Rename terraform.tfvars.example to terraform.tfvars and add your desired configuration to it:

  • hcloud_token is your Hetzner Cloud API token
  • dnsname is the domain name which point to the floating IP
  • admin_email/pwd will be your admin crendentials of the newly created BBB installation

Set your desired values inside the variables.tf file (do NOT place the info contained in the terraform.tfvars inside this file as well!):

  • image: I only tested debian, you may try a different image without any guarantees
  • server_type: size of the server - I don't have much experience yet, but 3c/4g (cpx21) and 2c/8g (cx31) have worked with a few people so far. BBB recommends 8c/16g for "production use" - whatever that means
  • loaction: location of the server, choose the one closest to you. keep in mind the floating IP and the volume must be located at the same location! -floating_ip_/volume_name: names you have given the floating IP and volume
  • public/private_key_path: path to a public/private ssh key used to access the VM. this only seems to accept ssh keys without a password. You can execute the gen-tmp-key.sh which will create a new password-less ssh keypair inside a new tmp folder. Use ssh -i tmp/id_rsa root@<your-domain-name> to ssh into the VM.

Have a look at the user-data/bbb-env file to see if the settings are as desired. Keep in mind that this is what currently works for me, any change might break the installation.

Deployment

Run terraform init, terraform plan, and terraform apply to deploy the BBB server. Check the changes before typing yes at the apply step. Alternatively you can run the start.sh script after terraform init, which will output the progress of the init script.

The volume is used to store your LetsEncrypt certificate, your BBB greenlight users and the custom built docker images. This accelerates consecutive deployments and carries users over.

Once you don't need the server any more, run terraform destroy.

Acknowledgments

The following links were essential to the creation this project:

Licenses

This project has some copied/modified code from alangecker/bigbluebutton-docker, which is provided under the LGPL v3.0 licence. The copied/modified parts are:

bbb-hetzner's People

Contributors

staubichsauger avatar

Watchers

 avatar  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.