Verwirrung bei Self-Hosting legt sich

(Mein Niveau: Habe ein paar halbwegs komplexe Websites auf Wix gebaut, Programmieranfänger)

Eine große Verwirrung, die ich hatte und die jetzt etwas klarer ist, ist, dass das Self-Hosting von Discourse sich sehr von „Webhosting“ unterscheidet.

1) Self-Hosting von Discourse erfordert einen Server, was etwas ganz anderes bedeutet, oder? (daher der große Preisunterschied zu den üblich beworbenen Webhosting-Preisen, richtig?)

2) Ist „VPS-Hosting“ also der äquivalente Begriff im Zusammenhang mit dem Self-Hosting von Discourse? Oder gibt es dafür auch andere Optionen? Eine andere Art von Self-Hosting? (Ich bin mir zwar bewusst, dass man es auf eigener Hardware hosten kann.)

3.1) Was ist dann „Managed Hosting“? Ist das ein Service, der auf diesem VPS-Hosting aufbaut?
3.2) Ist das viel teurer?
3.3) Was macht es genau?
3.4) Als Anfänger mit wenig Budget, der ein kleines Forum startet (~100 Benutzer/Monat), kann man auf Managed Hosting verzichten, oder?

Nach stundenlangem Online-Lesen über das Hosting von Discourse war der Beitrag, aus dem das folgende Zitat stammt, eine der hilfreichsten und vollständigsten Übersichten, um meinen Hosting-Weg zu wählen.

Bezüglich dieses zitierten Punkts, kann mir jemand bitte folgendes erklären:

4.1) Ich nehme an, dass es hier um die Wartung des Servers geht. Ist das nicht bereits enthalten, wenn man über DO/Hetzner geht? Oder ist das nur in einem separaten Service enthalten? Wie heißt das?
Wenn ich also DOs „1-Click-Droplet“-Ding mache, ist das die Art von Service, der diese Wartung einschließt? Oder bezieht sich das nur auf die Einrichtung?

4.2) Wie viel Zeit und welches Wissensniveau erfordert das „Warten“ für ein Forum meiner Art?

4.3) @tophee sagte: „Aus verschiedenen Gründen werden Managed Server von Administratoren von Discourse-Foren selten genutzt.“ Warum ist das so?

Ich fand diese Entscheidungsbaumgrafik auch ziemlich hilfreich. Vielleicht ist sie veraltet, also sagt mir bitte Bescheid, wenn einige Schritte jetzt einfacher sind.

5.1) Ich verstehe nicht ganz, was SSH ist, und laut dieser Grafik benötigen alle Self-Hoster das, oder?
5.2) Was meinen sie damit, dass man damit klar kommt, DO, MailGun und DNS zu verwalten? Wie viel Zeit und welches Wissensniveau erfordert das Verwalten dieser Dinge für ein Forum meiner Art?

Ich werde versuchen, deine Fragen zu beantworten, obwohl ich denke, dass du einige überlappende Begriffe verwendest, was zu einiger Verwirrung führt.

Wenn Leute in diesem Forum von „Self-Hosting“ von Discourse sprechen, meinen sie, dass sie eine Instanz von Discourse auf ihrem eigenen Server betreiben. (Dazu gleich mehr.) Wenn sie von „Managed Hosting“ sprechen, meinen sie einen Dienst, der eine Instanz von Discourse auf Hardware bereitstellt, die vom Anbieter zur Verfügung gestellt wird. Mit „Managed Hosting“ ist gemeint, dass die Discourse-Instanz vom Dienst verwaltet wird; sie kümmern sich darum, dass die Discourse-Instanz und das Betriebssystem, auf dem Discourse läuft, aktuell und ordnungsgemäß funktionieren.

Um Discourse „self-hosted“ zu betreiben, benötigst du einen Server mit Internetzugang und einen korrekt konfigurierten DNS-Dienst, der auf deinen Server verweist. Der Server kann echte Hardware sein, die sich in deinen Räumlichkeiten befindet, oder ein „VPS“. VPS steht für Virtual Private Server. Ein VPS ist Server-Hardware, die dir zur Verfügung gestellt wird und über die du vollständige Kontrolle hast, als ob sie vor Ort wäre, aber du greifst „remote“ darauf zu. Mit „remote-Zugriff“ meine ich, dass du Tools wie SSH und FTP verwendest, um auf den Server zuzugreifen, ihn zu steuern und Dateien darauf zu übertragen.

