Giter Site home page Giter Site logo

stadtulm / a13-ansible Goto Github PK

View Code? Open in Web Editor NEW
19.0 8.0 11.0 4.98 MB

No longer maintained - Ansible playbook for a bigbluebutton cluster for multiple schools. A13 because internal codename was Apollo 13 ;)

Home Page: https://ulmlernt.de/

License: MIT License

Shell 12.55% HTML 5.86% Jinja 81.58%
bigbluebutton

a13-ansible's Introduction

a13-ansible

This repository is no longer maintained. Currently (12/2021) maintained ansible roles for BBB can be found here:

Prepare

Install modules

ansible-galaxy install -r requirements.yml

Note: cloudalchemy.node-exporter requires the gnu variant of tar on macOS. (brew install gnu-tar)
Note: cloudalchemy.prometheus requires the jmespath python module on your (deployer) machine

Passwords

You need to create the file vault_password and put the ansible vault password in there.

SSH Host Keys

Get all SSH host keys and store in local .ssh/known_hosts file by executing following skript

ansible-playbook helper/store_known_hosts.yml

Run

ansible-playbook main.yml

HowTo

Add new machine

  • Update DNS zonefile in files/coredns/zones/
  • add A and AAAA records
  • update serial (yyyymmddvv with vv being the version increment. E.g., 2020040101)
  • Update DNS by ansible-playbook main.yml --tags dns
  • Enter Hostname twice in inventory, below [all] and below the other role the machine should have, eg. [bbb]
  • Confirm that you can ssh into the machine by its newly aquired dns name (this also adds the host key to your ~/.ssh/known_hosts)
  • run ansible-playbook main.yml -l your.fresh.hostname.example (you may need --user root if you don't have an user yet, the base role creates one for you)
  • ...?
  • register your new bbb instance:
    • at the monitoring by running ansible-playbook main.yml --tags monitoring
    • at the loadbalancer by running ansible-playbook main.yml --tags config
  • enable it manually in the loadbalancer

Things to tell your Network Admin

  • Proxy exeptions for IPv4 adress of turnserver

a13-ansible's People

Contributors

robbi5 avatar sebastianfischer avatar stkdiretto avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

a13-ansible's Issues

greenlight: email Verifikation / pw Reset muss mehrmals ausgelöst werden

soweit wir das aus dem "Supportraum" sehen können haben die meisten Nutzer haben keine Probleme mit Nutzerverifikation / E-Mail Reset. Allerdings hatten ca. 20 - 30 Nutzer (grobe Schätzung) was ungefähr 10% der Nutzer entspricht das Problem, dass der erste Link für E-Mail Verifikation / PW-Reset auf eine 404 Seite führt. Meist reicht die Anweisung die Verifikation / PW Reset noch mal auszulösen.

Allerdings gabs auch solche Fälle. Chat Verlauf aus Rocket Chat 01. Mai ~18 Uhr:

A: Guten Tag, ich hab seit mehreren Tagen das Problem, dass der Verifizierungslink auf die Fehlerseite führt. Habe auch schon nachgelesen und befolgt, was auf der Seite steht: Seite wieder verlassen, neu einloggen, etc. Es will nicht funktionieren.
B: Hai, ging es auch nicht mit zuschicken-lassen eines neuen Verifizierungslinks? Bzw war das das „neu einloggen etc.“?
A: Nein, habe mittlerweile schon vier oder fünf neue Links schicken lassen. kamen alle an aber gingen immer auf die Fehlerseite
B: huch spannend. Ich schau mal, was ich machen kann, moment
A: Danke
B: ich hab nochmal einen haendischen Reset gemacht, es muesste nun eine Mail mit Aufforderung zum neu setzen des Passworts gekommen sein
A: so, habe das neue passwort gesetzt. Jetzt einloggen und wieder einen Link anfordern?
b: genau
A: tab schließen? oder egal?
B: hmm sollt eigentlich keinen unterschied machen
A: perfekt. hat funktioniert. vielen Dank!!! Auch dass so schnell reagiert wird. top!

branding (logo fonts etc.)

continious branding (logo, fonts)

  • logo greenlight (consti, nancy)
  • willkommens-text im bbb-chat, in GL anpassen?

going upstream / grafana

going upstream

bbb-exporter grafanavorlage mit node_exporter
bbb-exporter disable recording metrics

Turnserver turn01 not working

BBB Hosts with additional turnserver turn01 have had problems (no audio, video, media).

current solution: switch all bbb hosts to turn02

Both (turn01/turn02) hosts should be configured same, but apparantly not.

only difference so far:

ufw status turn02:

OpenSSH                    LIMIT       Anywhere
node-exporter              ALLOW       Anywhere
letsencrypt                ALLOW       Anywhere
turnserver                 ALLOW       Anywhere
OpenSSH (v6)               LIMIT       Anywhere (v6)
node-exporter (v6)         ALLOW       Anywhere (v6)
letsencrypt (v6)           ALLOW       Anywhere (v6)
turnserver (v6)            ALLOW       Anywhere (v6)

Ausgabe ufw status turn01:

OpenSSH                    LIMIT       Anywhere
node-exporter              ALLOW       Anywhere
letsencrypt                ALLOW       Anywhere
turn443                    ALLOW       Anywhere
turnserver                 ALLOW       Anywhere
OpenSSH (v6)               LIMIT       Anywhere (v6)
node-exporter (v6)         ALLOW       Anywhere (v6)
letsencrypt (v6)           ALLOW       Anywhere (v6)
turn443 (v6)               ALLOW       Anywhere (v6)
turnserver (v6)            ALLOW       Anywhere (v6)

restic: backup rotation / auto-generated connection pw / ...

Was geht

  • Restic Rest-Server inkl. TLS und Auth läuft. Backup Clients können nur auf ihr repository zugreifen und auch nur backups hinzufügen
  • Client backup für greenlight und dokuwiki läuft stündlich 8-22 Uhr
  • Vorlagen für backup tasks "directory" und "postgres DB" siehe roles/restic-client/templates

Todo:

  • Backup rocketchat + was sonst noch gebackupt werden sollte
  • Backup Cleanup nach 14 Tagen ist noch nicht eingerichtet. Muss auf Server geschehen, weil Backup - clients nur read-only auf alte Backups zugreifen können. Ist gewollt so
  • Doku

nicht so schön gelöst/keine bessere Möglichkeit gefunden

  • automatisch generierte Passwörter für AUTH von restic rest-server. Hab das gerade hardcoded mit vault encrypt_string in vars.yml hinterlegt
  • Passwörter sind in den Backupskripten unter /srv/restic/{{ backup_name}} `hinterlegt (nur root hat Zugriff).
  • der Task Ensure backup repository for {{ backup_name }} in roles/restic-client/tasks/main.yml sollte eigentlich nur einmal laufen und sich nicht ständig ändern....
  • alle Backups laufen unter root..

Implement Firewall Rules for Hetzner

aus Matrix / Slack Channel:
Wenn ihr BBBs bei Hetzner habt, nutzt bitte die Router ACLs damit die Switche den Traffic von euren Servern weg halten, das stört sonst auch einige andere Hetzner Kunden. Inbound alles droppen außer tcp 22, tcp 443 und udp alles ab Port 16384. https://docs.hetzner.com/robot/dedicated-server/firewall/

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.