ラズベリーパイ4でDiscourseを動作させようと数ヶ月試していますが、うまくいきません。
Dockerイメージが古いのではないかと思われたため、他の2つのDockerイメージをアンインストールして再インストールしましたが、やはりうまくいきませんでした。
何か提案はありますか?
ラズベリーパイ4でDiscourseを動作させようと数ヶ月試していますが、うまくいきません。
Dockerイメージが古いのではないかと思われたため、他の2つのDockerイメージをアンインストールして再インストールしましたが、やはりうまくいきませんでした。
何か提案はありますか?
はい、お使いのPiにarm64ディストリビューションをインストールしてください。
Raspberry Pi Foundationが正しいソフトウェアアーキテクチャをリリースするのに数年かかりました。これは、彼らがまだ32ビットハードウェア向けに開発していたためです。現在のarm64リリースにイメージを変更してください。良いニュースは、お使いのデバイスが8GBのRAMを搭載している場合、そのすべてを使用できるようになることです。
arm64はすでに実行されているようですが、機能していません。
実行している内容を確認してください。
cat /proc/cpuinfo
ふぅ、たくさんのデータで、正直、知らないことばかりでした。どの行が私が実行していることを指定していますか?
それが役に立つと思います。
uname -a
ここで役立つはずです。
ありがとうございます!
結果:
Linux raspberrypi 6.1.21-v8+ #1642 SMP PREEMPT Mon Apr 3 17:24:16 BST 2023 aarch64 GNU/Linux
うーん、それは64ビット(aarch64)カーネルですが、armv8に関するDockerのエラーメッセージが出ていましたね。この状況や、どのようにしてここにたどり着いたのか、詳しい経緯はわかりません… 一般的なアドバイスとしては、安全なバックアップを取り、OSとDiscourseをクリーンインストールして復元することです。
インストールが成功しても、アップグレード時に問題が発生する可能性があるということではないと良いのですが。
docker info の出力は何ですか?
特に Architecture: と書かれている行について教えてください。
CPUアーキテクチャ: 8
はい、何度もそうしてきましたし、またやる準備もできています。
現在、Raspberry Pi 400 Rev 1.0、Bullseye 64 lite で実行しています。
Bullseye 64、64 lite、32 lite、そして Bookworm 64 を試しました。記憶が正しければ、どのケースでも投稿したのと同じエラーが発生しました。
少し調べてみたところ、友人が Bullseye 64 lite にフラッシュし直せば問題が解決するはずだと提案してくれましたが、解決しませんでした。
余談ですが、Docker の sudo docker run hello-world を実行すると、「Docker is working」という期待通りのメッセージが表示されます。
それじゃないです
。出力全体を貼り付けてください。
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
Raspberry Pi 4 (RAM 8GB) と USB 接続の SSD を単一ドライブとして使用していますが、動作しません。以下のログで(または、1時間待っても進まないので根負けして…)ハングアップします。
I, [2024-02-06T00:58:51.743994 #1] INFO -- : cd /var/www/discourse && su discourse -c 'yarn install --frozen-lockfile && yarn cache clean'
warning \"@discourse/lint-configs > eslint-plugin-ember > ember-eslint-parser@0.2.5\" has unmet peer dependency \"@typescript-eslint/parser@^6.15.0\".
warning \"@discourse/lint-configs > eslint-plugin-ember > ember-eslint-parser@0.2.5\" has incorrect peer dependency \"typescript@^5.3.3\".
warning \" > @glint/environment-ember-loose@1.3.0\" has unmet peer dependency \"@glimmer/component@^1.1.2\".
2024-02-06 01:15:58.966 UTC [64] WARNING: worker took too long to start; canceled
2024-02-06 01:16:19.640 UTC [480] WARNING: autovacuum worker started without a worker entry
2024-02-06 01:21:46.504 UTC [64] WARNING: worker took too long to start; canceled
2024-02-06 01:22:18.863 UTC [481] WARNING: autovacuum worker started without a worker entry
まだ何か処理をしているようです。
Tasks: 60 total, 7 running, 53 sleeping, 0 stopped, 0 zombie
%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
MiB Mem : 7807.7 total, 6783.7 free, 954.0 used, 70.0 buff/cache
MiB Swap: 0.0 total, 0.0 free, 0.0 used. 6853.8 avail Mem
PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND
3422 root 20 0 1928888 33180 2512 S 40.6 0.4 28:18.52 dockerd
9922 root 20 0 1105300 9984 2944 S 30.2 0.1 1:02.72 docker
3362 root 20 0 1934276 19060 1408 S 20.8 0.2 20:24.57 containerd
9416 ubuntu 20 0 1148560 298160 0 R 12.0 3.7 10:03.66 node
9158 dnsmasq 20 0 54992 2432 128 R 11.7 0.0 5:01.56 redis-server
8997 root 20 0 1238120 5704 256 S 10.7 0.1 9:06.51 containerd-shim
9504 ubuntu 20 0 569128 51532 0 R 8.8 0.6 5:20.97 node
9930 pollina+ 20 0 353212 5692 3328 R 6.8 0.1 0:06.97 postmaster
9931 pollina+ 20 0 352820 4156 2048 R 5.2 0.1 0:02.70 postmaster
9098 pollina+ 20 0 352844 3004 1024 R 2.3 0.0 0:15.75 postmaster
219 root 20 0 1259732 36000 20352 S 1.0 0.5 1:10.50 cloudflared
9658 root 20 0 9116 4864 2816 R 0.6 0.1 0:18.19 top
コンパイル時に進捗バーが表示されると嬉しいです。
以下の方法について、最適な方法を教えてください。
sudo shutdown --reboot 0 を試しましたが、Postgres データベースが破損し、マシンを再構築する必要がありました。受信しているメッセージをフォーラムやインターネットで検索できます。また、アナウンスへの返信ではなく、新しい投稿に移動してみてください。
検索バーにそれを入力すると、結果が表示されます。フォーラムやインターネットに対して投稿したものと同じことを繰り返してください。多くの情報が得られるはずです。
https://meta.discourse.org/search?q=has%20unmet%20peer%20dependency
そのステップはコンパイルステップではなく、JSファイルをダウンロードしているだけです。非常に小さいファイルが大量にあるため、使用している特殊なストレージソリューションにとって、病的なほど悪いケースなのではないかと推測します。
数日間実行したままにしておきます。そうでなければ、SSD付きのrpi4ではなく、SSD付きのrpi5が必要になると思います。
更新:
数時間後、さらに読み進め、lxdコンテナがbtrfsストレージプールを使用するのをやめ、zfsストレージプールを使用するように変更することにしました。完了後、約5分でその時点を通過できるようになりました(btrfsでは、ワーカーが失敗し始める前に約1時間ハングしていました)。
まだビルド中ですが、完了してバックアップを正常にインポートし、Cloudflare SSLを整理できたら、Scaleway内で実行されているDiscourse Dockerから、Raspberry Pi 4 + SSD内のLXDコンテナ内で実行されているDiscourse Dockerへの移行を公開します。
更新2:
ベアメタルインスタンスを使用していたのはなぜですか?
@Falco パーティーにはかなり遅れて参加していますが、私も同じ問題を経験しています。
アーム64を実行しているPi 5でインストールガイドに従いました。これを修正する方法について何かアイデアはありますか?
どのOSを実行していますか?