Ich versuche seit ein paar Monaten, Discourse auf einem Raspberry Pi 4 zum Laufen zu bringen, hatte aber keinen Erfolg.
Es schien, als ob das Docker-Image vielleicht veraltet war, also habe ich zwei andere Docker-Images deinstalliert und neu installiert und hatte immer noch keinen Erfolg.
Ja, installieren Sie eine arm64-Distribution auf Ihrem Pi.
Es dauerte ein paar Jahre, bis die Raspberry Pi Foundation die richtige Softwarearchitektur veröffentlichte, da sie noch für 32-Bit-Hardware entwickelten. Bitte ändern Sie Ihr Image auf die aktuelle arm64-Version. Die gute Nachricht ist, dass Sie damit den gesamten 8 GB RAM nutzen können, falls dies bei Ihrem Gerät der Fall ist.
Hmm, das ist also ein 64-Bit-Kernel (aarch64), und trotzdem gab es eine Docker-Meldung, die sich über armv8 beschwerte. Ich kenne dieses Gebiet nicht und auch nicht die ganze Geschichte, wie Sie hierher gekommen sind… Ein üblicher Rat ist, ein sicheres Backup zu erstellen und es in einem frischen Betriebssystem und einer frischen Discourse-Installation wiederherzustellen.
Ich hoffe, es ist nicht der Fall, dass eine erfolgreiche Installation unweigerlich Probleme bereitet, wenn es an der Zeit ist, ein Upgrade durchzuführen.
lol, das habe ich schon oft gemacht und bin bereit, es wieder zu tun.
Derzeit verwende ich einen Raspberry Pi 400 Rev 1.0 mit Bullseye 64 lite.
Ich habe Bullseye 64, 64 lite, 32 lite; und Bookworm 64 ausprobiert. Wenn ich mich richtig erinnere, erhalte ich in jedem Fall denselben Fehler, den ich gepostet habe.
Nachdem ich mich ein wenig damit beschäftigt hatte, schlug ein Freund vor, auf Bullseye 64 lite zurückzusetzen, und das sollte das Problem beheben. Aber das hat es nicht getan.
Nebenbemerkung: Wenn ich den Docker sudo docker run hello-world ausführe, wird die erwartete Meldung “Docker is working” ausgegeben.
Ich bekomme es auf einem Raspberry Pi 4 mit 8 GB RAM und einer SSD, die über USB als einziges Laufwerk angeschlossen ist, nicht zum Laufen. Es hängt immer an Folgendem (oder zumindest werde ich nach einer Stunde Wartezeit ungeduldig…)\n\n\nI, [2024-02-06T00:58:51.743994 #1] INFO -- : \u003e cd /var/www/discourse \u0026\u0026 su discourse -c 'yarn install --frozen-lockfile \u0026\u0026 yarn cache clean'\nwarning \"@discourse/lint-configs \u003e eslint-plugin-ember \u003e ember-eslint-parser@0.2.5\" has unmet peer dependency \"@typescript-eslint/parser@^6.15.0\".\nwarning \"@discourse/lint-configs \u003e eslint-plugin-ember \u003e ember-eslint-parser@0.2.5\" has incorrect peer dependency \"typescript@^5.3.3\".\nwarning \" \u003e @glint/environment-ember-loose@1.3.0\" has unmet peer dependency \"@glimmer/component@^1.1.2\".\n2024-02-06 01:15:58.966 UTC [64] WARNING: worker took too long to start; canceled\n2024-02-06 01:16:19.640 UTC [480] WARNING: autovacuum worker started without a worker entry\n2024-02-06 01:21:46.504 UTC [64] WARNING: worker took too long to start; canceled\n2024-02-06 01:22:18.863 UTC [481] WARNING: autovacuum worker started without a worker entry\n\n\nEs scheint, als würde es noch etwas tun:\n\n\nTasks: 60 total, 7 running, 53 sleeping, 0 stopped, 0 zombie\n%Cpu(s): 20.8 us, 60.5 sy, 0.0 ni, 0.0 id, 0.0 wa, 0.0 hi, 18.8 si, 0.0 st \nMiB Mem : 7807.7 total, 6783.7 free, 954.0 used, 70.0 buff/cache \nMiB Swap: 0.0 total, 0.0 free, 0.0 used. 6853.8 avail Mem \n\n PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND \n 3422 root 20 0 1928888 33180 2512 S 40.6 0.4 28:18.52 dockerd \n 9922 root 20 0 1105300 9984 2944 S 30.2 0.1 1:02.72 docker \n 3362 root 20 0 1934276 19060 1408 S 20.8 0.2 20:24.57 containerd \n 9416 ubuntu 20 0 1148560 298160 0 R 12.0 3.7 10:03.66 node \n 9158 dnsmasq 20 0 54992 2432 128 R 11.7 0.0 5:01.56 redis-server \n 8997 root 20 0 1238120 5704 256 S 10.7 0.1 9:06.51 containerd-shim \n 9504 ubuntu 20 0 569128 51532 0 R 8.8 0.6 5:20.97 node \n 9930 pollina+ 20 0 353212 5692 3328 R 6.8 0.1 0:06.97 postmaster \n 9931 pollina+ 20 0 352820 4156 2048 R 5.2 0.1 0:02.70 postmaster \n 9098 pollina+ 20 0 352844 3004 1024 R 2.3 0.0 0:15.75 postmaster \n 219 root 20 0 1259732 36000 20352 S 1.0 0.5 1:10.50 cloudflared \n 9658 root 20 0 9116 4864 2816 R 0.6 0.1 0:18.19 top \n\n\nEs wäre schön, wenn die Kompilierung eine Fortschrittsanzeige enthalten würde.\n\nWas ist der beste Weg, um:\n- herauszufinden, was es tut?\n- es sicher herunterzufahren, um es erneut zu versuchen? Ich habe zuvor sudo shutdown --reboot 0 versucht, aber das hat die Postgres-Datenbank zerstört und ich musste die Maschine neu aufsetzen.
Du kannst die Nachrichten, die du erhältst, im Forum und im Internet durchsuchen. Versuche auch, dies in einen neuen Beitrag zu verschieben, anstatt als Antwort auf die Ankündigung.
Dieser Schritt ist kein Kompilierungsschritt, sondern nur das Herunterladen von JS-Dateien. Es handelt sich um eine absurde Menge kleiner Dateien, daher würde ich vermuten, dass es sich um einen pathologisch schlechten Fall für die ungewöhnliche Speicherlösung handelt, die Sie verwenden?
Okay, ich lasse es dann ein paar Tage laufen. Ansonsten brauche ich wohl statt eines RPi4 mit SSD einen RPi5 mit SSD.
UPDATE:
Stunden später und nach weiterer Lektüre habe ich beschlossen, den LXD-Container von einem btrfs-Speicherpool auf einen zfs-Speicherpool umzustellen. Danach konnte er in etwa 5 Minuten weiterarbeiten (während er mit btrfs etwa eine Stunde lang hing, bevor die Worker ausfielen).
Er baut immer noch, aber sobald er fertig ist und ich das Backup erfolgreich importieren und Cloudflare SSL einrichten konnte, werde ich meine Migration von Discourse Docker, das in Scaleway läuft, zu Discourse Docker, das in einem LXD-Container auf einem Raspberry Pi 4 + SSD läuft, veröffentlichen.