GrowiをRaspberry Pi 4で普通に動かす

2023年1月11日 GrowiがRaspberry Piにも対応しました。公式のDockerコンテナーが”linux/arm64″対応としても公開されています!
これで、以下の「Growiをクローンしてビルドする」作業をしないでも、v6.0.2からは公式のDockerコンテナーをプルすれば大丈夫です!

昨年末は、GrowiをRaspberry Pi 4でビルドするとエラーが発生していたこともあり次のような記事を書いていました。

2022/12/22 GrowiをRaspberry Pi 4で無理やり動かす

Dockerとdocker-composeでのマルチプラットフォーム機能を見るためには、面白い内容だったかとは思います。

ここで、本年の1月5日に公開されているGrowiでは、マルチプラットフォーム機能を使わなくてもRaspberry Pi 4で「普通に」ビルドして動かすことができるようになっています。2023年1月7日にリリースページが更新されてv6.0.1が正式に公開されました。注1

そこで、「GrowiをRaspberry Pi 4で普通に動かす」方法を簡単に見ていきます。

注1: 2023年1月11日に、Growi v6.0.2が”linux/arm64″に対応したとのアナウンスがありました。現在では、docker pull weseek/growi:6.0.2を実行すれば入手することが出来ます。これで、growi-docker-composeのappのFROM行をweseek/growi:6.0.2に合わせればdocker compose build appするだけで動かせるようになります。

Growiをクローンしてビルドする

GitHubからGrowiをクローンします。

$ git clone https://github.com/weseek/growi.git

まずはビルドしますが、現在使用している環境としてはRaspberry Pi 4のメモリー8GBをSSDブートして4GBのswapを構成しています。また、Dockerはbuildxを有効化しています。

$ docker build -f packages/app/docker/Dockerfile -t growi:6.0.1 .

ビルドしたイメージは、v5よりもかなり大きくなっています。

$ docker images
REPOSITORY TAG IMAGE ID CREATED SIZE
growi 6.0.1 a2564e76dd0c 1 hours ago 2GB

growi-docker-composeをクローンする

GitHubからgrowi-docker-composeをクローンします。

$ git clone https://github.com/weseek/growi-docker-compose.git

DockerfileがGrowiのv5用でDockerizeがamd64対応となっていますから、Raspberry Pi用に修正します。

FROM growi:6.0.1

公式のDockerコンテナーを使う場合には、ARG version=6にすれば大丈夫になりました。

ARG version=6
FROM weseek/growi:$(version)

またDockerizeをダウンロードしている部分をRaspberry Pi用としてarmhfに修正します。

curl -sL https://github.com/jwilder/dockerize/releases/download/$DOCKERIZE_VERSION/dockerize-linux-armhf-$DOCKERIZE_VERSION.tar.gz

docker-compose.ymlファイルを修正する

これは、お好みになるかと思いますが。docker-compose.ymlファイルの待受ポート番号を修正して、環境変数のMATHJAX=1を有効化します。また環境に合わせてFILE_UPLOADの内容を設定しておきます。その他の環境変数などは、必要に応じて修正します。

GrowiとElasticSearchのDockerコンテナーをビルドする

GrowiとElasticSearchのDockerコンテナーをビルドします。

$ docker compose build

また、MongoDBもプルしておきます。

$ docker compose pull mongo

Growiを起動する

準備が出来ましたから、Growiを起動します。

$ docker compose up -d

Growiの初期化などでしばらく待ってからブラウザーでアクセスします。

簡単ですが、前回の「無理やり動かす」方式ではなく、Raspberry Pi 4用のDockerコンテナーをビルドして動かすことが出来ました。

この記事をシェアする
  • URLをコピーしました!
  • URLをコピーしました!
目次