Chat

Chat

Chat är ett VM som kör på Marlin vilket i sin tur kör flera Matrix relaterade LXD-containers. Direkt på VM:et chat hörs en HAProxy vars configuration (/etc/haproxy/haproxy.cfg) skickar trafik till respektive tjänst.

Let's Encrypt

Körs direkt på chat, regler i HAproxy som fångar /.well-known/acme-challenge/

Element Web

Körs i en LXD-container som heter riot-client. Projektet gick under det namnet när vi satte upp tjänsten. Den fångar vanlig https trafik till chat.stacken.kth.se och skickar den till en nginx som körs inne i den containern.

Den är väldigt vanilla uppsatt, i /var/www/html ligger element web uppackad. Jag brukar göra något i stil med det här när jag uppgraderar den:

   cd /var/www/
   wget https://github.com/vector-im/element-web/releases/download/v1.11.49/element-v1.11.49.tar.gz
   rm -rf html-old
   mv html/ html-old
   tar xf element-v1.11.49.tar.gz
   mv element-v1.11.49 html
   chown root:root -R html
   cp html-old/config.json html
   cd html
   git diff config.sample.json config.json

Matrix Server (Synapse)

Körs i en LXD-container som heter matrix-server. Använder det officiella apt-repot för att installera synapse. Var försiktig och läs uppgraderingsinstruktionerna innan du bara gör en update. Det sker breaking changes i bland och man behöver uppdatera matrix-serverns configuration, eller andra beroenden.

admin-användaren (Stacken-användaren)

Det finns en användare som heter admin@stacken.kth.se (Stacken) som t.ex. är Admin i #stacken-rummet. Lösenordet för den användaren hittar du om du loggar in på servern och kollar runt lite. För mindre kryptisk förklaring fråga User:Nsg

Det är endast admin@stacken.kth.se som är tänk att vara Admin i Stacken-rum. Personer som behöver utökade rättigheter (som att kicka/banna folk) görs till moderatorer. Det är för att det kan vara klurigt att bli av med en Admin så som rättighetsmodellen är uppsatt. Det finns oftast även liten poäng för en användare att vara Admin.

PostgreSQL

Kör i en LXD-container som heter postgres och gör vad du tror. Används av matrix-server.