SSH steht für „Secure Shell“. Eine Secure Shell ist im Grunde ein Befehlszeilen-Fenster, das über einen sicheren (verschlüsselten) Tunnel läuft. Bist du damit vertraut, einen Server über die Befehlszeile zu betreiben?

Shell, Terminal, Command Line und Command Prompt bedeuten im Wesentlichen dasselbe. Es geht darum, einen Computer über ein Terminal-Fenster zu steuern und Befehle am Prompt einzugeben. Wenn alles, was ich gerade gesagt habe, wie eine fremde Sprache klingt, wirst du wahrscheinlich etwas lernen müssen, bevor du es versuchst.

Wenn du einen VPS mietest, erhältst du Zugangsdaten und die IP-Adresse deines neuen Servers. In der Regel kannst du bei der Kaufentscheidung das Betriebssystem auswählen. Du meldest dich bei deinem Server über ein Terminal-Programm wie PuTTY oder einfach über das Terminal-Fenster auf deinem Computer an. Du kannst ein FTP-Programm (File Transfer Protocol) wie FileZilla verwenden, um Dateien von deinem Computer auf den VPS zu übertragen.

Sobald du einen VPS gemietet und dich per SSH angemeldet hast, kannst du eine Discourse-Instanz auf deinem Server installieren, und dann betreibst du Discourse „self-hosted“. Du hast die volle Kontrolle über deine Discourse-Instanz und den Server, auf dem sie läuft. Du kannst Discourse in der Regel mit den integrierten Verwaltungstools innerhalb von Discourse selbst auf dem neuesten Stand halten, musst aber gelegentlich die Befehlszeile verwenden, um manuell Updates durchzuführen. Du musst auch Backups deiner Daten erstellen und wissen, wie man sie wiederherstellt. Discourse erstellt automatisch Backups, aber du musst sie herunterladen und sicher speichern, falls du sie benötigst.

Bei einem VPS musst du auch das Betriebssystem warten, auf dem deine Discourse-Instanz läuft. Dafür brauchst du gewisse Kenntnisse des Betriebssystems und wie man es aktuell und funktionsfähig hält. Wenn du beim VPS etwas falsch machst, kann der Hosting-Dienst in der Regel nur das Betriebssystem löschen und eine frische Version installieren. Du musst auch wichtige Daten sichern, falls du das Betriebssystem neu installieren musst.

Sobald alles eingerichtet und läuft, ist die Wartung recht einfach, wenn du weißt, was du tust. Basierend auf deiner Beschreibung deiner Fähigkeiten denke ich, dass du das schaffen könntest. Der beste Weg, all das zu lernen, ist es einfach zu versuchen. Das Mieten eines VPS ist heutzutage recht günstig. Richte einen Server ein, versuche, Discourse darauf zum Laufen zu bringen, und komme hierher oder auf ask.discourse.org, wenn du Fragen hast.

Behalte im Hinterkopf, dass, wenn das Forum, das du betreibst, nicht viel Traffic hat – was es am Anfang allein sicher nicht haben wird – du im Fehlerfall einfach von vorne beginnen kannst. Wenn viele Leute deinem Forum beitreten und Beiträge schreiben, musst du es warten und sichern. Wenn du ein bestehendes Forum hast oder ein Produkt bewerben oder unterstützen möchtest, könnte sich ein Hosting-Anbieter lohnen. Wenn du nur rumspielen und lernen möchtest … dann los!

Discourse-Hosting ≠ Selbsthosting

