Published
- 5 min read
Raspberry Pi 3 Model B で GROWI を立ち上げる

環境
- Raspberry Pi 3 Model B
- Raspberry Pi OS 64bit
はじめに
ここで起動できるGROWIのバージョンは4.0.7です
GROWIはMarkdownによるwikiページ作成が可能なOSSです。
ふとラズパイ使ったらお家wiki環境できるのかなと思い、最新の公式:growi-docker-compose で試してみましたが失敗してしまいました。
Dockerは全て起動しているように見えたけどその後ラズパイがフリーズ…何度やっても同じ。 起動時の調整はDockerfileの「—link」の記述を削除した程度。(起動中にその記載は古いと怒られた)
下記の記事を試したところ起動して表示を確認することができました。 途中ディレクトリ作成しないとあとでvolume削除しないといけなかったので、メモとして追記しています。
👉参考記事:ラズパイ上にDockerコンテナを使ってGrowiを簡単に構築する
起動〜画面表示まで
Docker,docker-composeのインストールは行なっている前提
👉Raspberry Pi 3 Model B でDocker環境にWordpressを立ち上げる
Raspberry Pi用に調整されたリポジトリを取得
git clone https://github.com/temple1026/growi-docker-compose-pi.git growi
growi配下に必要なディレクトリ作成
※ここを行わなかったため、あとあとvolume削除することに🫠
cd growi
sudo mkdir -p ./data/growi_data
sudo mkdir -p ./data/mongo_configdb
sudo mkdir -p ./data/mongo_db
sudo mkdir -p ./data/es_data
docler-compose.yml修正
⭐️の箇所を自分の環境に合わせる ここでは一つ前でディレクトリ作成したところにマウントするように変更した
version: '3'
services:
growi:
build:
context: .
dockerfile: ./Dockerfile
image: growi-pi:4.0.7 # Please change if you need
container_name: growi
ports:
- 2828:3000 # ⭐️localhost only by default
# - 3000:3000 # my setting
links:
- mongo:mongo
- elasticsearch:elasticsearch
depends_on:
- mongo
- elasticsearch
environment:
- MONGO_URI=mongodb://mongo:27017/growi
- ELASTICSEARCH_URI=http://elasticsearch:9200/growi
# - PASSWORD_SEED=password
# - FILE_UPLOAD=mongodb # activate this line if you use MongoDB GridFS rather than AWS
# - FILE_UPLOAD=local # activate this line if you use local storage of server rather than AWS
# - MATHJAX=1 # activate this line if you want to use MathJax
# - PLANTUML_URI=http:// # activate this line and specify if you use your own PlantUML server rather than public plantuml.com
# - HACKMD_URI=http:// # activate this line and specify HackMD server URI which can be accessed from GROWI client browsers
# - HACKMD_URI_FOR_SERVER=http://hackmd:3000 # activate this line and specify HackMD server URI which can be accessed from this server container
# - FORCE_WIKI_MODE='public' # activate this line to force wiki public mode
# - FORCE_WIKI_MODE='private' # activate this line to force wiki private mode
command: 'dockerize
-wait tcp://mongo:27017
-wait tcp://elasticsearch:9200
-timeout 120s
npm run server:prod' # Changed 60s to 120s.
# command: npm run server:prod
restart: unless-stopped
volumes:
- growi_data:/data
tty: true
mongo:
image: arm64v8/mongo:3.6
container_name: mongo
restart: unless-stopped
volumes:
- mongo_configdb:/data/configdb
- mongo_db:/data/db
elasticsearch:
# image: webhippie/elasticsearch:6.4
build:
context: ./elasticsearch
dockerfile: ./Dockerfile
image: elasticsearch:6.6.1
container_name: es
command: sh bin/elasticsearch
environment:
- bootstrap.memory_lock=true
- 'ES_JAVA_OPTS=-Xms256m -Xmx256m' # increase amount if you have enough memory
ulimits:
memlock:
soft: -1
hard: -1
restart: unless-stopped
ports:
- 9200:9200
- 9300:9300
volumes:
- es_data:/usr/share/elasticsearch/data
- ./elasticsearch/config:/usr/share/elasticsearch/config
tty: true
volumes:
growi_data:
driver_opts:
type: none
device: /home/ユーザ名/growi/data/growi_data # ⭐️ Please change if you need.
o: bind
mongo_configdb:
driver_opts:
type: none
device: /home/ユーザ名/growi/data/mongo_configdb # ⭐️
o: bind
mongo_db:
driver_opts:
type: none
device: /home/ユーザ名/growi/data/mongo_db # ⭐️
o: bind
es_data:
driver_opts:
type: none
device: /home/ユーザ名/growi/data/es_data # ⭐️
o: bind
起動
すべてのコンテナが起動するまで30分ほど待つ
sudo docker-compose up -d --build
表示確認
※コンテナ起動後5~8分ほど待つ
ラズパイIP:2828
おわりに
ページ操作自体は遅く感じることもなく動きました。 Dockerの設定できる人たちほんと尊敬です。
起動できたGROWIのバージョンは4.0.7と古めだったので、起動後にアップデートできないのかなと調べてみたらGROWIってバージョンが違うとデータ移行が難しかったり結構気を使わないといけないようで、普段使いするかどうかは悩みどころ…🫠