概要
AVX 命令非対応の PC に GROWI をインストールする方法です。
非公式の MongoDB ビルドを使っており、動作は無保証です。
技術的な説明
数年前から Pentium Silver N5000 搭載の PC で GROWI を動かしていましたが、最近のバージョンが動かなくなってしまいました。 GROWI が使っている MongoDB が AVX 命令を必要としているためです。
Intel Core 第2世代 (Sandy Bridge) 以降の CPU では AVX 命令を搭載していますが、 Atom の系譜の CPU は数年前に発売のモデルでも AVX 非搭載のようです。 N5000 は AVX 無しでした。
解決方法は、 AVX 命令を使わないように MongoDB を再ビルドすることです。すでに先人が Docker イメージ を公開しているので流用します。
インストール方法
GROWI Docs を読みながら、 docker-compose で GROWI をインストールしていきます。
docker-compose.yml は以下のように変更します。
docker-compose.yml
@@ -32,13 +32,13 @@ services:
- growi_data:/data
mongo:
- image: mongo:6.0
+ image: l33tlamer/mongodb-without-avx:6.2.1
restart: unless-stopped
volumes:
- mongo_configdb:/data/configdb
- mongo_db:/data/db
healthcheck:
- test: ["CMD", "mongosh", "--eval", "db.runCommand('ping').ok", "--quiet"]
+ test: mongo --norc --quiet --host=localhost --eval "db.runCommand('ping')" || exit 1
interval: 10s
timeout: 5s
retries: 6