概要
今回、家の環境でGROWIを7.0.15から7.1にあげようという試みをしてたんですが、結構変更点が多くて思いのほか引っかかってしまったので、備忘録的な意味も込めて記しておきます。誰かの参考になれば幸いです。
環境
- Ubuntu22.04(wsl)
- GROWI 7.0.15→7.1へのアップデート
- docker compose
ハマった点1
今回のGROWIのアップデートでハマってしまったのは、おそらくyarnからpnpmに変わった部分が大きいのではないかなと思います。
GROWIのアップデート時にdocker compose build
を実行するタイミングがあるかと思いますが、これがうまくいきません。こちらの問題は中津川さんのQiitaを参照して解決しました。本当に感謝です。。
https://qiita.com/goofmint/items/69171d242b342d97650a#dockerfile%E3%81%AE%E4%BF%AE%E6%AD%A3
やることとしては、growiフォルダ内のDockerfile
の編集です。以下の部分でca-certificates
を追加します。
RUN apt-get update && apt-get install -y --no-install-recommends curl ca-certificates \
&& curl -sL https://github.com/jwilder/dockerize/releases/download/$DOCKERIZE_VERSION/dockerize-linux-amd64-$DOCKERIZE_VERSION.tar.gz \
| tar -xz -C /usr/local/bin
ハマった点2
これでとりあえずビルドもできて起動もできたのですが、私の環境ではGROWIを複数立てるように設定していたので、docker-compose-yml
ファイルを保管しておいてそれをgrowiフォルダに戻しました。すると今度は起動するけどアクセスできないみたいな状態になったので、また頭を抱えることに。。
そこでとりあえず以下のコマンドでちゃんとGROWIが動いているのかを確認してみました。
docker ps
すると、mopngoやesはちゃんと動いていましたが、GROWIの本体がずっとRestarningで止まっていて、ちゃんと動いていませんでした。docker-compose.yml
をもとの状態に戻したらやはりちゃんと動くので、docker-compose.yml
を並べて確認してみたところ、appのcommandに書いてある内容が違ってました。
古いほうのコマンドを消しちゃったので残っていないんですが、commandを以下のように書き換えることでうまくいきました。
# 変更後
app:
# ~中略~
command: ["npm run migrate && node -r dotenv-flow/config --expose_gc dist/server/app.js"]
これでdocker compose up -d
を実行すればちゃんと問題なく動きます。
あとがき
普段、インフラをあんまり触らないので、ymlが変わっている点などを考慮できなかったのが完全にアウトだったんですが、同じハマり方をする方が多そうな気がしたので、取り急ぎ残しておきます。
ce-certificates
のほうは絶対に自分じゃ気づけなかったと思うので、すぐに記事が上がっていて本当に助かりました。中津川さんの記事には今回の目玉であるAI機能に関してもいろいろ記載がありますので、そちらを参考に良きGROWIライフを。。
中津川さんの記事
https://qiita.com/goofmint/items/69171d242b342d97650a