Ich bin ein erfahrener Selbsthoster und habe einige komplexe Konfigurationen durchgeführt; außerdem habe ich früher für Discourse gearbeitet, daher habe ich einige Einblicke in die beiden Konzepte, die du anscheinend etwas vermischt hast. Ich werde versuchen, einige Dinge für dich zu klären, aber dies ist bei weitem keine erschöpfende Erklärung, auch wenn sie etwas ausschweifend ist lol. Ich weiß nicht, woher du dieses Flussdiagramm hast, aber es ist nicht wirklich korrekt.

Discourse-Hosting ist, was es sagt – Discourse hostet deine Website gegen eine Gebühr, und wie du bereits entdeckt hast, gibt es verschiedene Preiskategorien, beginnend mit kostenlos, die mehr Optionen bieten, je weiter man aufsteigt, und Enterprise ist die oberste und teuerste (es gibt dir die meisten Optionen sowie ihre erstklassigen Supportdienste). Managed Hosting ist dasselbe (Discourse-Hosting ist eine Form von Managed Hosting), wird aber auch von anderen Partnerunternehmen wie Communiteq oder Literate Computing angeboten. Diese Partnerunternehmen bieten auch verschiedene Entwicklungs- und Supportdienste gegen eine Gebühr neben dem Hosting an (wie ich auch). Bedenke, dass Arbeit für Entwicklung und spezialisierten Support normalerweise nicht kostenlos ist, und dafür gibt es den Marketplace. Außerdem mag die Preisstruktur von Discourse-Hosting für dich teuer erscheinen, aber ich kann dir versichern, dass viele bekannte Unternehmen Top-Geld für ihre sehr großen, beschäftigten und gut geführten Enterprise-Foren zahlen, viele davon privat. Die SLAs und Support-/Entwicklungsdienstleistungen, die Discourse ihnen bietet, sind so, weil ihre Geschäftstätigkeit es erfordert. Wenn du ein Technologieunternehmen bist und von einem DDoS-Angriff getroffen wirst, der dein Unternehmen sechsstellig in Ausfallkosten kostet, dann ist das Bezahlen von Enterprise-Hosting gut investiertes Geld.

Selbsthosting bedeutet, was es sagt – du hostest deine eigene Website auf einem gemieteten Server (oder einem physischen, den du besitzt, was ich nicht empfehle, da das ein weiterer fortgeschrittener Dorn im Auge ist). Selbsthosting ist nicht nur das Mieten eines Servers (oder VPS – virtueller privater Server) und das Einloggen per SSH und schon bist du fertig. Es gibt einige Kenntnisse, die man haben muss, um ein Admin für eine selbstgehostete Instanz zu sein. Ein Anfänger-Programmierer, der ein paar Wix-Websites erstellt hat, wird dir aus der Sicht eines selbstgehosteten Discourse nicht viel helfen; ganz andere Dinge und Skill-Level. Die Tatsache, dass du noch nicht weißt, was SSH ist, ist wahrscheinlich ein Indikator dafür, dass du in diesem Bereich noch wachsen musst. Secure Shell - Wikipedia

Wenn du daran interessiert bist, zu lernen, würde ich vorschlagen, dass du mit dem Lesen der Standardinstallationsdokumentation beginnst und dort die Fäden aufnimmst. Einige finden es einfacher als andere, und die Tatsache, dass du einige Website-Admin-Erfahrung hast, kann dir helfen, schneller zu lernen. Nur in der Lage zu sein, per SSH in einen Server einzuloggen, ist eine Sache, aber du musst dich in einer Kommandozeilenschnittstelle wohlfühlen und die Grundlagen der Docker-Administration und wie Container funktionieren, verstehen. Da du sagst, du hast eine kleine Site, wird eine Standardinstallation wahrscheinlich gut funktionieren, um damit zu beginnen, und sie wird dir vollen Zugang zu allen eingebauten Plugins geben, plus allen anderen, die du hinzufügen möchtest; im Wesentlichen ist eine selbstgehostete Discourse-Instanz wie ein eigenes Enterprise-Level-Discourse-Forum, aber ohne deren Experten-Support und Uptime-SLAs und Performance (zum Beispiel wirst du jedes Mal, wenn du neu baust oder Updates durchführst, einige Ausfallzeiten haben, aber Discourse-Hosting macht das für dich und ohne spürbare Ausfallzeiten).

