GROWI は、Wiki 機能を主体とした優れた OSS です。
シンプルで拡張性が高く、Markdown ベースでチームのナレッジをまとめやすい点が魅力といえます。
しかし残念ながら、あらゆるユースケースに対応できているわけではありません。特にエンタープライズ環境 — インターネットアクセスにプロキシ制限がかかるネットワーク環境 — においては、機能が大きく制限されてしまいます。
GROWI の起動制限
GROWI のコンテナを起動する際には、以下のいずれかが必要になります。
- インターネット上の不特定 IP への直接アクセス
- もしくは環境変数 (HTTP_PROXY / HTTPS_PROXY) によるプロキシ設定
つまり、外部アクセスが一切禁止されたクローズド環境では、起動自体が困難になります。
GROWI プラグインの利用制限
さらに問題となるのが プラグイン機能 です。
- インターネットの不特定 IP への直接アクセスが必須
- かつ、環境変数にプロキシ設定がある場合は利用不可
加えて、プラグインは一時的にインストールできたとしても、その後の利用時にも外部接続を必要とする という設計になっています。
結果として、プロキシ必須環境ではプラグインは利用不能 です。
プロキシ制約下での実態
現実的には、以下のような状況になります。
- 環境変数でプロキシを設定すれば 起動自体は可能
- ただしプラグインは利用できないため、事実上「諦める」しかない
問題点の整理
- 起動そのものに外部アクセスが必要という設計が大きな問題
- プラグインがプロキシ環境で動かない というのも大きな制約
GROWI 自体が「インターネットに接続されていればよい」という前提で設計されており、エンタープライズ環境で一般的な「アウトバウンド接続制限」のユースケースが考慮されていない。
筆者は、「growi-plugin-copy-code-to-clipboard」という、プラグインを使用しており、これはよくあるコードブロックのコピーボタンですが、これがプラグインがないと使えないというものひどい。プラグインが利用できなくても、これくらい標準実装してもらいたいものです。
まとめ
GROWI は OSS として非常に優秀な Wiki ソフトウェアですが、プロキシ必須のエンタープライズ環境における利用は現実的に困難 です。
とりわけ企業ネットワークでは、外部通信はすべてプロキシ経由というのが一般的であり、この制約を無視すると導入ハードルは一気に上がります。
今後、プロキシ対応が改善されることで、より広く安心して利用できるようになることを期待しています。

