Betrieb vom Discourse

Moin @christian,

großartige Sache, die wir jetzt hier am Start haben :heart:
Folgende Themen wĂŒrde ich gerne noch nĂ€her besprechen.

Backups

  • Wie wollen wir Offsite-Backups von den Discourse-Backups machen?
  • Machen wir automatische Snapshots der VM?
  • Wie stellen wir sicher, dass Backups regelmĂ€ĂŸig erstellt werden und restorable sind?

ZugÀnge

OS / Updates

  • Was fĂŒr ein OS & Version nutzen wir auf der VM?
  • Sind unattended Upgrades aktiviert?

Config as Code & Disaster Recovery

  • Können wir die Konfiguration des Discourse in einem git Repo versionieren und damit auch dokumentieren?
  • Wie aufwĂ€ndig ist es, die Konfiguration nur per CI aus dem git aktualisieren zu lassen?
  • Gibt es eventuell ein Ansible-Playbook oder eine Ă€hnliche automatische Provisionierungs-Methode?
  • Wie bekommen wir unser Discourse auf einer frischen VM wiederhergestellt?

Ich ergÀnze die Antworten auf die Fragen gerne in diesem Post, damit hier erst mal die Doku steht.

Moin @marcus,

freut mich das ich helfen kann.

Ich denke das lĂ€sst sich recht einfach direkt mit discourse machen, discourse kann regelmĂ€ĂŸig backups machen und die lokal oder auf s3 ablegen. Ich persönlich wĂŒrde vorschlagen einen aws account anzulegen mit einem privaten s3 bucket anzulegen und die backups automatisch da rein zu schreiben.

Da auf der Kiste nur ein discourse lĂ€uft halte ich das nicht fĂŒr nötig, das Betriebsystem ist schnell wieder neu installiert, ebenso das discourse. Datenbanken mögen eh nicht so gerne Snapshots wenn sie laufen, daher mĂŒssten wir die Datenbank am besten fall anhalten fĂŒr den Snapshot, braucht also im Zweifelsfall downtime.

Das ist eine schwerer Frage, da wir keine Monitoring haben (wollen wir ein eignes Monitoring aufbauen?) mĂŒssten wir einen externen Services nutzen wie den sehr guten https://deadmanssnitch.com/ der einen informiert wenn ein cronjob oder Ă€hnliches nicht lĂ€uft. FĂŒr das restoreable mĂŒssten wir regelmĂ€ĂŸig restores machen. Ich schlage einmal im Jahr vor, wenn wir mehr Leute fĂŒr Infrastruktur finden können wir auch gerne öfter machen. Ist aber ehr persönliche PrĂ€ferenz, ĂŒblich ist ein Test einmal im Jahr.

Da ich Sie aktuelle bezahle und betreibe, ich. Wenn der Verein das ĂŒbernimmt sollte der Vorstand entscheiden wer Zugang bekommt, zumindest sollte dieser jemand sich das zutrauen.

Betrachte deinen Wunsch als erledigt. :wink:

Debian 9, mein Favorit bei den Linux Systemen

Ja, wir mĂŒssen aber noch einrichten das Mails verschickt werden.

Eher nicht, die config des discourse liegt zum großen Teil in der Datenbank und liegt daher im Backup. Versionierung ist daher an dieser Stelle nicht ohne Aufwand möglich.

Siehe oben, das wird denke ich nicht gehen. WĂ€re auch aus meiner Sicht nicht so sehr sinnvoll ohne ein Testsystem. (keine CI ohne Trennung von Test und Prod)

Gibt diverse ansible Playbooks, die mehr oder weniger gut gepflegt sind. Das bedeutet wir mĂŒssten das ansible playbook wohl auch pflegen, ich weiß halt nicht ob das einen gute Nutzung unserer Ressourcen ist. Das Setup sowie updates des Systems sind recht simple und schon recht gut automatisiert. Solange wir nicht ein grĂ¶ĂŸeres Setup planen oder den Einsatz einer Testumgebung, denke ich nicht das uns Automatisierung etwas bringt sondern nur die KomplexitĂ€t erhöht und damit sich auch nur wenige damit beschĂ€ftigen können.

# apt update && apt upgrade && apt install git
# wget -qO- https://get.docker.com/ | sh
# mkdir /var/discourse
# git clone https://github.com/discourse/discourse_docker.git /var/discourse
# cd /var/discourse
# ./discourse-setup
# ./launcher enter app
# discourse enable_restore
# discourse restore <filename.of.the.backup.tar.gz>
# discourse disable_restore

Das wĂ€re im groben was nötig wĂ€re, natĂŒrlich braucht man noch das Backupfile das man sich von unserem externen storage geholt und auf den neuen Server kopiert hat.

Ich hoffe ich konnte die meisten Fragen gut beantworten :slight_smile:

Ich habe aber selber noch ein, zwei Fragen.

  • Wer ist fĂŒr das System schlussendlich verantwortlich?
  • Wie lange darf eine Wiederherstellung dauern? Ich meine wir sind ja freiwillige, daher kann das Forum dann halt schon mal am Wochenende dann down sein. Oder wenn wir beide nun die Verantwortlichen sind und beide im Urlaub, darf es dann lĂ€nger down sein?
  • Wieviel Geld will der Verein dafĂŒr aufwenden? Viele VorschlĂ€ge oder Ideen richten sich ja auch wieviel Geld zur VerfĂŒgung steht.
  • Wie groß soll das werden? Ist ein Testsystem erwĂŒnscht?