Discourse auf einem Raspberry Pi hosten?

Meiner Meinung nach solltest du besser auf den kommenden Raspberry Pi 5 warten, der – wenn man den Fortschritt der Pi-Leistung von Modell 2 über 3 zu 4 fortschreibt – wahrscheinlich genug Power haben wird, um Discourse auszuführen.

Ich bin mir auch nicht sicher, ob die x86- (x64?) Abhängigkeiten derzeit überwindbar sind, aber es ist keine schlechte Idee, das langfristig zu prüfen.

1 „Gefällt mir“

Ein Cluster aus Pi 4 mit 64-Bit-Vierkern-Prozessor bei 1,5 GHz und möglicherweise USB3-Festplatten für den Speicher (~300 MB/s) oder einem externen Blob-Speicher (S3 oder GCP), sowie einem CDN vor diesen anonymen Nutzern, könnte eine mögliche Plattformalternative sein :slight_smile: Die Zukunft wird es zeigen!

1 „Gefällt mir“

Das ist für sich genommen keine wirklich aussagekräftige Zahl.

Du hast nicht angegeben, welche microSD-Karte es war, aber sie liegt in derselben Größenordnung wie eine Lexar Professional 1800x, die sequenzielle Lesezugriffsgeschwindigkeiten von etwa 300 MB/s und Schreibgeschwindigkeiten von knapp 250 MB/s aufrechterhalten kann. Bei microSD-Karten sind sequenzielle Lese- und Schreibvorgänge jedoch nicht das Problem. Um ein echtes Gefühl dafür zu bekommen, was bei mehreren Benutzern passiert, die auf die Datenbank und lokale Assets zugreifen, musst du die Zufallszugriffe (random reads/writes) betrachten.

Moderne SSDs liegen meist im Bereich von 500 MB/s+ bei sequenziellen Lesezugriffen und 475 MB/s+ bei sequenziellen Schreibzugriffen – das ist nicht allzu weit von den oben genannten Zahlen entfernt. Der Leistungsunterschied bei Zufallszugriffen ist jedoch enorm: Dieselbe SSD erreicht bei einem 4KiBQ8T8-Test bis zu 400 MB/s, während die Lexar auf niedrige zweistellige Werte fällt, bei etwa 15 MB/s. Bei Zufallsschreibvorgängen sieht es noch schlimmer aus: Die SSD hält weiterhin bis zu 300 MB/s aufrecht, während eine microSD-Karte tief in den einstelligen Bereich fällt (2 MB/s).

Ich bin ein großer Fan des rPi und verwende ihn an vielen Stellen, aber er ist noch weit davon entfernt, dort zu sein, wo wir ihn haben möchten.

1 „Gefällt mir“

Es ist eine Sandisk 64GB-Karte für 20 USD (in Schweden), meiner Erinnerung nach mit A2-Bewertung. Ich wollte nur zeigen, dass die reine sequenzielle Geschwindigkeit nicht so schlecht ist, wie du es klingen ließest :slight_smile:

Wenn sie nicht einmal mit einer externen SSD an den USB3-Ports am rPi funktioniert, würde ich annehmen, dass ein externer Datenbankbetrieb dieses spezifische Flaschenhalsproblem lösen würde. Ich bin jedoch voreingenommen, da ich die Idee mag, einen ARM-Cluster mit den jetzt echten 1-Gbit/s-Netzwerkkarten am Pi 4 zum Laufen zu bringen. Außerdem mag ich es, die „es funktioniert nicht“-Mentalität im Allgemeinen herauszufordern :wink:

1 „Gefällt mir“

Wenn man genug Zeit, Geld und Ressourcen in etwas steckt, kann man es zum Laufen bringen.

Anfragen, Discourse auf einem Raspberry Pi zu betreiben, stammen in den letzten Jahren typischerweise von Nutzern, die einen Pi besitzen und darüber hinaus nichts ausgeben möchten. Genau das untersuchen wir hier.

Sobald du externe SSDs anschließt und die Datenbank auf ein anderes System auslagerst, sprichst du gar nicht mehr wirklich davon, Discourse auf einem Raspberry Pi zu hosten. :wink:

1 „Gefällt mir“

Richtig. Ich stimme zu, dass man in der Regel immer noch bekommt, wofür man bezahlt :slightly_smiling_face:

Nimm ein Raspberry Pi 4 mit 4 GB oder 8 GB RAM :wink:. Besorge dir dann eine MicroSD-Karte (INDUSTRIELL) bei Amazon, eBay usw.

Schreibe das Image von Docker von der Website: https://blog.hypriot.com/ :smiling_face_with_three_hearts: :slightly_smiling_face: – genau in den Bereich: Download, neueste Version.

