Diskussion über einen Raspberry Pi | Blog

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.

Irgendwelche Vorschläge?

1 „Gefällt mir“

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.

1 „Gefällt mir“

Ich scheine bereits arm64 auszuführen und es funktioniert nicht.

1 „Gefällt mir“

Sie sollten bestätigen, was Sie ausführen.

cat /proc/cpuinfo

1 „Gefällt mir“

Puh, das waren viele Daten und ehrlich gesagt ist vieles unbekannt. Welche Zeile gibt an, was ich ausführe?

1 „Gefällt mir“

Ich glaube,
uname -a
sollte hier helfen.

2 „Gefällt mir“

Danke!
Ergebnisse:
Linux raspberrypi 6.1.21-v8+ #1642 SMP PREEMPT Mon Apr 3 17:24:16 BST 2023 aarch64 GNU/Linux

1 „Gefällt mir“

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.

1 „Gefällt mir“

Was ist die Ausgabe Ihres docker info?

Insbesondere die Zeile, die Architecture: angibt.

1 „Gefällt mir“

CPU-Architektur: 8

1 „Gefällt mir“

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.

1 „Gefällt mir“

Nicht diese :stuck_out_tongue: . Bitte füge die gesamte Ausgabe ein.

3 „Gefällt mir“

sudo docker info
Client: Docker Engine - Community
Version: 24.0.7
Context: default
Debug Mode: false
Plugins:
buildx: Docker Buildx (Docker Inc.)
Version: v0.11.2
Path: /usr/libexec/docker/cli-plugins/docker-buildx
compose: Docker Compose (Docker Inc.)
Version: v2.21.0
Path: /usr/libexec/docker/cli-plugins/docker-compose

Server:
Containers: 2
Running: 1
Paused: 0
Stopped: 1
Images: 4
Server Version: 24.0.7
Storage Driver: overlay2
Backing Filesystem: extfs
Supports d_type: true
Using metacopy: false
Native Overlay Diff: true
userxattr: false
Logging Driver: json-file
Cgroup Driver: systemd
Cgroup Version: 2
Plugins:
Volume: local
Network: bridge host ipvlan macvlan null overlay
Log: awslogs fluentd gcplogs gelf journald json-file local logentries splunk syslog
Swarm: inactive
Runtimes: io.containerd.runc.v2 runc
Default Runtime: runc
Init Binary: docker-init
containerd version: 3dd1e886e55dd695541fdcd67420c2888645a495
runc version: v1.1.10-0-g18a0cb0
init version: de40ad0
Security Options:
seccomp
Profile: builtin
cgroupns
Kernel Version: 6.1.21-v8+
Operating System: Debian GNU/Linux 11 (bullseye)
OSType: linux
Architecture: aarch64
CPUs: 4
Total Memory: 3.705GiB
Name: raspberrypi
ID: 183a2a7a-8acf-40eb-9386-c99d70ee8ed3
Docker Root Dir: /var/lib/docker
Debug Mode: false
Experimental: false
Insecure Registries:
127.0.0.0/8
Live Restore Enabled: false

WARNING: No memory limit support
WARNING: No swap limit support

1 „Gefällt mir“

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.

1 „Gefällt mir“

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.

Gib es in die Suche ein und du wirst Ergebnisse sehen. Wiederhole dies mit dem, was du gepostet hast, im Forum und im Internet; das sollte dir viele Informationen liefern.
https://meta.discourse.org/search?q=has%20unmet%20peer%20dependency

1 „Gefällt mir“

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?

7 „Gefällt mir“

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.

UPDATE 2:

4 „Gefällt mir“

Warum hast du eine Bare-Metal-Instanz verwendet?

1 „Gefällt mir“

@Falco ziemlich spät dran, aber ich habe dasselbe Problem.

Ich habe die Installationsanleitung auf einem Pi 5 mit arm64 befolgt. Irgendwelche Ideen, wie man das beheben kann?

1 „Gefällt mir“

Welches Betriebssystem verwenden Sie?