Es gibt keinen Grund, warum du nicht lernen könntest, wie man selbst hostet, aber denk daran, dass nichts kostenlos ist und welcher Service und Maßstab du willst, wird bestimmen, welche Kosten du zahlen musst. Einige VPS-Dienste sind günstiger als andere, und es gibt eine Liste hier, die @pfaffman zusammengestellt hat, die dir helfen kann, zu entscheiden. Zum Beispiel habe ich 3 Discourse-Sites, alle auf Hetzner, aber mit unterschiedlich großen Servern und damit verbundenen Kosten: 2 Sites sind dual-container installs hinter Cloudflare CDN mit R2 (S3-kompatiblen) Object Storage für Uploads und Backups, und die andere ist eine Standardinstallation, die für Testzwecke verwendet wird. Ich habe früher DigitalOcean verwendet, aber es kann relativ teuer sein; jedoch ist es der empfohlene Startpunkt für diejenigen, die Standardinstallationen lernen (obwohl ich Hetzner nicht so sehr anders finde und ihr Dashboard bevorzuge).

Wenn du Discourse oder eines ihrer Partner-Hosting-Unternehmen nicht bezahlen willst, um dein Hosting zu verwalten, und du mehr als die kostenlose Ebene brauchst, dann ist meine Empfehlung, einige Recherchen und Lesen zu machen, und dann eine Selbstinstallation zu versuchen. Lerne, was eine app.yml-Datei ist und wie man sie bearbeitet, wie man seinen Nameserver und E-Mail-Dienste einrichtet – das ist der Ausgangspunkt, um zu lernen, wie man seine eigene Discourse-Instanz als Selbsthoster konfiguriert. Einige VPS-Dienste lassen dich Server für kurze Zeiträume sehr günstig mieten, nur zum Testen oder Lernen.

Das ist ein solider Überblick, und ich stimme allem zu, was die Leute vor mir bereits gesagt haben (auch wenn ich Anfängern dringend davon abraten würde, LLMs für Supportfragen zu nutzen, da diese sehr oft glatt falsch liegen). Allerdings ist „Self-Hosting“ ein sehr weiter Oberbegriff, der hier etwas genauer eingegrenzt werden sollte.

Wenn du:

  • dich mit dem Betrieb von Linux auf eigener Hardware auskennst (oder bereit bist, 15 Jahre alte Reddit-Posts zu lesen)
  • kein Geld für Big Tech ausgeben möchtest
  • über eine stabile, garantierte 24/7-Internet- und Stromversorgung verfügst
  • keine Einschränkungen durch deinen Internetanbieter hast (wie gesperrte Ports 80/443 oder dynamische IPv4-Adressen)
  • grundlegende Netzwerkkenntnisse besitzt (Port-Forwarding)
  • einen zusätzlichen Computer zur Verfügung hast (realistisch gesehen reicht auch ein alter Büro-PC mit 4 GB DDR3, solange eine SSD verbaut ist)

… dann würde ich definitiv empfehlen, auf eigener Hardware zu hosten. Das hat hier oft einen schlechten Ruf, wobei mir die Gründe dafür (Vielleicht Variabilität?) nicht ganz klar sind. Aber solange du dazu in der Lage bist, würde ich dir auf jeden Fall empfehlen, es zu versuchen! Self-Hosting war schon immer meine Art, Dinge zu erledigen, und es war großartig, als ich jünger war und mir Cloud-Dienste nicht leisten konnte. Auch heute noch wähle ich bewusst Self-Hosting auf lokalen Servern, weil es günstig und vorhersehbar ist und du die Freiheit hast, Dinge so zu gestalten, wie du es möchtest.

Beim Self-Hosting gibt es viel zu lernen. Und selbst wenn du es schaffst, alles erfolgreich auf deiner eigenen Hardware oder einem VPS zu installieren, bleibt dir dennoch noch viel Arbeit. Du kannst all das natürlich überspringen und einen gehosteten Plan wählen, aber wenn du Geld sparen möchtest, ist Self-Hosting (insbesondere auf eigener Hardware) eine hervorragende Option.