Sobald das Image auf die SD-Karte geschrieben ist, stecke sie in das Raspberry Pi und verbinde dich per SSH. Die Zugangsdaten für Docker-SSH lauten: Benutzername „pirate

2 „Gefällt mir“

Hallo Massym,

ich habe deine Anweisungen befolgt, Hypriot installiert usw., aber folgenden Fehler erhalten:

  $ ./launcher bootstrap app
  standard_init_linux.go:211: exec user process caused "exec format error"
  Deine Docker-Installation funktioniert nicht ordnungsgemäß.

  Siehe: https://meta.discourse.org/t/docker-error-on-bootstrap/13657/18?u=sam

Hast du eine Idee?

Vielen Dank.

1 „Gefällt mir“
2 „Gefällt mir“

Ich schätze deine schnelle Antwort sehr, Rafael.

Anscheinend habe ich mich geirrt, als ich daraus schloss, dass Massym Discourse erfolgreich auf einem Raspberry Pi 4 zum Laufen gebracht hat. Beim erneuten Lesen seines Beitrags stellt er das nicht ausdrücklich fest. Eine große Zeitverschwendung meinerseits, aber immerhin eine Lerneinheit.

Welche spezifische Komponente in Discourse wird nicht unterstützt? Ich und ich bin sicher, viele andere wären sehr daran interessiert, es zum Laufen zu bringen.

Vielen Dank.

1 „Gefällt mir“

Ich würde wetten, dass Discourse Images für x86_64 verwendet, und zwar Redis, Ruby und PostgreSQL.

1 „Gefällt mir“

Es ist unsere V8/MiniRacer-Bibliothek, die JavaScript auf dem Server ausführt.

Jetzt, wo Apple die M1-Prozessorfamilie eingeführt hat, bin ich sicher, dass wir das bald auf ARM zum Laufen bringen werden.

11 „Gefällt mir“

Ich freue mich darauf, das in Aktion zu sehen. Eines meiner Foren, das auf Discourse läuft, ist der letzte Punkt, der noch offen ist, während ich auf einen Raspberry Pi 4-Cluster umsteige, der unendlich weniger Strom verbraucht als der Intel-basierte Server.

2 „Gefällt mir“

Bump, gab es Fortschritte beim v8-Gem für ARM? Ich habe versucht, die Images zu kompilieren, bin aber immer bei diesem Gem steckengeblieben. Es ist etwas kompliziert, da die Skripte meist scheitern, weil sie versuchen, X86_64-Tools (für den Build) herunterzuladen und auf ARM auszuführen…

1 „Gefällt mir“

Siehe:

3 „Gefällt mir“

ARM auf Servern (und in Ruby) wird dank des fantastischen M1-Chips von Apple, der endlich in einem echten Laptop erschienen ist, sehr bald große Fortschritte machen.

Das Raspberry Pi selbst – selbst das deutlich verbesserte Modell 4 – ist jedoch als Server völlig unterdimensioniert. Laut diesem Beitrag und den Speedometer-2.0-Ergebnissen…

3B+ Buster, 32-Bit-Kernel
9,49/9,66/9,46 = 9,54 Chromium

4B4 Buster, 64-Bit-Kernel (32-Bit ergab gleiche Ergebnisse)
17,2/17,0/17,1 = 17,1 Chromium

OnePlus 7 Pro Smartphone (Snapdragon 855, 8 GB RAM, Android/Oxygen OS 10)
36,3/35,9/36,8 = 36,3 Chrome

HP Chromebook x2 (Dual-Core M3-7Y30)
68,2/68,6/68,0 = 68,3 Chrome OS 78

Legion Y520 Budget-Gaming-Laptop (i7-7700HQ Win10x64)
87,4/86,8/87,3 = 87,2 Chrome

Basierend auf diesen Zahlen vermute ich, dass ein theoretisches zukünftiges Raspberry Pi 5, wenn es ..

  • die Leistung des Pi 4 mindestens verdoppelt
  • eine Mini-M.2-SSD irgendeiner Art als Speicher verwendet und keine SD-Karte

.. vielleicht ein tauglicher Discourse-Server für ein Discourse-Forum mit sehr geringem Verkehrsaufkommen sein könnte?

3 „Gefällt mir“

Demnächst zu sehen: Ich habe bereits andere Rails-Anwendungen auf einem Raspberry Pi 4 ausgeführt und war mit der Leistung zufrieden, aber ich muss zugeben, dass diese viel einfacher waren als Discourse.

3 „Gefällt mir“

Dies wird jetzt unterstützt

7 „Gefällt mir“